diff --git a/.gitignore b/.gitignore index 9d4e35e..6cfd49f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ /Host/bin/ /Host/obj/ -/Infrastructure/ /Services/Hncore.Pass.BaseInfo/bin/ /Services/Hncore.Pass.BaseInfo/obj/ /Services/Hncore.Pass.Manage/obj/ diff --git a/Infrastructure/Hncore.Infrastructure/AliYun/AliDayu.cs b/Infrastructure/Hncore.Infrastructure/AliYun/AliDayu.cs new file mode 100644 index 0000000..a0d582b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/AliYun/AliDayu.cs @@ -0,0 +1,71 @@ +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Serializer; + +namespace Hncore.Infrastructure.AliYun +{ + public class AliDayu + { + const string SignName = ""; + private IHttpClientFactory _httpClientFactory; + + public AliDayu(IHttpClientFactory httpClientFactory) + { + _httpClientFactory = httpClientFactory; + } + + public async Task SendSms(List PhoneNumbers, string templateCode, object content) + { + Dictionary paramDic = Util.BuildCommonParam(); + + paramDic.Add("Action", "SendSms"); + paramDic.Add("Version", "2017-05-25"); + paramDic.Add("RegionId", "cn-hangzhou"); + paramDic.Add("PhoneNumbers", ListHelper.ListToStr(PhoneNumbers)); + paramDic.Add("SignName", SignName); + paramDic.Add("TemplateCode", templateCode); + paramDic.Add("TemplateParam", content.ToJson()); + + string sign = Util.CreateSign(paramDic); + + paramDic.Add("Signature", sign); + + var httpClient = _httpClientFactory.CreateClient("AliDayu"); + + string url = "http://dysmsapi.aliyuncs.com"; + + foreach (var keyValuePair in paramDic) + { + url = UrlHelper.SetUrlParam(keyValuePair.Key, keyValuePair.Value); + } + + var res = await httpClient.GetStringAsync(url); + + SendSmsResponse result = XML.XmlDeserialize(res); + + if (result.Code == "OK") + { + return true; + } + + LogHelper.Error("阿里大于短信发送失败", res); + return false; + } + } + + [XmlRoot] + public class SendSmsResponse + { + [XmlElement] public string Message { get; set; } + + [XmlElement] public string RequestId { get; set; } + + [XmlElement] public string BizId { get; set; } + + [XmlElement] public string Code { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/AliYun/Util.cs b/Infrastructure/Hncore.Infrastructure/AliYun/Util.cs new file mode 100644 index 0000000..e4ce937 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/AliYun/Util.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Web; +using Microsoft.AspNetCore.Routing; + +namespace Hncore.Infrastructure.AliYun +{ + public class Util + { + const string QUERY_SEPARATOR = "&"; + const string HEADER_SEPARATOR = "\n"; + + const string AccessSecret = "r8FfRmoeWcCJyZSqqkQP2G3dKPPl2N "; + private const string AccessKeyId = "LTAI4FmSkDSwFuXeLxsDB3jB"; + + public static string CreateSign(Dictionary data, string method = "GET") + { + var dic = new RouteValueDictionary(data); + + + string[] array = dic.OrderBy(a => a.Key, StringComparer.Ordinal) + .Select(a => PercentEncode(a.Key) + "=" + PercentEncode(a.Value.ToString())).ToArray(); + string dataStr = string.Join("&", array); + string signStr = method + "&" + PercentEncode("/") + "&" + PercentEncode(dataStr); + + HMACSHA1 myhmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(AccessSecret + "&")); + byte[] byteArray = Encoding.UTF8.GetBytes(signStr); + MemoryStream stream = new MemoryStream(byteArray); + string signature = Convert.ToBase64String(myhmacsha1.ComputeHash(stream)); + + return signature; + } + + private static string PercentEncode(string value) + { + return UpperCaseUrlEncode(value) + .Replace("+", "%20") + .Replace("*", "%2A") + .Replace("%7E", "~"); + } + + private static string UpperCaseUrlEncode(string s) + { + char[] temp = HttpUtility.UrlEncode(s).ToCharArray(); + for (int i = 0; i < temp.Length - 2; i++) + { + if (temp[i] == '%') + { + temp[i + 1] = char.ToUpper(temp[i + 1]); + temp[i + 2] = char.ToUpper(temp[i + 2]); + } + } + + return new string(temp); + } + + public static IDictionary SortDictionary(Dictionary dic) + { + IDictionary sortedDictionary = + new SortedDictionary(dic, StringComparer.Ordinal); + return sortedDictionary; + } + + + public static Dictionary BuildCommonParam() + { + Dictionary dic = new Dictionary(); + + dic.Add("AccessKeyId", AccessKeyId); + dic.Add("Timestamp", DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ")); + dic.Add("SignatureMethod", "HMAC-SHA1"); + dic.Add("SignatureVersion", "1.0"); + dic.Add("SignatureNonce", Guid.NewGuid().ToString()); + + return dic; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Autofac/MvcAutoRegister.cs b/Infrastructure/Hncore.Infrastructure/Autofac/MvcAutoRegister.cs new file mode 100644 index 0000000..92a454c --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Autofac/MvcAutoRegister.cs @@ -0,0 +1,61 @@ +using System; +using System.Linq; +using Autofac; +using Autofac.Extensions.DependencyInjection; +using Hncore.Infrastructure.IOC; +using Microsoft.Extensions.DependencyInjection; +using Hncore.Infrastructure.DDD; +using Hncore.Infrastructure.EF; + +namespace Hncore.Infrastructure.Autofac +{ + public class MvcAutoRegister + { + public IServiceProvider Build(IServiceCollection services, IMvcBuilder mvcBuilder, + Action action = null) + { + mvcBuilder.AddControllersAsServices(); + + var builder = new ContainerBuilder(); + + var assemblys = AppDomain.CurrentDomain.GetAssemblies().ToArray(); + + var perRequestType = typeof(IPerRequest); + builder.RegisterAssemblyTypes(assemblys) + .Where(t => perRequestType.IsAssignableFrom(t) && t != perRequestType) + .PropertiesAutowired() + .AsImplementedInterfaces() + .InstancePerLifetimeScope(); + + var perDependencyType = typeof(IDependency); + builder.RegisterAssemblyTypes(assemblys) + .Where(t => perDependencyType.IsAssignableFrom(t) && t != perDependencyType) + .PropertiesAutowired() + .AsImplementedInterfaces() + .InstancePerDependency(); + + var singleInstanceType = typeof(ISingleInstance); + builder.RegisterAssemblyTypes(assemblys) + .Where(t => singleInstanceType.IsAssignableFrom(t) && t != singleInstanceType) + .PropertiesAutowired() + .AsImplementedInterfaces() + .SingleInstance(); + + builder.RegisterGeneric(typeof(QueryBase<,>)).As(typeof(IQuery<,>)).PropertiesAutowired() + .InstancePerLifetimeScope(); + + builder.RegisterGeneric(typeof(RepositoryBase<,>)).As(typeof(IRepository<,>)).PropertiesAutowired() + .InstancePerLifetimeScope(); + + action?.Invoke(builder); + + builder.Populate(services); + + var container = builder.Build(); + + var servicesProvider = new AutofacServiceProvider(container); + + return servicesProvider; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/CSV/CsvRow.cs b/Infrastructure/Hncore.Infrastructure/CSV/CsvRow.cs new file mode 100644 index 0000000..a8822a4 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/CSV/CsvRow.cs @@ -0,0 +1,49 @@ +using System.Text; + +namespace Hncore.Infrastructure.CSV +{ + public class CsvRow + { + private string _content = ""; + + public CsvRow AddCell(string content) + { + if (_content != "") + { + _content += ","; + } + + _content += StringToCsvCell(content); + + return this; + } + + public override string ToString() + { + return _content; + } + + private static string StringToCsvCell(string str) + { + bool mustQuote = str.Contains(",") || str.Contains("\"") || str.Contains("\r") || str.Contains("\n"); + if (mustQuote) + { + StringBuilder sb = new StringBuilder(); + sb.Append("\""); + foreach (char nextChar in str) + { + sb.Append(nextChar); + if (nextChar == '"') + { + sb.Append("\""); + } + } + + sb.Append("\""); + return sb.ToString(); + } + + return str; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/CSV/CsvTemporaryFile.cs b/Infrastructure/Hncore.Infrastructure/CSV/CsvTemporaryFile.cs new file mode 100644 index 0000000..262e8d4 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/CSV/CsvTemporaryFile.cs @@ -0,0 +1,84 @@ +using System; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Http; + +namespace Hncore.Infrastructure.CSV +{ + public class CsvTemporaryFile : IDisposable + { + private string filePath = ""; + private FileStream _fileStream; + private StreamWriter _streamWriter; + + public CsvTemporaryFile() + { + var execDir = Path.GetDirectoryName(typeof(CsvTemporaryFile).Assembly.Location); + + string tempDir = Path.Combine(execDir, "temp", DateTime.Now.ToString("yyyyMMdd")); + + if (!Directory.Exists(tempDir)) + { + Directory.CreateDirectory(tempDir); + } + + filePath = Path.Combine(tempDir, Guid.NewGuid().ToString()); + + _fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write); + _streamWriter = new StreamWriter(_fileStream, Encoding.GetEncoding("GB2312")); + _streamWriter.AutoFlush = true; + } + + public void WriteLine(CsvRow row) + { + _streamWriter.WriteLine(row.ToString()); + } + + public async Task ResponseAsync(HttpResponse httpResponse, string fileName) + { + httpResponse.ContentType = "application/octet-stream"; + httpResponse.Headers.Add("Content-Disposition", $"attachment; filename={fileName.UrlEncode()}"); + httpResponse.Headers.Add("X-Suggested-Filename", fileName.UrlEncode()); + + using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + using (BufferedStream bs = new BufferedStream(fs)) + { + byte[] buffer = new byte[4096]; + int bytesRead; + + long total_read = 0; + DateTime begin = DateTime.Now; + TimeSpan ts = new TimeSpan(); + + while ((bytesRead = bs.Read(buffer, 0, buffer.Length)) > 0) + { + await httpResponse.Body.WriteAsync(buffer, 0, bytesRead); + await httpResponse.Body.FlushAsync(); + + total_read += bytesRead; + ts = DateTime.Now - begin; + if (total_read / ts.TotalSeconds > 1024 * 1000) + { + await Task.Delay(1); + } + } + } + } + } + + public void Dispose() + { + _streamWriter?.Dispose(); + _fileStream?.Dispose(); + + + if (File.Exists(filePath)) + { + File.Delete(filePath); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/AssemblyUtil.cs b/Infrastructure/Hncore.Infrastructure/Common/AssemblyUtil.cs new file mode 100644 index 0000000..c561798 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/AssemblyUtil.cs @@ -0,0 +1,274 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Reflection; +using System.IO; +using System.Linq; +using System.Globalization; + +#if !SILVERLIGHT +using System.Runtime.Serialization.Formatters.Binary; +#endif + +namespace Hncore.Infrastructure.Utils +{ + /// + /// Assembly Util Class + /// + public static class AssemblyUtil + { + /// + /// Creates the instance from type name. + /// + /// + /// The type. + /// + public static T CreateInstance(string type) + { + return CreateInstance(type, new object[0]); + } + + /// + /// Creates the instance from type name and parameters. + /// + /// + /// The type. + /// The parameters. + /// + public static T CreateInstance(string type, object[] parameters) + { + Type instanceType = null; + var result = default(T); + + instanceType = Type.GetType(type, true); + + if (instanceType == null) + throw new Exception(string.Format("The type '{0}' was not found!", type)); + + object instance = Activator.CreateInstance(instanceType, parameters); + result = (T)instance; + return result; + } + + /// + /// Gets the type by the full name, also return matched generic type without checking generic type parameters in the name. + /// + /// Full name of the type. + /// if set to true [throw on error]. + /// if set to true [ignore case]. + /// +#if !NET35 + public static Type GetType(string fullTypeName, bool throwOnError, bool ignoreCase) + { + var targetType = Type.GetType(fullTypeName, false, ignoreCase); + + if (targetType != null) + return targetType; + + var names = fullTypeName.Split(','); + var assemblyName = names[1].Trim(); + + try + { + var assembly = Assembly.Load(assemblyName); + + var typeNamePrefix = names[0].Trim() + "`"; + + var matchedTypes = assembly.GetExportedTypes().Where(t => t.IsGenericType + && t.FullName.StartsWith(typeNamePrefix, ignoreCase, CultureInfo.InvariantCulture)).ToArray(); + + if (matchedTypes.Length != 1) + return null; + + return matchedTypes[0]; + } + catch (Exception e) + { + if (throwOnError) + throw e; + + return null; + } + } +#else + public static Type GetType(string fullTypeName, bool throwOnError, bool ignoreCase) + { + return Type.GetType(fullTypeName, null, (a, n, ign) => + { + var targetType = a.GetType(n, false, ign); + + if (targetType != null) + return targetType; + + var typeNamePrefix = n + "`"; + + var matchedTypes = a.GetExportedTypes().Where(t => t.IsGenericType + && t.FullName.StartsWith(typeNamePrefix, ign, CultureInfo.InvariantCulture)).ToArray(); + + if (matchedTypes.Length != 1) + return null; + + return matchedTypes[0]; + }, throwOnError, ignoreCase); + } +#endif + + /// + /// Gets the implement types from assembly. + /// + /// The type of the base type. + /// The assembly. + /// + public static IEnumerable GetImplementTypes(this Assembly assembly) + { + return assembly.GetExportedTypes().Where(t => + t.IsSubclassOf(typeof(TBaseType)) && t.IsClass && !t.IsAbstract); + } + + /// + /// Gets the implemented objects by interface. + /// + /// The type of the base interface. + /// The assembly. + /// + public static IEnumerable GetImplementedObjectsByInterface(this Assembly assembly) + where TBaseInterface : class + { + return GetImplementedObjectsByInterface(assembly, typeof(TBaseInterface)); + } + + /// + /// Gets the implemented objects by interface. + /// + /// The type of the base interface. + /// The assembly. + /// Type of the target. + /// + public static IEnumerable GetImplementedObjectsByInterface(this Assembly assembly, Type targetType) + where TBaseInterface : class + { + Type[] arrType = assembly.GetExportedTypes(); + + var result = new List(); + + for (int i = 0; i < arrType.Length; i++) + { + var currentImplementType = arrType[i]; + + if (currentImplementType.IsAbstract) + continue; + + if (!targetType.IsAssignableFrom(currentImplementType)) + continue; + + result.Add((TBaseInterface)Activator.CreateInstance(currentImplementType)); + } + + return result; + } + +#if SILVERLIGHT +#else + /// + /// Clone object in binary format. + /// + /// + /// The target. + /// + public static T BinaryClone(this T target) + { + BinaryFormatter formatter = new BinaryFormatter(); + using (MemoryStream ms = new MemoryStream()) + { + formatter.Serialize(ms, target); + ms.Position = 0; + return (T)formatter.Deserialize(ms); + } + } +#endif + + + /// + /// Copies the properties of one object to another object. + /// + /// + /// The source. + /// The target. + /// + public static T CopyPropertiesTo(this T source, T target) + { + return source.CopyPropertiesTo(p => true, target); + } + + /// + /// Copies the properties of one object to another object. + /// + /// + /// The source. + /// The properties predict. + /// The target. + /// + public static T CopyPropertiesTo(this T source, Predicate predict, T target) + { + PropertyInfo[] properties = source.GetType() + .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetProperty); + + Dictionary sourcePropertiesDict = properties.ToDictionary(p => p.Name); + + PropertyInfo[] targetProperties = target.GetType() + .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty) + .Where(p => predict(p)).ToArray(); + + for (int i = 0; i < targetProperties.Length; i++) + { + var p = targetProperties[i]; + PropertyInfo sourceProperty; + + if (sourcePropertiesDict.TryGetValue(p.Name, out sourceProperty)) + { + if (sourceProperty.PropertyType != p.PropertyType) + continue; + + if (!sourceProperty.PropertyType.IsSerializable) + continue; + + p.SetValue(target, sourceProperty.GetValue(source, null), null); + } + } + + return target; + } + + /// + /// Gets the assemblies from string. + /// + /// The assembly def. + /// + public static IEnumerable GetAssembliesFromString(string assemblyDef) + { + return GetAssembliesFromStrings(assemblyDef.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries)); + } + + /// + /// Gets the assemblies from strings. + /// + /// The assemblies. + /// + public static IEnumerable GetAssembliesFromStrings(string[] assemblies) + { + List result = new List(assemblies.Length); + + foreach (var a in assemblies) + { + result.Add(Assembly.Load(a)); + } + + return result; + } + + public static bool IsImplementedInterface() + { + return typeof(TInterface).IsAssignableFrom(typeof(T)); + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/BinaryHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/BinaryHelper.cs new file mode 100644 index 0000000..da2b5dd --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/BinaryHelper.cs @@ -0,0 +1,44 @@ +using System.IO; +using System.Runtime.Serialization.Formatters.Binary; + +namespace Hncore.Infrastructure.Common +{ + /// + /// 二进制序列化 + /// + public class BinaryHelper + { + /// + /// 序列化对象(二进制) + /// + /// 需要序列化的对象 + public static byte[] Serialize(object obj) + { + using (MemoryStream ms = new MemoryStream()) + { + BinaryFormatter binaryFormatter = new BinaryFormatter(); + binaryFormatter.Serialize(ms, obj); + return ms.ToArray(); + } + } + + /// + /// 反序列化对象(二进制) + /// + /// 需要反序列化的字符串 + public static object Deserialize(byte[] bytes) + { + if (bytes == null) + { + return null; + } + using (MemoryStream ms = new MemoryStream()) + { + ms.Write(bytes, 0, bytes.Length); + ms.Seek(0, SeekOrigin.Begin); + BinaryFormatter binaryFormatter = new BinaryFormatter(); + return binaryFormatter.Deserialize(ms); + } + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/CheckHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/CheckHelper.cs new file mode 100644 index 0000000..5459be4 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/CheckHelper.cs @@ -0,0 +1,55 @@ +using System; +using System.Linq; +using Microsoft.AspNetCore.Mvc.ModelBinding; +using Hncore.Infrastructure.Data; + +namespace Hncore.Infrastructure.Common +{ + public class CheckHelper + { + public static void NotNull(object obj, string message = "") + { + if (ReferenceEquals(obj, null)) + { + if (string.IsNullOrEmpty(message)) + { + message = nameof(obj) + "空引用"; + } + + throw new BusinessException(message); + } + } + + public static void NotEmpty(string obj, string message = "") + { + NotNull(obj,message); + + if (obj.Trim() == "") + { + if (string.IsNullOrEmpty(message)) + { + message = nameof(obj) + "值不能为空"; + } + + throw new BusinessException(message); + } + } + } + + public static class Ext + { + public static void Check(this ModelStateDictionary dic) + { + if (!dic.IsValid) + { + var errs = dic.Values.SelectMany(x => x.Errors); + + string msg = ""; + + errs.Select(t => t.Exception.Message).ToList().ForEach((s => { msg += s + "\r\n"; })); + + throw new Exception(msg); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/ConcurrentHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ConcurrentHelper.cs new file mode 100644 index 0000000..36a5177 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ConcurrentHelper.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Dapper; +using MySql.Data.MySqlClient; + +namespace Hncore.Infrastructure.Common +{ + public class ConcurrentHelper + { + private static string _connString = ""; + private static string _tableName = "concurrent_helper"; + + private List _infos = new List(); + + private string _id; + + public static void Init(string mysqlConn) + { + _connString = mysqlConn; + + MySqlHelper.Execute(_connString + , $@"create table if not exists {_tableName} + ( + Id VARCHAR(32) PRIMARY KEY UNIQUE, + CreateTime datetime DEFAULT now(), + Info text + )" + ); + } + + public ConcurrentHelper AddInfo(string info) + { + _infos.Add(info); + + return this; + } + + private async Task GetAuthority() + { + try + { + string info = ListHelper.ListToStr(_infos, "\n"); + _id = SecurityHelper.GetMd5Hash(info); + + string sql = $"insert into {_tableName}(Id,Info) values(@Id,@Info)"; + + await MySqlHelper.ExecuteAsync(_connString, sql, new {Id = _id, Info = info}); + } + catch + { + return false; + } + + return true; + } + + public async Task Execute(Action action) + { + try + { + if (await GetAuthority()) + { + action(); + } + } + catch (Exception e) + { + await MySqlHelper.ExecuteAsync(_connString, $"DELETE FROM {_tableName} where Id='{_id}'"); + + throw e; + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/ContentTypeHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ContentTypeHelper.cs new file mode 100644 index 0000000..6bb2132 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ContentTypeHelper.cs @@ -0,0 +1,102 @@ +using System.Collections.Generic; +using System.ComponentModel; + +namespace Hncore.Infrastructure.Common +{ + /// + /// 文件类型 + /// + public class ContentTypeHelper + { + /// + /// 图片格式 + /// + public static List ImageList = new List() + { + "image/jpeg", + "application/x-jpe", + "application/x-jpg", + "application/x-bmp", + "image/png", + "application/x-png", + "image/gif" + }; + + /// + /// 视频格式 + /// + public static List VideoList = new List() + { + "video/mpeg4", + "video/avi", + "video/x-ms-wmv", + "video/x-mpeg", + "video/mpeg4", + "video/x-sgi-movie", + "application/vnd.rn-realmedia", + "application/x-shockwave-flash", + "application/vnd.rn-realmedia-vbr", + "application/octet-stream", + "flv-application/octet-stream", + "video/mpg", + "video/mpeg", + "video/mp4", + "video/x-msvideo" + }; + + #region 得到文件类型 + + /// + /// 得到文件类型 + /// + /// 文件类型 + /// + public static FileTypeEnum GetFileType(string contentType) + { + if (ImageList.Contains(contentType)) + { + return FileTypeEnum.Img; + } + + if (VideoList.Contains(contentType)) + { + return FileTypeEnum.Video; + } + + return FileTypeEnum.Unknow; + } + + #endregion + } + + /// + /// 文件类型 + /// + public enum FileTypeEnum + { + /// + /// 未知 + /// + [Description("未知")] Unknow = 0, + + /// + /// 图片 + /// + [Description("图片")] Img = 1, + + /// + /// 音频 + /// + [Description("音频")] Audio = 2, + + /// + /// 视频 + /// + [Description("视频")] Video = 3, + + /// + /// 其他 + /// + [Description("其他")] Other = 4 + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/DateTimeHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/DateTimeHelper.cs new file mode 100644 index 0000000..91b2dc6 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/DateTimeHelper.cs @@ -0,0 +1,80 @@ +using System; +using System.Runtime.InteropServices; + +namespace Hncore.Infrastructure.Common +{ + public class DateTimeHelper + { + public static DateTime SqlMinTime => Convert.ToDateTime("1975-01-01 00:00:00"); + + public static DateTime SqlMaxTime => Convert.ToDateTime("9999-12-31 23:59:59"); + + /// + /// 将10位时间戳转时间 + /// + /// + /// + public static DateTime UnixTimeStampToDateTime(long unixTimeStamp) + { + // Unix timestamp is seconds past epoch + DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); + dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime(); + return dtDateTime; + } + + public static long ToUnixTimestamp(DateTime target) + { + return Convert.ToInt64((TimeZoneInfo.ConvertTimeToUtc(target) - + new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds); + } + + /// + /// 将13位时间戳转为时间 + /// + /// + /// + public static DateTime JsTimeStampToDateTime(double javaTimeStamp) + { + var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); + dtDateTime = dtDateTime.AddMilliseconds(javaTimeStamp).ToLocalTime(); + return dtDateTime; + } + + /// + /// 获取时间戳 + /// + /// + /// 为真时获取10位时间戳,为假时获取13位时间戳 + /// + public static long ToUnixTime(DateTime target, bool bflag = false) + { + TimeSpan ts = target - new DateTime(1970, 1, 1, 0, 0, 0, 0); + long timer = 0; + timer = Convert.ToInt64(!bflag ? ts.TotalSeconds : ts.TotalMilliseconds); + return timer; + } + + public static TimeZoneInfo GetCstTimeZoneInfo() + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + return TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai"); + } + + return TimeZoneInfo.FindSystemTimeZoneById("China Standard Time"); + } + + public static bool IsSameDayOrLess(DateTime dt1, DateTime dt2) + { + return dt1.Year == dt2.Year + && dt1.Month == dt2.Month + && dt1.Day == dt2.Day + || dt1 < dt2; + } + + public static DateTime GetDatePart(DateTime dt) + { + return new DateTime(dt.Year, dt.Month, dt.Day); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/DebugClass.cs b/Infrastructure/Hncore.Infrastructure/Common/DebugClass.cs new file mode 100644 index 0000000..7ee3fa6 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/DebugClass.cs @@ -0,0 +1,28 @@ +using System; +using System.Diagnostics; +using System.Text; + +namespace Hncore.Infrastructure.Utils +{ + public static class DebugClass + { + public static string PrintStack(bool isOutToDebugWin) + { + StackFrame[] stacks = new StackTrace().GetFrames(); + StringBuilder result = new StringBuilder(); + foreach (StackFrame stack in stacks) + { + result.AppendFormat("{0} {1} {2} {3}{4}", + stack.GetFileName(), + stack.GetFileLineNumber(), + stack.GetFileColumnNumber(), + stack.GetMethod().ToString(), + Environment.NewLine + ); + } + if (isOutToDebugWin) + Debug.WriteLine(result); + return result.ToString(); + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/DingTalkHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/DingTalkHelper.cs new file mode 100644 index 0000000..e6fbadb --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/DingTalkHelper.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading.Tasks; +using Hncore.Infrastructure.Serializer; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; + +namespace Hncore.Infrastructure.Common.DingTalk +{ + public class DingTalkHelper + { + private static HttpClient _httpClient = new HttpClient(new HttpClientHandler() {UseProxy = false}) + {Timeout = TimeSpan.FromMinutes(1)}; + + static DingTalkHelper() + { + _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + } + + public static Task SendMessage(object message) + { + return null; + // return _httpClient.PostAsync("https://oapi.dingtalk.com/robot/send?access_token=33", JsonContent(message)); + } + + private static StringContent JsonContent(object obj) + { + return new StringContent(obj.ToJson(), Encoding.UTF8, "application/json"); + } + + + private static async Task CheckSuccess(HttpResponseMessage res) + { + var content = await res.Content.ReadAsStringAsync(); + + JObject jObject = JsonConvert.DeserializeObject(content); + + if (jObject["errmsg"].ToString() == "ok" && Convert.ToInt32(jObject["errcode"]) != 0) + { + return false; + } + + return true; + } + } + + + /// + /// 此消息类型为固定text + /// + public class TextModel + { + /// + /// 此消息类型为固定text + /// + public string msgtype => "text"; + + /// + /// 消息内容 + /// + public text text { get; set; } + + /// + /// @人 + /// + public atText at { get; set; } + } + + /// + /// 消息内容 + /// + public class text + { + /// + /// 消息内容 + /// + public string content { get; set; } + } + + /// + /// @人 + /// + public class atText + { + /// + /// 被@人的手机号 + /// + public List atMobiles { get; set; } + + /// + /// @所有人时:true,否则为:false + /// + public bool isAtAll { get; set; } = false; + } + + /// + /// 此消息类型为固定markdown + /// + public class MarkDownModel + { + /// + /// 此消息类型为固定markdown + /// + public string msgtype => "markdown"; + + /// + /// 消息内容 + /// + public markdown markdown { get; set; } + + /// + /// @人 + /// + public atMarkdown at { get; set; } + } + + /// + /// 消息内容 + /// + public class markdown + { + /// + /// 标题 + /// + public string title { get; set; } + + /// + /// 消息内容 + /// + public string text { get; set; } + } + + /// + /// @人 + /// + public class atMarkdown + { + /// + /// 被@人的手机号 + /// + public List atMobiles { get; set; } + + /// + /// @所有人时:true,否则为:false + /// + public bool isAtAll { get; set; } = false; + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/EnvironmentVariableHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/EnvironmentVariableHelper.cs new file mode 100644 index 0000000..4c108d5 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/EnvironmentVariableHelper.cs @@ -0,0 +1,14 @@ +using System; + +namespace Hncore.Infrastructure.Common +{ + public class EnvironmentVariableHelper + { + /// + /// 当前环境是否为生产模式 + /// + public static bool IsAspNetCoreProduction => Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Production"; + + public static string HostName => Environment.GetEnvironmentVariable("HOSTNAME"); + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/ExcelHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ExcelHelper.cs new file mode 100644 index 0000000..fc9c923 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ExcelHelper.cs @@ -0,0 +1,644 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Web; +using AngleSharp; +using AngleSharp.Dom; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Mvc; +using NPOI.HSSF.UserModel; + +namespace Hncore.Infrastructure.Common +{ + public static class ExcelHelper + { + public static async Task GetStreamFromHtml(string html) + { + MemoryStream ms = new MemoryStream(); + + HSSFWorkbook book = new HSSFWorkbook(); + + var context = BrowsingContext.New(Configuration.Default); + + var document = await context.OpenAsync(req => req.Content(html)); + + try + { + var tables = document.GetElementsByTagName("table"); + + foreach (var table in tables) + { + var sheetName = table.GetAttribute("sheetname"); + + var sheet = book.CreateSheet(sheetName); + + var trs = table.GetElementsByTagName("tr"); + + var rowIndex = 0; + + foreach (var tr in trs) + { + var row = sheet.CreateRow(rowIndex); + + var tds = tr.GetElementsByTagName("td"); + + var columnIndex = 0; + + foreach (var td in tds) + { + row.CreateCell(columnIndex).SetCellValue(td.InnerHtml.Trim()); + + columnIndex++; + } + + rowIndex++; + + } + } + + book.Write(ms); + ms.Position = 0; + } + finally + { + document.Close(); + document.Dispose(); + + context.Active.Close(); + context.Active.Dispose(); + + document = null; + context = null; + + book.Clear(); + book.Close(); + book = null; + } + + + return ms; + } + + public static async Task ResponseExcelFromHtml(this ControllerBase controllerBase, string fileName, string html) + { + using (var ms = await GetStreamFromHtml(html)) + { + var bytes = ms.StreamToBytes(); + + var response = controllerBase.HttpContext.Response; + + response.ContentType = "application/octet-stream"; + response.Headers.Add("Content-Disposition", $"attachment; filename={fileName.UrlEncode()}"); + response.Headers.Add("X-Suggested-Filename", fileName.UrlEncode()); + response.Headers.Add("Content-Length", bytes.Length.ToString()); + + await response.Body.WriteAsync(bytes, 0, bytes.Length); + await response.Body.FlushAsync(); + } + } + /// + /// excel二进制文件转二维string结合 + /// + /// + /// + /// + public static List> ReadFromStream(Stream stream, int st = 0) + { + //根据路径通过已存在的excel来创建HSSFWorkbook,即整个excel文档 + HSSFWorkbook workbook; + try + { + workbook = new HSSFWorkbook(stream); + } + catch (Exception ex) + { + LogHelper.Error("ReadFromStream",ex); + throw new BusinessException("文件读取错误!"); + } + List> lis1 = new List>(); + { + //获取excel的第一个sheet + var sheet = workbook.GetSheetAt(st); + if (sheet == null) + throw new BusinessException("该文件内没有包含任何工作簿"); + //获取sheet的首行 + var headerRow = sheet.GetRow(0); + //一行最后一个方格的编号 即总的列数 + int cellCount = headerRow.LastCellNum; + + try + { + for (int i = 0; i <= sheet.LastRowNum; i++) + { + List lis = new List(); + var row = sheet.GetRow(i); + if (row == null) + continue; + for (int j = 0; j < cellCount; j++) + { + var cell = row.GetCell(j); + if (cell == null) + { + lis.Add(""); + continue; + } + try + { + switch (cell.CellType) + { + case NPOI.SS.UserModel.CellType.Unknown: + lis.Add("Unknown"); + break; + case NPOI.SS.UserModel.CellType.Numeric: + if (HSSFDateUtil.IsCellDateFormatted(cell))//对日期格式进行特殊对待 + lis.Add(HSSFDateUtil.GetJavaDate(cell.NumericCellValue).ToString()); + else + lis.Add(cell.NumericCellValue.ToString()); + break; + case NPOI.SS.UserModel.CellType.String: + lis.Add(cell.StringCellValue.ToString()); + break; + case NPOI.SS.UserModel.CellType.Formula: + lis.Add(cell.CellFormula.ToString()); + break; + case NPOI.SS.UserModel.CellType.Blank: + lis.Add(""); + break; + case NPOI.SS.UserModel.CellType.Boolean: + lis.Add(cell.BooleanCellValue.ToString()); + break; + case NPOI.SS.UserModel.CellType.Error: + lis.Add(cell.ErrorCellValue.ToString()); + break; + default: + break; + } + } + catch + { + lis.Add(""); + } + } + + //如果本行所有单元格都是空,就跳过本行 + if (lis.All(item => string.IsNullOrEmpty(item))) + continue; + + lis1.Add(lis); + } + } + catch(Exception ex) + { + LogHelper.Error("ReadFromStream", ex); + throw new BusinessException("文件格式错误!"); + } + } + #region 细节化处理 + lis1 = lis1.Where(s => !s.TrueForAll(f => string.IsNullOrWhiteSpace(f))).ToList();//去除全是空格的空行。 + lis1 = lis1.Select(s => s = s.Select(y => y = y.Trim()).ToList()).ToList();//去除空格 + if (lis1.Count == 1) throw new Exception("Excel中无有效数据!"); + #endregion + return lis1; + } + /// + /// 导出列表到excel + /// 导出到sheet的数据一致 + /// + /// + /// 每一个sheet的数据 + /// 列表的属性和名称值 + /// + public static byte[] ExportListToExcel(List> excelData, List excelTitle) + { + var workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(); + + var entityType = typeof(T); + PropertyInfo[] entityProperties = entityType.GetProperties(); + + if (excelData == null || excelData.Count == 0) + { + return null; + } + try + { + foreach (var item in excelData) + { + #region MyRegion + //var sheet = workbook.CreateSheet(item.SheetName.Replace('/','-')); + //var titleRow = sheet.CreateRow(0); + //for (int i = 0; i < excelTitle.Count; i++) + //{ + // titleRow.CreateCell(i).SetCellValue(excelTitle[i].Title); + //} + //var sheetData = item.Data; + //for (int j = 0; j < sheetData.Count; j++) + //{ + // var dataRow = sheet.CreateRow(j + 1); + // for (int i = 0; i < excelTitle.Count; i++) + // { + // if (excelTitle[i].Property.ToUpper().Equals("ID")) + // { + // var num = j + 1; + // dataRow.CreateCell(i).SetCellValue(num); + // continue; + // } + // var entityProperty = entityProperties.FirstOrDefault(m => m.Name == excelTitle[i].Property); + + // var cellVal = entityProperty?.GetValue(sheetData[j]); + // if (cellVal?.GetType().Name == "DateTime") + // { + // dataRow.CreateCell(i).SetCellValue(((DateTime?)cellVal)?.ToString("yyyy/MM/dd HH:mm:ss")); + // } + // else + // { + // dataRow.CreateCell(i).SetCellValue(cellVal?.ToString()); + // } + // //dataRow.CreateCell(i).SetCellValue(cellVal?.ToString()); + // } + //} + #endregion + CreateSheetData(workbook, item, excelTitle, entityProperties); + } + using (var ms = new MemoryStream()) + { + workbook.Write(ms); + var bytes = ms.ToArray(); + return bytes; + } + } + catch(Exception ex) + { + LogHelper.Error("ExportListToExcel=>" + ex); + + throw ex; + } + finally + { + workbook.Clear(); + workbook.Close(); + workbook = null; + } + } + public static byte[] ExportListToExcel(ExcelData excelData, List excelTitle) + { + var workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(); + + var entityType = typeof(T); + PropertyInfo[] entityProperties = entityType.GetProperties(); + + try + { + #region MyRegion + //var sheet = workbook.CreateSheet(excelData.SheetName.Replace('/', '-')); + //var titleRow = sheet.CreateRow(0); + //for (int i = 0; i < excelTitle.Count; i++) + //{ + // titleRow.CreateCell(i).SetCellValue(excelTitle[i].Title); + //} + //var sheetData = excelData.Data; + //for (int j = 0; j < sheetData.Count; j++) + //{ + // var dataRow = sheet.CreateRow(j + 1); + // for (int i = 0; i < excelTitle.Count; i++) + // { + // var cellVal = entityProperties.FirstOrDefault(m => m.Name == excelTitle[i].Property)?.GetValue(sheetData[j]); + + // if (cellVal?.GetType().Name == "DateTime") + // { + // dataRow.CreateCell(i).SetCellValue(((DateTime?)cellVal)?.ToString("yyyy/MM/dd HH:mm:ss")); + // } + // else + // { + // dataRow.CreateCell(i).SetCellValue(cellVal?.ToString()); + // } + // } + //} + #endregion + CreateSheetData(workbook, excelData, excelTitle, entityProperties); + using (var ms = new MemoryStream()) + { + workbook.Write(ms); + var bytes = ms.ToArray(); + return bytes; + } + } + catch (Exception ex) + { + LogHelper.Error("ExportListToExcel=>" + ex); + + throw ex; + } + finally + { + workbook.Clear(); + workbook.Close(); + workbook = null; + } + } + /// + /// 创建excel表单数据 + /// + /// + /// + /// + /// + /// + private static void CreateSheetData(NPOI.XSSF.UserModel.XSSFWorkbook workbook, + ExcelData excelData, List excelTitle,PropertyInfo[] entityProperties) + { + var sheet = workbook.CreateSheet(excelData.SheetName.Replace('/', '-')); + var titleRow = sheet.CreateRow(0); + for (int i = 0; i < excelTitle.Count; i++) + { + titleRow.CreateCell(i).SetCellValue(excelTitle[i].Title); + } + var sheetData = excelData.Data; + for (int j = 0; j < sheetData.Count; j++) + { + var dataRow = sheet.CreateRow(j + 1); + for (int i = 0; i < excelTitle.Count; i++) + { + var currentTitle = excelTitle[i]; + if (currentTitle.Property.Equals("序号")) + { + var num = j + 1; + dataRow.CreateCell(i).SetCellValue(num); + continue; + } + var cellVal = entityProperties.FirstOrDefault(m => m.Name == currentTitle.Property)?.GetValue(sheetData[j]); + if (currentTitle.Format != null) + { + cellVal = currentTitle.Format(cellVal); + } + if (currentTitle.Expr != null) + { + cellVal = currentTitle.Expr(sheetData[j]); + } + else if (cellVal?.GetType().Name == "DateTime") + { + dataRow.CreateCell(i).SetCellValue(((DateTime?)cellVal)?.ToString("yyyy/MM/dd HH:mm:ss")); + } + dataRow.CreateCell(i).SetCellValue(cellVal?.ToString()); + } + } + } + #region DownloadAsync(下载) + + + /// + /// 下载 + /// + /// 流 + /// 文件名,包含扩展名 + public static async Task DownloadAsync(this ControllerBase controllerBase, Stream stream, string fileName) + { + await DownloadAsync(controllerBase,stream, fileName, Encoding.UTF8); + } + /// + /// 下载 + /// + /// 流 + /// 文件名,包含扩展名 + /// 字符编码 + public static async Task DownloadAsync(this ControllerBase controllerBase, Stream stream, string fileName, Encoding encoding) + { + stream.Seek(0, SeekOrigin.Begin); + var buffer = new byte[stream.Length]; + stream.Read(buffer, 0, buffer.Length); + + await DownloadAsync(controllerBase, buffer, fileName, encoding); + } + /// + /// 下载 + /// + /// 字节流 + /// 文件名,包含扩展名 + public static async Task DownloadAsync(this ControllerBase controllerBase, byte[] bytes, string fileName) + { + await DownloadAsync(controllerBase,bytes, fileName, Encoding.UTF8); + } + + /// + /// 下载 + /// + /// 字节流 + /// 文件名,包含扩展名 + /// 字符编码 + public static async Task DownloadAsync(this ControllerBase controllerBase,byte[] bytes, string fileName, Encoding encoding) + { + var response = controllerBase.HttpContext.Response; + if (bytes == null || bytes.Length == 0) + return; + fileName = fileName.Replace(" ", ""); + fileName = HttpUtility.UrlEncode(fileName, encoding); + response.ContentType = "application/octet-stream"; + response.Headers.Add("Content-Disposition", $"attachment; filename={fileName}"); + response.Headers.Add("Content-Length", bytes.Length.ToString()); + response.Headers.Add("X-Suggested-Filename", fileName); + await response.Body.WriteAsync(bytes, 0, bytes.Length); + await response.Body.FlushAsync(); + } + + #endregion + } + + public class ExcelTitle + { + /// + /// 导出数据对应的 属性字段名 + /// + public string Property { get; set; } + /// + /// excel 的title + /// + public string Title { get; set; } + + public Func Format { get; set; } + public Func Expr { get; set; } + } + public class ExcelData + { + /// + /// 导出数据对应的 属性字段名 + /// + public string SheetName { get; set; } + /// + /// excel 的title + /// + public List Data { get; set; } + } + #region Excel导入验证 + /// + /// Excel导入验证 + /// + public static class ValidForExcel + { + + /// + /// 解析字符串到int32、double、datetime... + /// + /// + /// + /// + /// + /// + /// 自然数0,1,2,3... + /// + public static T ValidParseStr(string str,string message = "数据", bool isCanNullOrEmpty = true, bool isPositiveOrZero = true) + { + var val = default(T); + if (string.IsNullOrEmpty(str)) + { + if (isCanNullOrEmpty) + { + return default(T); + } + else + { + throw new Exception($"{message}不能为空"); + } + } + else + { + if (typeof(T).Name == typeof(int).Name || typeof(T).FullName == typeof(int?).FullName) + { + if (int.TryParse(str, out var valueInt)) + { + if (isPositiveOrZero && valueInt < 0) + { + goto error; + } + return (T)Convert.ChangeType(valueInt, TypeCode.Int32); + } + else + { + goto error; + } + } + if (typeof(T).Name == typeof(Decimal).Name || typeof(T).FullName == typeof(Decimal?).FullName) + { + if (Decimal.TryParse(str, out var valueInt)) + { + if (isPositiveOrZero && valueInt < 0) + { + goto error; + } + return (T)Convert.ChangeType(valueInt, TypeCode.Decimal); + } + else + { + goto error; + } + } + if (typeof(T).Name == typeof(Double).Name || typeof(T).FullName == typeof(Double?).FullName) + { + if (Double.TryParse(str, out var valueInt)) + { + if (isPositiveOrZero && valueInt < 0) + { + goto error; + } + return (T)Convert.ChangeType(valueInt, TypeCode.Double); + } + else + { + goto error; + } + } + if (typeof(T).Name == typeof(Single).Name || typeof(T).FullName == typeof(Single?).FullName) + { + if (Single.TryParse(str, out var valueInt)) + { + if (isPositiveOrZero && valueInt < 0) + { + goto error; + } + return (T)Convert.ChangeType(valueInt, TypeCode.Single); + } + else + { + goto error; + } + } + if (typeof(T).Name == typeof(DateTime).Name || typeof(T).FullName == typeof(DateTime?).FullName) + { + if (DateTime.TryParse(str, out var valueInt)) + { + return (T)Convert.ChangeType(valueInt, TypeCode.DateTime); + } + else + { + goto error; + } + } + } + return val; + error: throw new Exception($"{message}的值有误"); + } + + /// + /// 提供正则、提示信息,返回验证结果 + /// + /// + /// + /// + /// + /// + /// + public static string ValidByPattern(string str,string pattern, string message = "数据", bool isCanNullOrEmpty = true) + { + if (string.IsNullOrEmpty(str)) + { + if (isCanNullOrEmpty) + { + return str; + } + else + { + throw new BusinessException($"{message}不能为空"); + } + } + else + { + if (!Regex.IsMatch(str, pattern)) throw new BusinessException($"{message}输入有误"); + return str; + } + } + /// + /// 根据枚举判断 + /// + /// + /// + /// + /// + /// + public static int? ValidByEnum(string str, string message, bool isCanNullOrEmpty = true) //where T:Enum + { + + if (string.IsNullOrEmpty(str)) + { + if (isCanNullOrEmpty) + { + return null; + } + else + { + throw new BusinessException($"{message}不能为空"); + } + } + else + { + var value = EnumExtension.EnumToList().Find(s => s.Name == str)?.Value; + if (value == null) throw new BusinessException($"未知的数据:{str}"); + return Convert.ToInt32(value); + } + } + } + #endregion +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/HttpHelp.cs b/Infrastructure/Hncore.Infrastructure/Common/HttpHelp.cs new file mode 100644 index 0000000..2bf7a81 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/HttpHelp.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Text; + +namespace Hncore.Infrastructure.Common +{ + public static class HttpHelp + { + /// + /// get请求 + /// + /// + /// + public static string HttpGet(string url) + { + string result = string.Empty; + try + { + HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(url); + wbRequest.Method = "GET"; + HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse(); + using (Stream responseStream = wbResponse.GetResponseStream()) + { + using (StreamReader sReader = new StreamReader(responseStream)) + { + result = sReader.ReadToEnd(); + } + } + } + catch/* (Exception ex) 此处暂时屏蔽掉了,要不然编译光弹出变量未使用的警告,谁用得着再打开*/ + { + + } + return result; + } + /// + /// get 请求,带token + /// + /// + /// + /// + public static string HttpGet(string token,string url) + { + string result = string.Empty; + try + { + HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(url); + wbRequest.Headers.Add("token", token); + wbRequest.Method = "GET"; + HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse(); + using (Stream responseStream = wbResponse.GetResponseStream()) + { + using (StreamReader sReader = new StreamReader(responseStream)) + { + result = sReader.ReadToEnd(); + } + } + } + catch/* (Exception ex) 此处暂时屏蔽掉了,要不然编译光弹出变量未使用的警告,谁用得着再打开*/ + { + + } + return result; + } + + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/ImageCloudHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ImageCloudHelper.cs new file mode 100644 index 0000000..a4d62af --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ImageCloudHelper.cs @@ -0,0 +1,85 @@ +using System; +using System.IO; +using Qiniu.Storage; +using Qiniu.Util; + +namespace Hncore.Infrastructure.Common +{ + public class ImageCloudHelper + { + /// + /// + /// + /// + /// 图片地址 + public static string UploadImage(Stream stream, string prefix) + { + //todo + return ""; + Mac mac = new Mac("3bmkJLD-inSGpQnLr_9UlommFT81B5L0ryesJLhS", "X22vza-l53jcZyi_fmaex88R065_Ip2_3j5Im0Se"); + + string bucket = "property"; + + // 上传策略,参见 + // https://developer.qiniu.com/kodo/manual/put-policy + PutPolicy putPolicy = new PutPolicy(); + // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY" + // putPolicy.Scope = bucket + ":" + saveKey; + putPolicy.Scope = bucket; + // 上传策略有效期(对应于生成的凭证的有效期) + putPolicy.SetExpires(3600); + + string jstr = putPolicy.ToJsonString(); + string token = Auth.CreateUploadToken(mac, jstr); + + FormUploader fu = new FormUploader(new Config() + { + Zone = Zone.ZONE_CN_East + }); + + + string fileName = prefix + Guid.NewGuid() + ".jpg"; + + var result = fu.UploadStream(stream, fileName, token, null); + + if (result.Code == 200) + { + return "http://propertyimages.etor.vip/" + fileName; + } + + + return null; + } + + public static string UploadImage(string imageBase64, string prefix) + { + byte[] imageByte = Convert.FromBase64String(imageBase64); + + var stream = new MemoryStream(imageByte); + + return UploadImage(stream, prefix); + } + + public static string GetToken(int expireInSeconds=3600) + { + Mac mac = new Mac("3bmkJLD-inSGpQnLr_9UlommFT81B5L0ryesJLhS", "X22vza-l53jcZyi_fmaex88R065_Ip2_3j5Im0Se"); + + string bucket = "property"; + + // 上传策略,参见 + // https://developer.qiniu.com/kodo/manual/put-policy + PutPolicy putPolicy = new PutPolicy(); + // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY" + // putPolicy.Scope = bucket + ":" + saveKey; + putPolicy.Scope = bucket; + // 上传策略有效期(对应于生成的凭证的有效期) + putPolicy.SetExpires(expireInSeconds); + putPolicy.ReturnBody = "{\"key\":$(key),\"hash\":$(etag),\"mimeType\":$(mimeType),\"fname\":$(fname),\"fsize\":$(fsize),\"avinfo\":$(avinfo),\"ext\":$(ext),\"imageInfo\":$(imageInfo)}"; + + string jstr = putPolicy.ToJsonString(); + string token = Auth.CreateUploadToken(mac, jstr); + + return token; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/IoHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/IoHelper.cs new file mode 100644 index 0000000..a1a6014 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/IoHelper.cs @@ -0,0 +1,40 @@ +using System.IO; + +namespace Hncore.Infrastructure.Common +{ + /// + /// + /// + public static class IoHelper + { + #region 数据流转字节数组 + + /// + /// 数据流转字节数组 + /// + /// + /// + public static byte[] StreamToBytes(this Stream stream) + { + byte[] bytes = new byte[stream.Length]; + stream.Read(bytes, 0, bytes.Length); + // 设置当前流的位置为流的开始 + stream.Seek(0, SeekOrigin.Begin); + + return bytes; + } + + #endregion + + #region 将 byte[] 转成 Stream + + public static Stream BytesToStream(this byte[] bytes) + + { + Stream stream = new MemoryStream(bytes); + return stream; + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/ListHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ListHelper.cs new file mode 100644 index 0000000..27c7f42 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ListHelper.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Reflection; + +namespace Hncore.Infrastructure.Common +{ + public static class ListHelper + { + #region 字符串转化为泛型集合 + + /// + /// 字符串转化为泛型集合 + /// + /// 字符串 + /// 要分割的字符 + /// + public static List StrToList(string str, char splitstr) + { + List list = new List(); + if (string.IsNullOrEmpty(str)) + { + return list; + } + if (!str.Contains(splitstr)) + { + list.Add((T)Convert.ChangeType(str, typeof(T))); + return list; + } + else + { + string[] strarray = str.Split(splitstr); + + foreach (string s in strarray) + { + if (s != "") + list.Add((T)Convert.ChangeType(s, typeof(T))); + } + return list; + } + } + + /// + /// 字符串转化为泛型集合 + /// + /// 字符串 + /// + public static List StrToList(string str) + { + return StrToList(str, ','); + } + + #endregion + + public static string ListToStr(List list, string splitstr=",") + { + string str = ""; + + list.ForEach(t => + { + str += t + splitstr; + }); + + if (str.EndsWith(splitstr)) + { + str = str.Substring(0, str.Length - splitstr.Length); + } + + return str; + } + + #region 转换几个中所有元素的类型 + + /// + /// 转换几个中所有元素的类型 + /// + /// + /// + /// + public static List ConvertListType(List list) + { + if (list == null) + { + return null; + } + List newlist = new List(); + foreach (T t in list) + { + object to = new object(); + if (typeof(To).Name == "Guid") + { + to = Guid.Parse(t.ToString()); + } + else + { + to = Convert.ChangeType(t, typeof(To)); + } + newlist.Add((To)to); + } + return newlist; + } + + #endregion + + #region 转化一个DataTable + + /// + /// 转化一个DataTable + /// + /// + /// + /// + public static DataTable ToDataTable(IEnumerable list) + { + //创建属性的集合 + List pList = new List(); + //获得反射的入口 + Type type = typeof(T); + DataTable dt = new DataTable(); + //把所有的public属性加入到集合 并添加DataTable的列 + Array.ForEach(type.GetProperties(), p => { pList.Add(p); dt.Columns.Add(p.Name, p.PropertyType); }); + foreach (var item in list) + { + //创建一个DataRow实例 + DataRow row = dt.NewRow(); + //给row 赋值 + pList.ForEach(p => row[p.Name] = p.GetValue(item, null)); + //加入到DataTable + dt.Rows.Add(row); + } + return dt; + } + + #endregion + + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/LogHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/LogHelper.cs new file mode 100644 index 0000000..0870dcb --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/LogHelper.cs @@ -0,0 +1,59 @@ +using System; +using NLog; + +namespace Hncore.Infrastructure.Common +{ + public class LogHelper + { + private static readonly Logger Log = LogManager.GetLogger("UserLog"); + private static string assName = AppDomain.CurrentDomain.FriendlyName; + + private static string FormatMsg(string title, object msg) + { + return "Assembly:" + assName + "\r\nTitle : " + title + "\r\nMessage : " + msg + "\r\n"; + } + + public static void Error(string title, object msg = null) + { + Log?.Error(FormatMsg(title, msg)); + + Console.WriteLine(DateTime.Now+"\r\n"+FormatMsg(title, msg)); + } + + public static void Debug(string title, object msg = null) + { + Log?.Debug(FormatMsg(title, msg)); + + Console.WriteLine(DateTime.Now+"\r\n"+FormatMsg(title, msg)); + } + + public static void Info(string title, object msg = null) + { + Log?.Info(FormatMsg(title, msg)); + + Console.WriteLine(DateTime.Now+"\r\n"+FormatMsg(title, msg)); + } + + public static void Warn(string title, object msg = null) + { + Log?.Warn(FormatMsg(title, msg)); + + Console.WriteLine(DateTime.Now+"\r\n"+FormatMsg(title, msg)); + } + + public static void Trace(string title, object msg = null) + { + Log?.Trace(FormatMsg(title, msg)); + + Console.WriteLine(DateTime.Now+"\r\n"+FormatMsg(title, msg)); + } + + public static void Fatal(string title, object msg = null) + { + Log?.Fatal(FormatMsg(title, msg)); + + Console.WriteLine(DateTime.Now+"\r\n"+FormatMsg(title, msg)); + } + } + +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/MySqlHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/MySqlHelper.cs new file mode 100644 index 0000000..43c268f --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/MySqlHelper.cs @@ -0,0 +1,29 @@ +using System.Threading.Tasks; +using Dapper; +using MySql.Data.MySqlClient; + +namespace Hncore.Infrastructure.Common +{ + public class MySqlHelper + { + public static int Execute(string connStr, string sql, object param = null) + { + using (var conn = new MySqlConnection(connStr)) + { + conn.Open(); + + return conn.Execute(sql, param); + } + } + + public static async Task ExecuteAsync(string connStr, string sql, object param = null) + { + using (var conn = new MySqlConnection(connStr)) + { + conn.Open(); + + return await conn.ExecuteAsync(sql, param); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/NetworkHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/NetworkHelper.cs new file mode 100644 index 0000000..b3d3f05 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/NetworkHelper.cs @@ -0,0 +1,21 @@ +using System.Linq; +using System.Net; +using System.Net.NetworkInformation; +using System.Net.Sockets; + +namespace Hncore.Infrastructure.Common +{ + public class NetworkHelper + { + public static string GetPublicIp() + { + return NetworkInterface + .GetAllNetworkInterfaces() + .Select(p => p.GetIPProperties()) + .SelectMany(p => p.UnicastAddresses) + .FirstOrDefault(p => + p.Address.AddressFamily == AddressFamily.InterNetwork && !IPAddress.IsLoopback(p.Address))?.Address + .ToString(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/QiNiuCloudHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/QiNiuCloudHelper.cs new file mode 100644 index 0000000..710835a --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/QiNiuCloudHelper.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Hncore.Infrastructure.Extension; +using Qiniu.Http; +using Qiniu.Storage; +using Qiniu.Util; + +namespace Hncore.Infrastructure.Common +{ + public class QiNiuCloudHelper + { + static Mac mac = new Mac("3bmkJLD-inSGpQnLr_9UlommFT81B5L0ryesJLhS", + "X22vza-l53jcZyi_fmaex88R065_Ip2_3j5Im0Se"); + + static string bucket = "property"; + + /// + /// + /// + /// + /// 图片地址 + public static string UploadImage(Stream stream, string prefix, string persistentOps = "") + { + string fileName = prefix + Guid.NewGuid() + ".jpg"; + + // 上传策略,参见 + // https://developer.qiniu.com/kodo/manual/put-policy + PutPolicy putPolicy = new PutPolicy(); + // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY" + // putPolicy.Scope = bucket + ":" + saveKey; + putPolicy.Scope = bucket; + // 上传策略有效期(对应于生成的凭证的有效期) + putPolicy.SetExpires(3600); + + if (!string.IsNullOrEmpty(persistentOps)) + { + string saveAs = (bucket + ":" + fileName).ToBase64String() + .Replace("+", "-") + .Replace("/", "_"); + putPolicy.PersistentOps = persistentOps + $"|saveas/{saveAs}"; + putPolicy.PersistentPipeline = "face_image"; + } + + + string jstr = putPolicy.ToJsonString(); + string token = Auth.CreateUploadToken(mac, jstr); + + ResumableUploader fu = new ResumableUploader(new Config() + { + Zone = Zone.ZONE_CN_East + }); + + + var result = fu.UploadStream(stream, fileName, token, null); + + if (result.Code == 200) + { + return "http://propertyimages.etor.vip/" + fileName; + } + + LogHelper.Error("七牛上传图片失败", result.ToString()); + + return null; + } + + public static string UploadImage(string imageBase64, string prefix, string persistentOps = "") + { + byte[] imageByte = Convert.FromBase64String(imageBase64); + + var stream = new MemoryStream(imageByte); + + return UploadImage(stream, prefix, persistentOps); + } + + /// + /// 删除资源 + /// + /// + public static void Delete(string key) + { + Config config = new Config(); + config.Zone = Zone.ZONE_CN_East; + + BucketManager bucketManager = new BucketManager(mac, config); + + var res = bucketManager.Delete(bucket, key); + } + + public static List Domains(string bucket) + { + Config config = new Config(); + config.Zone = Zone.ZONE_CN_East; + + BucketManager bucketManager = new BucketManager(mac, config); + + return bucketManager.Domains("property").Result; + } + + public static string GetToken(int expireInSeconds = 3600) + { + // 上传策略,参见 + // https://developer.qiniu.com/kodo/manual/put-policy + PutPolicy putPolicy = new PutPolicy(); + // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY" + // putPolicy.Scope = bucket + ":" + saveKey; + putPolicy.Scope = bucket; + // 上传策略有效期(对应于生成的凭证的有效期) + putPolicy.SetExpires(expireInSeconds); + putPolicy.ReturnBody = + "{\"key\":$(key),\"hash\":$(etag),\"mimeType\":$(mimeType),\"fname\":$(fname),\"fsize\":$(fsize),\"avinfo\":$(avinfo),\"ext\":$(ext),\"imageInfo\":$(imageInfo)}"; + + string jstr = putPolicy.ToJsonString(); + string token = Auth.CreateUploadToken(mac, jstr); + + return token; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/RSAHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/RSAHelper.cs new file mode 100644 index 0000000..2b5a584 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/RSAHelper.cs @@ -0,0 +1,333 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace Hncore.Infrastructure.Common +{ + /// + /// RSA加解密 使用OpenSSL的公钥加密/私钥解密 + /// + /// 公私钥请使用openssl生成 ssh-keygen -t rsa 命令生成的公钥私钥是不行的 + /// + public class RsaHelper + { + private readonly RSA _privateKeyRsaProvider; + private readonly RSA _publicKeyRsaProvider; + private readonly HashAlgorithmName _hashAlgorithmName; + private readonly Encoding _encoding; + + /// + /// 实例化RSAHelper + /// + /// 加密算法类型 RSA SHA1;RSA2 SHA256 密钥长度至少为2048 + /// 编码类型 + /// 私钥 + /// 公钥 + public RsaHelper(RsaType rsaType, Encoding encoding, string privateKey, string publicKey = null) + { + _encoding = encoding; + if (!string.IsNullOrEmpty(privateKey)) + { + _privateKeyRsaProvider = CreateRsaProviderFromPrivateKey(privateKey); + } + + if (!string.IsNullOrEmpty(publicKey)) + { + _publicKeyRsaProvider = CreateRsaProviderFromPublicKey(publicKey); + } + + _hashAlgorithmName = rsaType == RsaType.RSA ? HashAlgorithmName.SHA1 : HashAlgorithmName.SHA256; + } + + #region 使用私钥签名 + + /// + /// 使用私钥签名 + /// + /// 原始数据 + /// + public string Sign(string data) + { + byte[] dataBytes = _encoding.GetBytes(data); + + var signatureBytes = + _privateKeyRsaProvider.SignData(dataBytes, _hashAlgorithmName, RSASignaturePadding.Pkcs1); + + return Convert.ToBase64String(signatureBytes); + } + + #endregion + + #region 使用公钥验证签名 + + /// + /// 使用公钥验证签名 + /// + /// 原始数据 + /// 签名 + /// + public bool Verify(string data, string sign) + { + byte[] dataBytes = _encoding.GetBytes(data); + byte[] signBytes = Convert.FromBase64String(sign); + + var verify = _publicKeyRsaProvider.VerifyData(dataBytes, signBytes, _hashAlgorithmName, + RSASignaturePadding.Pkcs1); + + return verify; + } + + #endregion + + #region 解密 + + public string Decrypt(string cipherText) + { + if (_privateKeyRsaProvider == null) + { + throw new Exception("_privateKeyRsaProvider is null"); + } + + return Encoding.UTF8.GetString(_privateKeyRsaProvider.Decrypt(Convert.FromBase64String(cipherText), + RSAEncryptionPadding.Pkcs1)); + } + + #endregion + + #region 加密 + + public string Encrypt(string text) + { + if (_publicKeyRsaProvider == null) + { + throw new Exception("_publicKeyRsaProvider is null"); + } + + return Convert.ToBase64String(_publicKeyRsaProvider.Encrypt(Encoding.UTF8.GetBytes(text), + RSAEncryptionPadding.Pkcs1)); + } + + #endregion + + #region 使用私钥创建RSA实例 + + public RSA CreateRsaProviderFromPrivateKey(string privateKey) + { + var privateKeyBits = Convert.FromBase64String(privateKey); + + var rsa = RSA.Create(); + var rsaParameters = new RSAParameters(); + + using (BinaryReader binr = new BinaryReader(new MemoryStream(privateKeyBits))) + { + byte bt = 0; + ushort twobytes = 0; + twobytes = binr.ReadUInt16(); + if (twobytes == 0x8130) + binr.ReadByte(); + else if (twobytes == 0x8230) + binr.ReadInt16(); + else + throw new Exception("Unexpected value read binr.ReadUInt16()"); + + twobytes = binr.ReadUInt16(); + if (twobytes != 0x0102) + throw new Exception("Unexpected version"); + + bt = binr.ReadByte(); + if (bt != 0x00) + throw new Exception("Unexpected value read binr.ReadByte()"); + + rsaParameters.Modulus = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.Exponent = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.D = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.P = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.Q = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.DP = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.DQ = binr.ReadBytes(GetIntegerSize(binr)); + rsaParameters.InverseQ = binr.ReadBytes(GetIntegerSize(binr)); + } + + rsa.ImportParameters(rsaParameters); + return rsa; + } + + #endregion + + #region 使用公钥创建RSA实例 + + public RSA CreateRsaProviderFromPublicKey(string publicKeyString) + { + // encoded OID sequence for PKCS #1 rsaEncryption szOID_RSA_RSA = "1.2.840.113549.1.1.1" + byte[] seqOid = + {0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00}; + byte[] seq = new byte[15]; + + var x509Key = Convert.FromBase64String(publicKeyString); + + // --------- Set up stream to read the asn.1 encoded SubjectPublicKeyInfo blob ------ + using (MemoryStream mem = new MemoryStream(x509Key)) + { + using (BinaryReader binr = new BinaryReader(mem) + ) //wrap Memory Stream with BinaryReader for easy reading + { + byte bt = 0; + ushort twobytes = 0; + + twobytes = binr.ReadUInt16(); + if (twobytes == 0x8130 + ) //data read as little endian order (actual data order for Sequence is 30 81) + binr.ReadByte(); //advance 1 byte + else if (twobytes == 0x8230) + binr.ReadInt16(); //advance 2 bytes + else + return null; + + seq = binr.ReadBytes(15); //read the Sequence OID + if (!CompareBytearrays(seq, seqOid)) //make sure Sequence for OID is correct + return null; + + twobytes = binr.ReadUInt16(); + if (twobytes == 0x8103 + ) //data read as little endian order (actual data order for Bit String is 03 81) + binr.ReadByte(); //advance 1 byte + else if (twobytes == 0x8203) + binr.ReadInt16(); //advance 2 bytes + else + return null; + + bt = binr.ReadByte(); + if (bt != 0x00) //expect null byte next + return null; + + twobytes = binr.ReadUInt16(); + if (twobytes == 0x8130 + ) //data read as little endian order (actual data order for Sequence is 30 81) + binr.ReadByte(); //advance 1 byte + else if (twobytes == 0x8230) + binr.ReadInt16(); //advance 2 bytes + else + return null; + + twobytes = binr.ReadUInt16(); + byte lowbyte = 0x00; + byte highbyte = 0x00; + + if (twobytes == 0x8102 + ) //data read as little endian order (actual data order for Integer is 02 81) + lowbyte = binr.ReadByte(); // read next bytes which is bytes in modulus + else if (twobytes == 0x8202) + { + highbyte = binr.ReadByte(); //advance 2 bytes + lowbyte = binr.ReadByte(); + } + else + return null; + + byte[] modint = + {lowbyte, highbyte, 0x00, 0x00}; //reverse byte order since asn.1 key uses big endian order + int modsize = BitConverter.ToInt32(modint, 0); + + int firstbyte = binr.PeekChar(); + if (firstbyte == 0x00) + { + //if first byte (highest order) of modulus is zero, don't include it + binr.ReadByte(); //skip this null byte + modsize -= 1; //reduce modulus buffer size by 1 + } + + byte[] modulus = binr.ReadBytes(modsize); //read the modulus bytes + + if (binr.ReadByte() != 0x02) //expect an Integer for the exponent data + return null; + int expbytes = + binr + .ReadByte(); // should only need one byte for actual exponent data (for all useful values) + byte[] exponent = binr.ReadBytes(expbytes); + + // ------- create RSACryptoServiceProvider instance and initialize with public key ----- + var rsa = RSA.Create(); + RSAParameters rsaKeyInfo = new RSAParameters + { + Modulus = modulus, + Exponent = exponent + }; + rsa.ImportParameters(rsaKeyInfo); + + return rsa; + } + } + } + + #endregion + + #region 导入密钥算法 + + private int GetIntegerSize(BinaryReader binr) + { + byte bt = 0; + int count = 0; + bt = binr.ReadByte(); + if (bt != 0x02) + return 0; + bt = binr.ReadByte(); + + if (bt == 0x81) + count = binr.ReadByte(); + else if (bt == 0x82) + { + var highbyte = binr.ReadByte(); + var lowbyte = binr.ReadByte(); + byte[] modint = {lowbyte, highbyte, 0x00, 0x00}; + count = BitConverter.ToInt32(modint, 0); + } + else + { + count = bt; + } + + while (binr.ReadByte() == 0x00) + { + count -= 1; + } + + binr.BaseStream.Seek(-1, SeekOrigin.Current); + return count; + } + + private bool CompareBytearrays(byte[] a, byte[] b) + { + if (a.Length != b.Length) + return false; + int i = 0; + foreach (byte c in a) + { + if (c != b[i]) + return false; + i++; + } + + return true; + } + + #endregion + } + + /// + /// RSA算法类型 + /// + public enum RsaType + { + /// + /// SHA1 + /// + RSA = 0, + + /// + /// RSA2 密钥长度至少为2048 + /// SHA256 + /// + RSA2 + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/RandomHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/RandomHelper.cs new file mode 100644 index 0000000..9c64bb7 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/RandomHelper.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; + +namespace Hncore.Infrastructure.Common +{ + public class RandomHelper + { + #region 私有属性 + + /// + /// 随机数最小值 + /// + private static int MiniNum => int.MinValue; + + /// + /// 随机数最大值 + /// + private static int MaxNum => int.MaxValue; + + /// + /// 随机数长度 + /// + private static int RandomLength => 4; + + /// + /// 随机数来源 + /// + private static string RandomString => "0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz"; + + /// + /// 系统默认生成随机数长度 + /// + private const int RandomLengthPresent = 6; + + /// + /// 系统默认随机数来源 + /// + private const string RandomStringPresent = "0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz"; + + private static readonly Random Random = new Random(DateTime.Now.Millisecond); + #endregion + + #region 产生随机字符 + + /// + /// 产生随机字符 + /// + /// 产生随机数长度,默认为-1 + /// 随机数来源 + /// + public static string GetRandomString(int randomLength = -1, string randomString = "") + { + int randomLengthTemp;//随机数长度 + if (randomLength > 0) + randomLengthTemp = randomLength; + else if (RandomLength > 0) + randomLengthTemp = RandomLength; + else + randomLengthTemp = RandomLengthPresent; + string randomStringTemp;//随机数来源 + if (!string.IsNullOrEmpty(randomString)) + randomStringTemp = randomString; + else if (!string.IsNullOrEmpty(RandomString)) + randomStringTemp = RandomString; + else + randomStringTemp = RandomStringPresent; + string returnValue = string.Empty; + for (int i = 0; i < randomLengthTemp; i++) + { + int r = Random.Next(0, randomStringTemp.Length - 1); + returnValue += randomStringTemp[r]; + } + return returnValue; + } + #endregion + + #region 产生随机数 + /// + /// 产生随机数 + /// + /// 最小随机数 + /// 最大随机数 + /// + public static int GetRandom(int minNum = -1, int maxNum = -1) + { + int minNumTemp = minNum == -1 ? MiniNum : minNum;//最小随机数 + int maxNumTemp = maxNum == -1 ? MaxNum : maxNum;//最大随机数 + return Random.Next(minNumTemp, maxNumTemp); + } + #endregion + + #region 生成一个0.0到1.0的随机小数 + /// + /// 生成一个0.0到1.0的随机小数 + /// + public double GetRandomDouble() + { + return Random.NextDouble(); + } + #endregion + + #region 对一个数组进行随机排序 + /// + /// 对一个数组进行随机排序 + /// + /// 数组的类型 + /// 需要随机排序的数组 + public void GetRandomArray(T[] arr) + { + //对数组进行随机排序的算法:随机选择两个位置,将两个位置上的值交换 + //交换的次数,这里使用数组的长度作为交换次数 + int count = arr.Length; + //开始交换 + for (int i = 0; i < count; i++) + { + //生成两个随机数位置 + int randomNum1 = GetRandom(0, arr.Length); + int randomNum2 = GetRandom(0, arr.Length); + //定义临时变量 + //交换两个随机数位置的值 + var temp = arr[randomNum1]; + arr[randomNum1] = arr[randomNum2]; + arr[randomNum2] = temp; + } + } + + public static string Uuid(int len) + { + len = len > 32 ? 32 : len; + var str = Guid.NewGuid().ToString("N"); + var list = new List(); + while (true) + { + var index = GetRandom(0, 32); + list.Add(str[index].ToString()); + if (list.Count >= len) + break; + } + return string.Join("", list); + } + #endregion + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/RedisLocklHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/RedisLocklHelper.cs new file mode 100644 index 0000000..1a6eb47 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/RedisLocklHelper.cs @@ -0,0 +1,72 @@ +using Hncore.Infrastructure.Extension; +using System; +using System.Diagnostics; +using System.Reflection; +using System.Runtime.InteropServices; + +namespace Hncore.Infrastructure.Common +{ + public class RedisLocker + { + private string _key; + private long _lockTime; + /// + /// + /// + /// 锁的键 + /// 锁超时时间 单位毫秒 + public RedisLocker(string key,long outTime) + { + _key =$"Lock:{Assembly.GetCallingAssembly().GetFriendName()}:{key}" ; + _lockTime = outTime; + } + public void Exec(Action action) + { + if (GetLock()) + { + action(); + ReleaseLock(); + } + } + + protected bool GetLock() + { + try + { + var currentTime = DateTime.Now.GetUnixTimeStamp(); + if (RedisHelper.SetNx(this._key, currentTime + _lockTime)) + { + Console.WriteLine("获取到Redis锁了"); + RedisHelper.Expire(_key, TimeSpan.FromMilliseconds(_lockTime)); //设置过期时间 + return true; + } + + //防止SetNx成功但是设置过期时间(Expire)失败造成死锁 + var lockValue = Convert.ToInt64(RedisHelper.Get(_key)); + currentTime = DateTime.Now.GetUnixTimeStamp(); + if (lockValue > 0 && currentTime > lockValue) + { + var getsetResult = Convert.ToInt64(RedisHelper.GetSet(_key, currentTime)); + if (getsetResult == 0 || getsetResult == lockValue) + { + Console.WriteLine("获取到Redis锁了"); + RedisHelper.Expire(_key, TimeSpan.FromMilliseconds(_lockTime)); + return true; + } + } + Console.WriteLine("没有获取到锁"); + return false; + } + catch + { + ReleaseLock(); + return false; + } + } + + protected bool ReleaseLock() + { + return RedisHelper.Del(_key) > 0; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/RegexPattern.cs b/Infrastructure/Hncore.Infrastructure/Common/RegexPattern.cs new file mode 100644 index 0000000..8d03404 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/RegexPattern.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; + +namespace Hncore.Infrastructure.Common +{ + public static class RegexPattern + { + public const string Mobile = @"^1[123456789]\d{9}$";//宽松的手机验证。包含运营商可能的新增号段。 + public const string Email = @"^[\w-]+@[\w-]+\.(com|net|org|edu|mil|tv|biz|info)$";// 邮箱验证 + public const string IdCard = @"^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$";//18位身份证 + public const string CarNumber = @"^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1})$"; + public static bool IsMatch(string str,string pattern) + { + return Regex.IsMatch(str, pattern); + } + public static bool IsMobile(string str) + { + return IsMatch(str, Mobile); + } + public static bool IsEmail(string str) + { + return IsMatch(str, Email); + } + public static bool IsIdCard(string str) + { + return IsMatch(str, IdCard); + } + public static bool IsCarNumber(string str) + { + return IsMatch(str, CarNumber); + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Common/SecurityHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/SecurityHelper.cs new file mode 100644 index 0000000..04f4787 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/SecurityHelper.cs @@ -0,0 +1,388 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace Hncore.Infrastructure.Common +{ + public class SecurityHelper + { + #region AES加密 + + /// + /// AES加密 + /// + /// + /// + public static string AESEncrypt(string toEncrypt, string key) + { + if (string.IsNullOrWhiteSpace(toEncrypt)) + return string.Empty; + // 256-AES key + byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); + byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt); + + RijndaelManaged rDel = new RijndaelManaged(); + rDel.Key = keyArray; + rDel.Mode = CipherMode.ECB; + rDel.Padding = PaddingMode.PKCS7; + + ICryptoTransform cTransform = rDel.CreateEncryptor(); + byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + + + return Convert.ToBase64String(resultArray, 0, resultArray.Length); + } + + #endregion + + #region AES解密 + + /// + /// AES解密 + /// + /// + /// + public static string Decrypt(string toDecrypt, string key) + { + if (string.IsNullOrWhiteSpace(toDecrypt)) + return string.Empty; + try + { + // 256-AES key + byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); + byte[] toEncryptArray = Convert.FromBase64String(toDecrypt); + + RijndaelManaged rDel = new RijndaelManaged(); + rDel.Key = keyArray; + rDel.Mode = CipherMode.ECB; + rDel.Padding = PaddingMode.PKCS7; + + ICryptoTransform cTransform = rDel.CreateDecryptor(); + + + byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + return UTF8Encoding.UTF8.GetString(resultArray); + } + catch(Exception ex) + { + LogHelper.Error("aes Decrypt", ex.Message); + return toDecrypt; + } + } + + #endregion + + #region MD5加密 + + /// + /// MD5加密 + /// + /// + /// + public static string GetMd5Hash(string input, Encoding encoding = null) + { + if (encoding == null) + { + encoding = Encoding.UTF8; + } + + + MD5 myMD5 = new MD5CryptoServiceProvider(); + byte[] signed = myMD5.ComputeHash(encoding.GetBytes(input)); + string signResult = byte2mac(signed); + return signResult.ToUpper(); + } + + //MD5加密方法 + private static string byte2mac(byte[] signed) + { + StringBuilder EnText = new StringBuilder(); + foreach (byte Byte in signed) + { + EnText.AppendFormat("{0:x2}", Byte); + } + + return EnText.ToString(); + } + + #endregion + + #region 对字符串进行DES加密 + + /// + /// 对字符串进行DES加密 + /// + /// 待加密的字符串 + /// 加密后的BASE64编码的字符串 + public static string DesEncrypt(string sourceString, string key, string iv) + { + byte[] btKey = Encoding.Default.GetBytes(key); + byte[] btIV = Encoding.Default.GetBytes(iv); + DESCryptoServiceProvider des = new DESCryptoServiceProvider(); + using (MemoryStream ms = new MemoryStream()) + { + byte[] inData = Encoding.Default.GetBytes(sourceString); + using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write)) + { + cs.Write(inData, 0, inData.Length); + cs.FlushFinalBlock(); + } + + return Convert.ToBase64String(ms.ToArray()); + } + } + + #endregion + + #region 对DES加密后的字符串进行解密 + + /// + /// 对DES加密后的字符串进行解密 + /// + /// 待解密的字符串 + /// 解密后的字符串 + public static string DesDecrypt(string encryptedString, string key, string iv) + { + byte[] btKey = Encoding.Default.GetBytes(key); + byte[] btIV = Encoding.Default.GetBytes(iv); + DESCryptoServiceProvider des = new DESCryptoServiceProvider(); + using (MemoryStream ms = new MemoryStream()) + { + byte[] inData = Convert.FromBase64String(encryptedString); + using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write)) + { + cs.Write(inData, 0, inData.Length); + cs.FlushFinalBlock(); + } + + return Encoding.Default.GetString(ms.ToArray()); + } + } + + #endregion + + + public static string Sha1(string str) + { + SHA1 sha1 = new SHA1CryptoServiceProvider(); + + byte[] bytes_in = Encoding.UTF8.GetBytes(str); + byte[] bytes_out = sha1.ComputeHash(bytes_in); + sha1.Dispose(); + + var sb = new StringBuilder(); + foreach (byte b in bytes_out) + { + sb.Append(b.ToString("x2")); + } + + return sb.ToString(); + } + + public static string HMACSHA1(string text, string key) + { + HMACSHA1 myhmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(key)); + byte[] byteArray = Encoding.UTF8.GetBytes(text); + MemoryStream stream = new MemoryStream(byteArray); + string signature = Convert.ToBase64String(myhmacsha1.ComputeHash(stream)); + + return signature; + } + + #region JS Aes解密 + + /// + /// JS Aes解密 + /// + /// + /// + /// + /// + public static string JsAesDecrypt(string toDecrypt, string key, string iv) + { + byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); + byte[] ivArray = UTF8Encoding.UTF8.GetBytes(iv); + byte[] cipherText = HexToByteArray(toDecrypt); + // Check arguments. + if (cipherText == null || cipherText.Length <= 0) + { + throw new ArgumentNullException("cipherText"); + } + + if (key == null || key.Length <= 0) + { + throw new ArgumentNullException("key"); + } + + if (iv == null || iv.Length <= 0) + { + throw new ArgumentNullException("key"); + } + + string plaintext = null; + using (var rijAlg = new RijndaelManaged()) + { + //Settings + rijAlg.Mode = CipherMode.CBC; + rijAlg.Padding = PaddingMode.PKCS7; + rijAlg.FeedbackSize = 128; + + rijAlg.Key = keyArray; + rijAlg.IV = ivArray; + + var decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV); + + using (var msDecrypt = new MemoryStream(cipherText)) + { + using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) + { + using (var srDecrypt = new StreamReader(csDecrypt)) + { + plaintext = srDecrypt.ReadToEnd(); + } + } + } + } + + return plaintext; + } + + private static byte[] HexToByteArray(string hex) + { + int NumberChars = hex.Length; + byte[] bytes = new byte[NumberChars / 2]; + for (int i = 0; i < NumberChars; i += 2) + bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16); + return bytes; + } + + #endregion + + #region JS Aes 加密 + + /// + /// JsAesEncrypt + /// + /// + /// + /// + /// + public static string JsAesEncrypt(string plainText, string key, string iv) + { + byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); + byte[] ivArray = UTF8Encoding.UTF8.GetBytes(iv); + + // Check arguments. + if (plainText == null || plainText.Length <= 0) + { + throw new ArgumentNullException("plainText"); + } + + if (key == null || key.Length <= 0) + { + throw new ArgumentNullException("key"); + } + + if (iv == null || iv.Length <= 0) + { + throw new ArgumentNullException("key"); + } + + byte[] encrypted; + using (var rijAlg = new RijndaelManaged()) + { + rijAlg.Mode = CipherMode.CBC; + rijAlg.Padding = PaddingMode.PKCS7; + rijAlg.FeedbackSize = 128; + + rijAlg.Key = keyArray; + rijAlg.IV = ivArray; + + var encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV); + using (var msEncrypt = new MemoryStream()) + { + using (var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) + { + using (var swEncrypt = new StreamWriter(csEncrypt)) + { + swEncrypt.Write(plainText); + } + + encrypted = msEncrypt.ToArray(); + } + } + } + + // Return the encrypted bytes from the memory stream. + return ByteArrayToHex(encrypted); + } + + private static string ByteArrayToHex(byte[] ba) + { + string hex = BitConverter.ToString(ba); + return hex.Replace("-", ""); + } + + #endregion + + #region 加密隐藏信息(将原信息其中一部分数据替换为特殊字符) + + /// + /// 加密隐藏信息(将原信息其中一部分数据替换为特殊字符) + /// + /// 原参数信息 + /// 更换后的特殊字符 + /// 下标 + /// 位数,-1代表到队尾 + /// + public static string Encrypt(string param, string key, int index, int length = -1) + { + if (string.IsNullOrEmpty(param)) + { + return ""; + } + + string str = ""; + if (index > param.Length - 1) + { + return param; + } + + str = param.Substring(0, index); + if (length == -1) + { + length = param.Length - index; + } + + for (int i = 0; i < length; i++) + { + str += key; + } + + if (index + length < param.Length) + { + str += param.Substring(index + length); + } + + return str; + } + + #endregion + + + /// + /// 将密码使用MD5算法求哈希值 + /// + /// + /// + public static string HashPassword(string password) + { + using (MD5 md5 = MD5.Create()) + { + byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(password)); + return Convert.ToBase64String(bytes); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/ShellHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ShellHelper.cs new file mode 100644 index 0000000..86b6102 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ShellHelper.cs @@ -0,0 +1,63 @@ +using System; +using System.Diagnostics; +using System.Runtime.InteropServices; + +namespace Hncore.Infrastructure.Common +{ + public class ShellHelper + { + public static string Bash(string cmd) + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + var escapedArgs = cmd.Replace("\"", "\\\""); + + var process = new Process() + { + StartInfo = new ProcessStartInfo + { + FileName = "/bin/bash", + Arguments = $"-c \"{escapedArgs}\"", + RedirectStandardOutput = true, + UseShellExecute = false, + CreateNoWindow = true + } + }; + process.Start(); + string result = process.StandardOutput.ReadToEnd(); + process.WaitForExit(); + return result; + } + + return ""; + } + + public static void RedirectOutputBash(string cmd) + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + cmd = cmd.Replace("\"", "\\\""); + + Console.WriteLine("执行命令"); + Console.WriteLine(cmd); + + var process = new Process() + { + StartInfo = new ProcessStartInfo + { + FileName = "/bin/bash", + Arguments = $"-c \"{cmd}\"", + RedirectStandardOutput = true, + UseShellExecute = false, + CreateNoWindow = true, + } + }; + + process.OutputDataReceived += (sender, args) => Console.WriteLine(args.Data); + process.Start(); + process.BeginOutputReadLine(); + process.WaitForExit(); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/UrlHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/UrlHelper.cs new file mode 100644 index 0000000..7ffc5fa --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/UrlHelper.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Hncore.Infrastructure.Common +{ + public class UrlHelper + { + #region 设置url参数 + + /// + /// 设置url参数 + /// + /// + /// + /// + /// + public static string SetUrlParam(string url, string paramName, string paramValue) + { + paramName = paramName.ToLower(); + + string currentUrl = url; + + if (!string.IsNullOrEmpty(paramValue)) + { + paramValue = HttpUtility.UrlEncode(paramValue); + } + + if (!currentUrl.Contains("?")) + { + return currentUrl += "?" + paramName + "=" + paramValue; + } + + List paramItems = currentUrl.Split('?')[1].Split('&').ToList(); + + string paramItem = paramItems.SingleOrDefault(t => t.ToLower().Split('=')[0] == paramName); + + if (!string.IsNullOrEmpty(paramItem)) + { + return currentUrl.Replace(paramItem, paramName + "=" + paramValue); + } + else + { + if (currentUrl.Contains("?")) + { + currentUrl += "&"; + } + else + { + currentUrl += "?"; + } + return currentUrl + paramName + "=" + paramValue; + } + } + + public static string SetUrlParam(string url, object paramObj) + { + var type = paramObj.GetType(); + var properties = type.GetProperties(); + + foreach (var property in properties) + { + string name = property.Name; + + object valueObj = property.GetValue(paramObj, null); + + if (valueObj == null) + { + continue; + } + + string value = valueObj.ToString(); + + url = SetUrlParam(url, name, value); + } + + return url; + } + + + public static string ToUrlParam(IDictionary kvs) + { + return string.Join("&", kvs.Select(m => $"{m.Key}={m.Value}")); + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Common/ValidateCodeHelper.cs b/Infrastructure/Hncore.Infrastructure/Common/ValidateCodeHelper.cs new file mode 100644 index 0000000..9427e34 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Common/ValidateCodeHelper.cs @@ -0,0 +1,110 @@ +using System; +using System.Drawing; +using System.Drawing.Imaging; + +namespace Hncore.Infrastructure.Common +{ + public class ValidateCodeHelper + { + public static string MakeCode(int length = 4) + { + char[] allCharArray = new char[] { '2', '3', '4', '5', '6', '7', '8', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'W', 'X', 'Y', 'Z' }; + string randomCode = ""; + int temp = -1; + + Random rand = new Random(); + for (int i = 0; i < length; i++) + { + if (temp != -1) + { + rand = new Random(i * temp * ((int)DateTime.Now.Ticks)); + } + int t = rand.Next(allCharArray.Length); + if (temp == t) + { + return MakeCode(length); + } + temp = t; + randomCode += allCharArray[t]; + } + return randomCode; + } + public static string MakeNumCode(int length = 4) + { + char[] allCharArray = new char[] { '1','2', '3', '4', '5', '6', '7', '8','9'}; + string randomCode = ""; + int temp = -1; + + Random rand = new Random(); + for (int i = 0; i < length; i++) + { + if (temp != -1) + { + rand = new Random(i * temp * ((int)DateTime.Now.Ticks)); + } + int t = rand.Next(allCharArray.Length); + if (temp == t) + { + return MakeNumCode(length); + } + temp = t; + randomCode += allCharArray[t]; + } + return randomCode; + } + + public static string MakeCharCode(int length = 4) + { + char[] allCharArray = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'W', 'X', 'Y', 'Z' }; + string randomCode = ""; + int temp = -1; + + Random rand = new Random(); + for (int i = 0; i < length; i++) + { + if (temp != -1) + { + rand = new Random(i * temp * ((int)DateTime.Now.Ticks)); + } + int t = rand.Next(allCharArray.Length); + if (temp == t) + { + return MakeCharCode(length); + } + temp = t; + randomCode += allCharArray[t]; + } + return randomCode; + } + + public static byte[] GenerateCodeImg(string code) + { + int Gheight = (int)(code.Length * 15) + 10; + + //gheight为图片宽度,根据字符长度自动更改图片宽度 + using (var img = new Bitmap(Gheight, 22)) + { + using (var g = Graphics.FromImage(img)) + { + SolidBrush whiteBrush = new SolidBrush(Color.White); + g.FillRectangle(whiteBrush, 0, 0, Gheight, 22); + int i = 0; + foreach (char ch in code.ToCharArray()) + { + g.DrawString(ch.ToString(), + new Font("Arial", 13, FontStyle.Italic), + new SolidBrush(Color.FromArgb(0, 0, 0)), + i * 15, + 0); + i++; + } + + //在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y) + System.IO.MemoryStream ms = new System.IO.MemoryStream(); + img.Save(ms, ImageFormat.Jpeg); + return ms.ToArray(); + } + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/AggregateRoot.cs b/Infrastructure/Hncore.Infrastructure/DDD/AggregateRoot.cs new file mode 100644 index 0000000..3436361 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/AggregateRoot.cs @@ -0,0 +1,9 @@ +namespace Hncore.Infrastructure.DDD +{ + public abstract class AggregateRoot : Entity, IAggregateRoot + { + public AggregateRoot() + { + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/Entity.cs b/Infrastructure/Hncore.Infrastructure/DDD/Entity.cs new file mode 100644 index 0000000..6c2ef93 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/Entity.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace Hncore.Infrastructure.DDD +{ + /// + /// 实现模型抽象基类 + /// + /// 主键数据类型 + public abstract class Entity : IEntity + { + /// + /// 记录数据库主键ID + /// + [JsonProperty("Id")] + public virtual TId Id { get; set; } + } + + public abstract class EntityWithTime : Entity + { + /// + /// 记录添加(创建)时间 + /// + public virtual DateTime CreateTime { get; set; } = DateTime.Now; + + /// + /// 记录最后更新时间 + /// + public virtual DateTime UpdateTime { get; set; } = DateTime.Now; + + /// + /// 记录软删除标记,0.代表正常,1.代表已删除 + /// + public virtual int DeleteTag { get; set; } + + } + + public abstract class EntityWithDelete : Entity,ISoftDelete + { + /// + /// 记录软删除标记,0.代表正常,1.代表已删除 + /// + public virtual int DeleteTag { get; set; } = 0; + + } + +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/IAggregateRoot.cs b/Infrastructure/Hncore.Infrastructure/DDD/IAggregateRoot.cs new file mode 100644 index 0000000..a4bd488 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/IAggregateRoot.cs @@ -0,0 +1,6 @@ +namespace Hncore.Infrastructure.DDD +{ + public interface IAggregateRoot : IEntity + { + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/IEntity.cs b/Infrastructure/Hncore.Infrastructure/DDD/IEntity.cs new file mode 100644 index 0000000..43ae0c9 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/IEntity.cs @@ -0,0 +1,16 @@ +using System; + +namespace Hncore.Infrastructure.DDD +{ + public interface IEntity + { + + } + public interface IEntity: IEntity + { + TId Id + { + get; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/DDD/IQuery.cs b/Infrastructure/Hncore.Infrastructure/DDD/IQuery.cs new file mode 100644 index 0000000..3aeb4f6 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/IQuery.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; +using Hncore.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; + +namespace Hncore.Infrastructure.DDD +{ + public interface IQuery where TEntity : IEntity + { + TEntity GetOne(Expression> condition); + + Task GetOneAsync(Expression> condition); + + PageData GetList(Expression> condition, int pagesize, int pageindex, bool istotal); + + Task> GetListAsync(Expression> condition, int pagesize, int pageindex, bool istotal); + + List GetList(Expression> condition); + + Task> GetListAsync(Expression> condition); + + bool Exists(Expression> condition); + + Task ExistsAsync(Expression> condition); + + List TopN(Expression> condition, int topN); + + Task> TopNAsync(Expression> condition, int topN); + + IQueryable GetListQueryable(Expression> condition); + + IQueryable GetQueryable(); + + DbContext DbContext(); + + } +} diff --git a/Infrastructure/Hncore.Infrastructure/DDD/IRepository.cs b/Infrastructure/Hncore.Infrastructure/DDD/IRepository.cs new file mode 100644 index 0000000..758bb19 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/IRepository.cs @@ -0,0 +1,43 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.DDD +{ + public interface IRepository where TEntity : IEntity + { + TEntity FindById(TId id); + + Task FindByIdAsync(TId id); + + void Add(TEntity entity); + + Task AddAsync(TEntity entity); + /// + /// 批量添加 + /// + /// + void AddRange(List entity); + /// + /// 批量添加 + /// + /// + Task AddRangeAsync(List entity); + /// + /// 批量修改 + /// + /// + void UpdateRange(List entity); + /// + /// 批量删除 + /// + /// + void RemoveRange(List entity); + + void Remove(TEntity entity); + void Update(TEntity entity); + + + IQueryable GetQueryable(); + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/ISoftDelete.cs b/Infrastructure/Hncore.Infrastructure/DDD/ISoftDelete.cs new file mode 100644 index 0000000..1c2b80d --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/ISoftDelete.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.DDD +{ + public interface ISoftDelete + { + int DeleteTag { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/ITenant.cs b/Infrastructure/Hncore.Infrastructure/DDD/ITenant.cs new file mode 100644 index 0000000..5cd971b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/ITenant.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.DDD +{ + public interface ITenant + { + int TenantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/DDD/ITenantStore.cs b/Infrastructure/Hncore.Infrastructure/DDD/ITenantStore.cs new file mode 100644 index 0000000..0c3cd68 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/DDD/ITenantStore.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.DDD +{ + public interface ITenantStore + { + int StoreId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Data/BusinessException.cs b/Infrastructure/Hncore.Infrastructure/Data/BusinessException.cs new file mode 100644 index 0000000..9472674 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Data/BusinessException.cs @@ -0,0 +1,29 @@ +using System; +using Hncore.Infrastructure.WebApi; + +namespace Hncore.Infrastructure.Data +{ + public class BusinessException : Exception + { + public ResultCode Code { get; } = ResultCode.C_UNKNOWN_ERROR; + + public BusinessException(string message) : base(message) + { + } + + public BusinessException(ResultCode code, string message = "") : base(message) + { + Code = code; + } + + public static void Throw(string message = "") + { + throw new BusinessException(message); + } + + public static void Throw(ResultCode code, string message = "") + { + throw new BusinessException(code, message); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Data/HttpException.cs b/Infrastructure/Hncore.Infrastructure/Data/HttpException.cs new file mode 100644 index 0000000..fc633ee --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Data/HttpException.cs @@ -0,0 +1,17 @@ +using System; +using System.Net; + +namespace Hncore.Infrastructure.Data +{ + public class HttpException: Exception + { + public HttpStatusCode HttpStatusCode { get; set; } + + public string Content { get; set; } + + public HttpException(HttpStatusCode httpStatusCode) + { + HttpStatusCode = httpStatusCode; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Data/PageData.cs b/Infrastructure/Hncore.Infrastructure/Data/PageData.cs new file mode 100644 index 0000000..af9c74b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Data/PageData.cs @@ -0,0 +1,40 @@ +using Newtonsoft.Json; +using System.Collections.Generic; + +namespace Hncore.Infrastructure.Data +{ + public interface IPageData + { + /// + /// 总行数 + /// + int RowCount { get; set; } + + } + /// + /// 分页数据集合 + /// + public class PageData + { + public PageData() + { + List = new List(); + } + + public PageData(int rowCount, List data) + { + this.RowCount = rowCount; + this.List = data; + } + + /// + /// 总行数 + /// + public int RowCount { get; set; } + + /// + /// 当前页数据集合 + /// + public List List { get; set; } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Data/PageQueryable.cs b/Infrastructure/Hncore.Infrastructure/Data/PageQueryable.cs new file mode 100644 index 0000000..c28fb07 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Data/PageQueryable.cs @@ -0,0 +1,25 @@ +using System.Linq; + +namespace Hncore.Infrastructure.Data +{ + /// + /// 分页数据源 + /// + public class PageQueryable + { + /// + /// 总页数 + /// + public int RowCount { get; set; } + + /// + /// 当前页数据集合 + /// + public IQueryable Data { get; set; } + + public PageData ToList() + { + return new PageData(){List=Data.ToList(),RowCount=RowCount}; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Data/ResultMessage.cs b/Infrastructure/Hncore.Infrastructure/Data/ResultMessage.cs new file mode 100644 index 0000000..5a41963 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Data/ResultMessage.cs @@ -0,0 +1,48 @@ + + +using System; + +namespace Hncore.Infrastructure.Data +{ + public class ResultMessage + { + public ResultMessage() + { + Success = true; + } + + public string Message { get; set; } = ""; + + public bool Success { get; set; } + + public string Code { get; set; } = ""; + + public Action CallBack { get; set; } = null; + + public object Data { get; set; } = null; + + public ResultMessage(bool success, string message) + { + this.Success = success; + this.Message = message; + } + + public ResultMessage(bool success, string message,object data) + { + this.Success = success; + this.Message = message; + this.Data = data; + } + + public ResultMessage(bool success) + { + this.Success = success; + } + + public ResultMessage(string message) + { + Success = true; + this.Message = message; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Data/TransactionsHelper.cs b/Infrastructure/Hncore.Infrastructure/Data/TransactionsHelper.cs new file mode 100644 index 0000000..f1ad18d --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Data/TransactionsHelper.cs @@ -0,0 +1,24 @@ +using System; + +namespace Hncore.Infrastructure.Data +{ + public class TransactionsHelper + { + public static void NoLockInvokeDB(Action action) + { + var transactionOptions = new System.Transactions.TransactionOptions(); + transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted; + using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions)) + { + try + { + action(); + } + finally + { + transactionScope.Complete(); + } + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/DbContextBase.cs b/Infrastructure/Hncore.Infrastructure/EF/DbContextBase.cs new file mode 100644 index 0000000..eec0568 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/DbContextBase.cs @@ -0,0 +1,119 @@ +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.DDD; +using Hncore.Infrastructure.Extension; +using Hncore.Infrastructure.Serializer; +using Hncore.Infrastructure.WebApi; +using Microsoft.AspNetCore.Http; +using Microsoft.EntityFrameworkCore; +using System; +using System.Linq; + + +namespace Hncore.Infrastructure.EF +{ + /// + /// 上下文构造器的基类 + /// + public class DbContextBase : DbContext + { + private IHttpContextAccessor _httpContextAccessor; + + private bool _enabledLog = false; + + private int _tenantid = 0; + + private int _storeId = 0; + + private bool _root = false; + + private bool _allow = false; + + public DbContextBase(DbContextOptions options, IHttpContextAccessor httpContextAccessor) : base(options) + { + _httpContextAccessor = httpContextAccessor; + + if (UseTenantFilter()) + { + ManageUserInfo manageUserInfo = _httpContextAccessor.HttpContext.Request.GetManageUserInfo(); + + if (manageUserInfo != null) + { + _tenantid = manageUserInfo.TenantId; + _storeId = manageUserInfo.StoreId; + } + } + else + { + _allow = true; + } + } + + private bool UseTenantFilter() + { + if (_httpContextAccessor == null || _httpContextAccessor.HttpContext == null) + { + return false; + } + + return _httpContextAccessor.HttpContext.Items.ContainsKey("AuthPassedFilterName") + && _httpContextAccessor.HttpContext.Items["AuthPassedFilterName"].ToString() == "ManageAuth"; + } + + + /// + /// model构造器 创建实体映射 + /// + /// + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + if (!EnvironmentVariableHelper.IsAspNetCoreProduction) + { + LogHelper.Debug("进入DbContextBase的OnModelCreating函数", + $"UseGlobalManageAuthFilter:{GlobalData.UseGlobalManageAuthFilter}\ntoken:{_httpContextAccessor?.HttpContext?.Request?.GetManageUserInfo()?.ToJson(true)}"); + } + + foreach (var type in modelBuilder.Model.GetEntityTypes()) + { + if (typeof(ISoftDelete).IsAssignableFrom(type.ClrType)) + { + modelBuilder.Entity(type.ClrType).AddQueryFilter(t => t.DeleteTag == 0); + } + //if (typeof(ITenant).IsAssignableFrom(type.ClrType)) + //{ + // modelBuilder.Entity(type.ClrType).AddQueryFilter(t => _allow || t.TenantId == _tenantid); + //} + + //if (typeof(ITenantStore).IsAssignableFrom(type.ClrType)) + //{ + // modelBuilder.Entity(type.ClrType) + // .AddQueryFilter(t => _storeId == 0|| t.StoreId==_storeId); + //} + } + } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + if (_httpContextAccessor?.HttpContext?.Request?.Headers != null) + { + if (_httpContextAccessor.HttpContext.Request.Headers.ContainsKey("enable-ef-log")) + { + if (_httpContextAccessor.HttpContext.Request.Headers.ContainsKey("enable-ef-log").ToBool()) + { + if (_enabledLog == false) + { + optionsBuilder.EnableDebugTrace(_httpContextAccessor); + _enabledLog = true; + } + } + } + } +#if DEBUG + Console.WriteLine("当前为debug模式,开启EF DebugTrace"); + optionsBuilder.EnableDebugTrace(null); +#endif + } + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/DbContextExtension.cs b/Infrastructure/Hncore.Infrastructure/EF/DbContextExtension.cs new file mode 100644 index 0000000..26cfe37 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/DbContextExtension.cs @@ -0,0 +1,228 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Data.Common; +using System.Linq; +using System.Reflection; + +namespace Hncore.Infrastructure.Extension +{ + /// + /// EF上下文对象扩展类 + /// + /// + public static class DbContextExtension + { + /// + /// 执行SQL返回受影响的行数 + /// + public static int ExecSqlNoQuery(this DbContext db, string sql, DbParameter[] sqlParams = null) + { + return ExecuteNoQuery(db, sql, sqlParams); + } + /// + /// 执行存储过程返回IEnumerable数据集 + /// + public static IEnumerable ExecProcQuery(this DbContext db, string sql, DbParameter[] sqlParams = null) where T : new() + { + return Execute(db, sql, CommandType.StoredProcedure, sqlParams); + } + /// + /// 执行存储过程返回IEnumerable数据集 + /// + public static DataSet ExecProcDataSet(this DbContext db, string sql, DbParameter[] sqlParams = null) + { + return ExecuteDataSet(db, sql, CommandType.StoredProcedure, sqlParams); + } + /// + /// 执行sql返回IEnumerable数据集 + /// + public static IEnumerable ExecSqlQuery(this DbContext db, string sql, DbParameter[] sqlParams = null) where T : new() + { + return Execute(db, sql, CommandType.Text, sqlParams); + } + /// + /// 执行SQL并返回受影响的行数 + /// + /// + /// + /// + /// + private static int ExecuteNoQuery(this DbContext db, string sql, DbParameter[] sqlParams) + { + DbConnection connection = db.Database.GetDbConnection(); + DbCommand cmd = connection.CreateCommand(); + int result = 0; + db.Database.OpenConnection(); + cmd.CommandText = sql; + cmd.CommandType = CommandType.Text; + if (sqlParams != null) + { + cmd.Parameters.AddRange(sqlParams); + } + result = cmd.ExecuteNonQuery(); + db.Database.CloseConnection(); + return result; + } + /// + /// 执行SQL,返回查询结果 + /// + /// + /// + /// + /// + /// + /// + private static IEnumerable Execute(this DbContext db, string sql, CommandType type, DbParameter[] sqlParams) where T : new() + { + DbConnection connection = db.Database.GetDbConnection(); + DbCommand cmd = connection.CreateCommand(); + DataTable dt = new DataTable(); + try + { + db.Database.OpenConnection(); + cmd.CommandText = sql; + cmd.CommandType = type; + if (sqlParams != null) + { + cmd.Parameters.AddRange(sqlParams); + } + using (DbDataReader reader = cmd.ExecuteReader()) + { + dt.Load(reader); + } + } + finally + { + db.Database.CloseConnection(); + } + return dt.ToCollection(); + } + /// + /// 执行SQL,返回查询结果 + /// + /// + /// + /// + /// + /// + /// + private static DataSet ExecuteDataSet(this DbContext db, string sql, CommandType type, DbParameter[] sqlParams) + { + DbConnection connection = db.Database.GetDbConnection(); + DbCommand cmd = connection.CreateCommand(); + db.Database.OpenConnection(); + cmd.CommandText = sql; + cmd.CommandType = type; + if (sqlParams != null) + { + cmd.Parameters.AddRange(sqlParams); + } + DataSet ds = new DataSet(); + using (DbDataReader reader = cmd.ExecuteReader()) + { + ds.Load(reader,LoadOption.PreserveChanges,"data","info"); + } + db.Database.CloseConnection(); + return ds; + } + } + + /// + /// DataTable扩展类 + /// + /// + public static class ExtendDataTable + { + /// + /// 将对象转换成DataTable + /// + /// 源对象类型 + /// 源对象列表 + /// 转换后的DataTable + /// + public static DataTable ToDataTable(this IEnumerable data) + { + PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T)); + var table = new DataTable(); + foreach (PropertyDescriptor prop in properties) + table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType); + foreach (T item in data) + { + DataRow row = table.NewRow(); + foreach (PropertyDescriptor prop in properties) + row[prop.Name] = prop.GetValue(item) ?? DBNull.Value; + table.Rows.Add(row); + } + return table; + } + + /// + /// 将DataTable首行转换成目标对象 + /// + /// 目标对象类型 + /// 源DataTable对象 + /// 转换后的目标对象 + /// + public static T ToEntity(this DataTable dt) where T : new() + { + IEnumerable entities = dt.ToCollection(); + return entities.FirstOrDefault(); + } + + /// + /// 将DataTable转换成目标对象列表 + /// + /// 目标对象类型 + /// 源DataTable对象 + /// 转换后的目标对象列表 + /// + public static IEnumerable ToCollection(this DataTable dt) where T : new() + { + if (dt == null || dt.Rows.Count == 0) + { + return Enumerable.Empty(); + } + IList ts = new List(); + // 获得此模型的类型 + Type type = typeof(T); + string tempName = string.Empty; + foreach (DataRow dr in dt.Rows) + { + T t = new T(); + PropertyInfo[] propertys = t.GetType().GetProperties(); + foreach (PropertyInfo pi in propertys) + { + tempName = pi.Name; + //检查DataTable是否包含此列(列名==对象的属性名) + if (dt.Columns.Contains(tempName)) + { + // 判断此属性是否有Setter + if (!pi.CanWrite) continue;//该属性不可写,直接跳出 + object value = dr[tempName]; + if (value != DBNull.Value) + { + if (!pi.PropertyType.IsGenericType) + { + value = Convert.ChangeType(value, pi.PropertyType); + pi.SetValue(t, value); + } + else { + Type genericTypeDefinition = pi.PropertyType.GetGenericTypeDefinition(); + if (genericTypeDefinition == typeof(Nullable<>)) + { + value = Convert.ChangeType(value, Nullable.GetUnderlyingType(pi.PropertyType)); + pi.SetValue(t, value); + } + } + } + } + } + ts.Add(t); + } + return ts; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EF/DbSetExtension.cs b/Infrastructure/Hncore.Infrastructure/EF/DbSetExtension.cs new file mode 100644 index 0000000..574bb9f --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/DbSetExtension.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.DDD; +using Hncore.Infrastructure.EntitiesExtension; + +namespace Hncore.Infrastructure.EF +{ + public static class DbSetExtension + { + public static TEntity GetOne(this DbSet dbSet, Expression> exp) + where TEntity : class + { + return dbSet.AsNoTracking().FirstOrDefault(exp); + } + + public static Task GetOneAsync(this DbSet dbSet, + Expression> exp) where TEntity : class + { + return dbSet.AsNoTracking().FirstOrDefaultAsync(exp); + } + + public static PageData GetList(this DbSet dbSet, + Expression> exp, int pagesize, int pageindex, bool istotal) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Where(exp) + .OrderByDescending(t => t.Id) + .ListPager(pagesize, pageindex, istotal); + } + + public static Task> GetListAsync(this DbSet dbSet, + Expression> exp, int pagesize, int pageindex, bool istotal) + where TEntity : class + { + return dbSet.AsNoTracking() + .Where(exp) + .ListPagerAsync(pagesize, pageindex, istotal); + } + + public static List GetList(this DbSet dbSet, Expression> exp) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Where(exp) + .ToList(); + } + + public static Task> GetListAsync(this DbSet dbSet, + Expression> exp) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Where(exp) + .ToListAsync(); + } + + public static IQueryable GetListQueryable(this DbSet dbSet, + Expression> exp) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Where(exp); + } + + public static bool Exists(this DbSet dbSet, Expression> exp) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Any(exp); + } + + public static Task ExistsAsync(this DbSet dbSet, + Expression> exp) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .AnyAsync(exp); + } + + public static List TopN(this DbSet dbSet, + Expression> condition, int topN) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Where(condition) + .TopN(topN) + .ToList(); + } + + public static Task> TopNAsync(this DbSet dbSet, + Expression> condition, int topN) + where TEntity : class, IEntity + { + return dbSet.AsNoTracking() + .Where(condition) + .TopN(topN) + .ToListAsync(); + } + + public static IQueryable GetQueryable(this DbSet dbSet) where TEntity : class + { + return dbSet.AsNoTracking(); + } + + public static TEntity FindById(this DbSet dbSet,object id) where TEntity : class + { + return dbSet.Find(id); + } + + public static Task FindByIdAsync(this DbSet dbSet, object id) where TEntity : class + { + return dbSet.FindAsync(id); + } + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/EntityMapBase.cs b/Infrastructure/Hncore.Infrastructure/EF/EntityMapBase.cs new file mode 100644 index 0000000..034d1fd --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/EntityMapBase.cs @@ -0,0 +1,25 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace Hncore.Infrastructure.EF +{ + public interface IEntityMap + { + void Map(ModelBuilder builder); + } + + public interface IEntityMap : IEntityMap where TEntityType : class + { + void Map(EntityTypeBuilder builder); + } + + public abstract class EntityMapBase : IEntityMap where T : class + { + public abstract void Map(EntityTypeBuilder builder); + + public void Map(ModelBuilder builder) + { + Map(builder.Entity()); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/Extensions/AutoMap.cs b/Infrastructure/Hncore.Infrastructure/EF/Extensions/AutoMap.cs new file mode 100644 index 0000000..4652d83 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/Extensions/AutoMap.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Microsoft.EntityFrameworkCore; + +namespace Hncore.Infrastructure.EF +{ + public static class AutoMapExtensions + { + private static object syncRoot = new object(); + private static ConcurrentDictionary maps; + + public static void AutoMap(this ModelBuilder modelBuilder, Type assType) + { + if (maps == null) + { + lock (syncRoot) + { + if (maps == null) + { + maps = new ConcurrentDictionary(); + + Type mappingInterface = typeof(IEntityMap<>); + + var mappingTypes = assType.GetTypeInfo().Assembly.GetTypes() + .Where(x => !x.IsAbstract + && x.GetInterfaces().Any(y => y.GetTypeInfo().IsGenericType + && y.GetGenericTypeDefinition() == + mappingInterface)); + + foreach (var map in mappingTypes.Select(Activator.CreateInstance).Cast()) + { + maps.TryAdd(map, null); + } + } + } + } + + foreach (var map in maps.Keys) + { + map.Map(modelBuilder); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/Extensions/DebugLog.cs b/Infrastructure/Hncore.Infrastructure/EF/Extensions/DebugLog.cs new file mode 100644 index 0000000..3e4e997 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/Extensions/DebugLog.cs @@ -0,0 +1,121 @@ +using System; +using System.Diagnostics; +using System.Linq; +using System.Text; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Http; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; +using Hncore.Infrastructure.Core.Web; + +namespace Hncore.Infrastructure.EF +{ + public class TraceLogger : ILogger + { + private readonly string categoryName; + private IHttpContextAccessor _httpContextAccessor; + + public TraceLogger(string categoryName, IHttpContextAccessor httpContextAccessor) + { + this.categoryName = categoryName; + this._httpContextAccessor = httpContextAccessor; + } + + public bool IsEnabled(LogLevel logLevel) => true; + + public void Log( + LogLevel logLevel, + EventId eventId, + TState state, + Exception exception, + Func formatter) + { + if (logLevel == LogLevel.Information && categoryName == "Microsoft.EntityFrameworkCore.Database.Command") + { + Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} 执行sql:"); + + if (exception != null) + { + Console.WriteLine("发生异常:\n" + exception); + } + else + { + if (state.GetType().Name == "LogValues`6") + { + var paramText = state.GetType().GetField("_value1").GetValue(state).ToString(); + var sql = state.GetType().GetField("_value5").GetValue(state).ToString(); + + var paramList = paramText.RegexMatches("@__.*?='.*?'"); + + paramList.ForEach(param => + { + var arr = param.Split('='); + + sql = sql.Replace(arr[0], arr[1]); + }); + + Console.WriteLine(sql); + + if (_httpContextAccessor?.HttpContext?.Request?.Headers != null + && _httpContextAccessor.HttpContext.Request.Headers + .ContainsKey("enable-ef-log").ToBool()) + { + StringBuilder log = new StringBuilder(); + + log.Append("请求URL:" + _httpContextAccessor.HttpContext.Request.GetAbsoluteUri() + ""); + log.Append("\nMethod:" + _httpContextAccessor.HttpContext.Request.Method + "\n"); + if (_httpContextAccessor.HttpContext.Request.Method.ToLower() != "get") + { + log.Append("Body:\n" + _httpContextAccessor.HttpContext.Items["___requestbody"] + + "\n------------------------\n"); + } + else + { + log.Append("\n------------------------\n"); + } + + log.Append(sql); + + LogHelper.Debug("efcore日志", log.ToString()); + } + } + } + + //Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} {logLevel} {eventId.Id} {this.categoryName}"); + //Console.WriteLine(formatter(state, exception)); + } + } + + public IDisposable BeginScope(TState state) => null; + } + + public class TraceLoggerProvider : ILoggerProvider + { + private IHttpContextAccessor _httpContextAccessor; + + public TraceLoggerProvider(IHttpContextAccessor httpContextAccessor) + { + _httpContextAccessor = httpContextAccessor; + } + + public ILogger CreateLogger(string categoryName) => new TraceLogger(categoryName, _httpContextAccessor); + + public void Dispose() + { + } + } + + + public static class DebugLog + { + public static void EnableDebugTrace(this DbContextOptionsBuilder optionsBuilder, + IHttpContextAccessor httpContextAccessor) + { + LoggerFactory loggerFactory = new LoggerFactory(); + loggerFactory.AddProvider(new TraceLoggerProvider(httpContextAccessor)); + optionsBuilder.UseLoggerFactory(loggerFactory); + optionsBuilder.EnableSensitiveDataLogging(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/Extensions/QueryFilter.cs b/Infrastructure/Hncore.Infrastructure/EF/Extensions/QueryFilter.cs new file mode 100644 index 0000000..fe4cdcf --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/Extensions/QueryFilter.cs @@ -0,0 +1,50 @@ +using System; +using System.Linq; +using System.Linq.Expressions; +using System.Reflection; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.DDD; +using Hncore.Infrastructure.Serializer; +using Hncore.Infrastructure.WebApi; +using Microsoft.AspNetCore.Http; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using Microsoft.EntityFrameworkCore.Metadata.Internal; +using Remotion.Linq.Parsing.ExpressionVisitors; +using Hncore.Infrastructure.Core.Web; + +namespace Hncore.Infrastructure.EF +{ + public static class QueryFilterExtensions + { + public static void AddQueryFilter(this EntityTypeBuilder entityTypeBuilder, + Expression> expression) + { + var parameterType = Expression.Parameter(entityTypeBuilder.Metadata.ClrType); + var expressionFilter = ReplacingExpressionVisitor.Replace( + expression.Parameters.Single(), parameterType, expression.Body); + + var internalEntityTypeBuilder = entityTypeBuilder.GetInternalEntityTypeBuilder(); + if (internalEntityTypeBuilder.Metadata.QueryFilter != null) + { + var currentQueryFilter = internalEntityTypeBuilder.Metadata.QueryFilter; + var currentExpressionFilter = ReplacingExpressionVisitor.Replace( + currentQueryFilter.Parameters.Single(), parameterType, currentQueryFilter.Body); + expressionFilter = Expression.AndAlso(currentExpressionFilter, expressionFilter); + } + + var lambdaExpression = Expression.Lambda(expressionFilter, parameterType); + entityTypeBuilder.HasQueryFilter(lambdaExpression); + } + + internal static InternalEntityTypeBuilder GetInternalEntityTypeBuilder(this EntityTypeBuilder entityTypeBuilder) + { + var internalEntityTypeBuilder = typeof(EntityTypeBuilder) + .GetProperty("Builder", BindingFlags.NonPublic | BindingFlags.Instance)? + .GetValue(entityTypeBuilder) as InternalEntityTypeBuilder; + + return internalEntityTypeBuilder; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/Extensions/Sql.cs b/Infrastructure/Hncore.Infrastructure/EF/Extensions/Sql.cs new file mode 100644 index 0000000..be2a65a --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/Extensions/Sql.cs @@ -0,0 +1,196 @@ +using System; +using System.Collections.Generic; +using System.Data.Common; +using System.Reflection; +using Microsoft.EntityFrameworkCore; + +namespace Hncore.Infrastructure.EF +{ + public static class Sql + { + /// + /// 执行Reader + /// + /// + /// + /// + public static void Reader(this DbContext dbContext, string sql, Action action) + { + var conn = dbContext.Database.GetDbConnection(); + + try + { + conn.Open(); + + using (var command = conn.CreateCommand()) + { + string query = sql; + + command.CommandText = query; + + using (DbDataReader reader = command.ExecuteReader()) + { + if (reader.HasRows) + { + while (reader.Read()) + { + action(reader); + } + } + } + } + } + finally + { + conn.Close(); + } + } + + /// + /// 执行Query + /// + /// + /// + /// + /// + public static List SqlQuery(this DbContext dbContext, string sql) + { + List list = new List(); + + var conn = dbContext.Database.GetDbConnection(); + + try + { + conn.Open(); + + using (var command = conn.CreateCommand()) + { + string query = sql; + + command.CommandText = query; + + using (DbDataReader reader = command.ExecuteReader()) + { + if (reader.HasRows) + { + list = reader.ReaderToList(); + } + } + } + } + finally + { + conn.Close(); + } + + + return list; + } + + /// + /// 执行Sql命令 + /// + /// + /// + /// + public static int ExecuteSql(this DbContext dbContext, string sql) + { + var conn = dbContext.Database.GetDbConnection(); + int rowAffected = 0; + try + { + conn.Open(); + + using (var command = conn.CreateCommand()) + { + command.CommandText = sql; + rowAffected = command.ExecuteNonQuery(); + } + } + finally + { + conn.Close(); + } + + return rowAffected; + } + + /// + /// DataReader转泛型 + /// + /// 传入的实体类 + /// DataReader对象 + /// + public static List ReaderToList(this DbDataReader objReader) + { + using (objReader) + { + List list = new List(); + + //获取传入的数据类型 + Type modelType = typeof(T); + + //遍历DataReader对象 + while (objReader.Read()) + { + //使用与指定参数匹配最高的构造函数,来创建指定类型的实例 + T model = Activator.CreateInstance(); + for (int i = 0; i < objReader.FieldCount; i++) + { + //判断字段值是否为空或不存在的值 + if (!IsNullOrDBNull(objReader[i])) + { + //匹配字段名 + PropertyInfo pi = modelType.GetProperty(objReader.GetName(i), + BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance | + BindingFlags.IgnoreCase); + if (pi != null) + { + //绑定实体对象中同名的字段 + pi.SetValue(model, CheckType(objReader[i], pi.PropertyType), null); + } + } + } + + list.Add(model); + } + + return list; + } + } + + /// + /// 判断指定对象是否是有效值 + /// + /// + /// + private static bool IsNullOrDBNull(object obj) + { + return (obj == null || (obj is DBNull)) ? true : false; + } + + /// + /// 对可空类型进行判断转换 + /// + /// DataReader字段的值 + /// 该字段的类型 + /// + private static object CheckType(object value, Type conversionType) + { + if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) + { + if (value == null) + return null; + System.ComponentModel.NullableConverter nullableConverter = + new System.ComponentModel.NullableConverter(conversionType); + conversionType = nullableConverter.UnderlyingType; + } + + if (typeof(System.Enum).IsAssignableFrom(conversionType)) + { + return Enum.Parse(conversionType, value.ToString()); + } + return Convert.ChangeType(value, conversionType); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/IQueryDbContext.cs b/Infrastructure/Hncore.Infrastructure/EF/IQueryDbContext.cs new file mode 100644 index 0000000..1780043 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/IQueryDbContext.cs @@ -0,0 +1,9 @@ +using Microsoft.EntityFrameworkCore; + +namespace Hncore.Infrastructure.EF +{ + public interface IQueryDbContext + { + DbContext DbContext { get; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/IRepositoryDbContext.cs b/Infrastructure/Hncore.Infrastructure/EF/IRepositoryDbContext.cs new file mode 100644 index 0000000..6f54ff7 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/IRepositoryDbContext.cs @@ -0,0 +1,9 @@ +using Microsoft.EntityFrameworkCore; + +namespace Hncore.Infrastructure.EF +{ + public interface IRepositoryDbContext + { + DbContext DbContext { get; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/QueryBase.cs b/Infrastructure/Hncore.Infrastructure/EF/QueryBase.cs new file mode 100644 index 0000000..2537b59 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/QueryBase.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.DDD; + + +namespace Hncore.Infrastructure.EF +{ + public class QueryBase : IQuery where TEntity : class, IEntity + { + protected DbContext Dbcontext; + + public QueryBase(IQueryDbContext dbContext) + { + Dbcontext = dbContext.DbContext; + } + + public TEntity GetOne(Expression> condition) + { + return Dbcontext.GetOne(condition); + } + + public Task GetOneAsync(Expression> condition) + { + return Dbcontext.GetOneAsync(condition); + } + + public PageData GetList(Expression> condition, int pagesize, int pageindex, + bool istotal) + { + return Dbcontext.GetList(condition, pagesize, pageindex, istotal); + } + + public Task> GetListAsync(Expression> condition, int pagesize, + int pageindex, bool istotal) + { + return Dbcontext.GetListAsync(condition, pagesize, pageindex, istotal); + } + + public List GetList(Expression> condition) + { + return Dbcontext.GetList(condition); + } + + public Task> GetListAsync(Expression> condition) + { + return Dbcontext.GetListAsync(condition); + } + + public List TopN(Expression> condition, int topN) + { + return Dbcontext.TopN(condition, topN); + } + + public Task> TopNAsync(Expression> condition, int topN) + { + return Dbcontext.TopNAsync(condition, topN); + } + + public IQueryable GetListQueryable(Expression> exp) + { + return Dbcontext.GetListQueryable(exp); + } + + public bool Exists(Expression> exp) + { + return Dbcontext.Exists(exp); + } + + public Task ExistsAsync(Expression> condition) + { + return Dbcontext.ExistsAsync(condition); + } + + public IQueryable GetQueryable() + { + return Dbcontext.Set().AsNoTracking(); + } + public DbContext DbContext() + { + return Dbcontext; + } + + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/QueryExtension.cs b/Infrastructure/Hncore.Infrastructure/EF/QueryExtension.cs new file mode 100644 index 0000000..6eb330b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/QueryExtension.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.DDD; +using Hncore.Infrastructure.EntitiesExtension; + +namespace Hncore.Infrastructure.EF +{ + public static class QueryExtension + { + public static TEntity GetOne(this DbContext dbcontext, Expression> exp) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .FirstOrDefault(exp); + } + + public static Task GetOneAsync(this DbContext dbcontext, + Expression> exp) where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .FirstOrDefaultAsync(exp); + } + + public static PageData GetList(this DbContext dbcontext, + Expression> exp, int pagesize, int pageindex, bool istotal) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(exp) + .OrderByDescending(t => t.Id) + .ListPager(pagesize, pageindex, istotal); + } + + public static Task> GetListAsync(this DbContext dbcontext, + Expression> exp, int pagesize, int pageindex, bool istotal) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(exp) + .OrderByDescending(t => t.Id) + .ListPagerAsync(pagesize, pageindex, istotal); + } + + public static List GetList(this DbContext dbcontext, Expression> exp) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(exp) + .ToList(); + } + + public static Task> GetListAsync(this DbContext dbcontext, + Expression> exp) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(exp) + .ToListAsync(); + } + + public static IQueryable GetListQueryable(this DbContext dbcontext, + Expression> exp) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(exp); + } + + public static bool Exists(this DbContext dbcontext, Expression> exp) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Any(exp); + } + + public static Task ExistsAsync(this DbContext dbcontext, + Expression> exp) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .AnyAsync(exp); + } + + public static List TopN(this DbContext dbcontext, + Expression> condition, int topN) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(condition) + .TopN(topN) + .ToList(); + } + + public static Task> TopNAsync(this DbContext dbcontext, + Expression> condition, int topN) + where TEntity : class, IEntity + { + return dbcontext.Set().AsNoTracking() + .Where(condition) + .TopN(topN) + .ToListAsync(); + } + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/RepositoryBase.cs b/Infrastructure/Hncore.Infrastructure/EF/RepositoryBase.cs new file mode 100644 index 0000000..63e44b5 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/RepositoryBase.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Hncore.Infrastructure.DDD; +using Microsoft.AspNetCore.Http; +using Microsoft.EntityFrameworkCore.ChangeTracking; + +namespace Hncore.Infrastructure.EF +{ + public class RepositoryBase : IRepository + where TEntity : Entity + { + protected DbContext Dbcontext; + + public RepositoryBase(IRepositoryDbContext dbContext) + { + Dbcontext = dbContext.DbContext; + } + + public TEntity FindById(TId id) + { + return Dbcontext.Set().Find(id); + } + + public Task FindByIdAsync(TId id) + { + return Dbcontext.Set().FindAsync(id); + } + + public void Add(TEntity entity) + { + Dbcontext.Set().Add(entity); + } + + + public Task AddAsync(TEntity entity) + { + return Dbcontext.Set().AddAsync(entity); + } + /// + /// 批量添加 + /// + /// + public void AddRange(List entity) + { + Dbcontext.Set().AddRange(entity); + } + /// + /// 批量添加 + /// + /// + public Task AddRangeAsync(List entity) + { + return Dbcontext.Set().AddRangeAsync(entity); + } + /// + /// 批量修改 + /// + /// + public void UpdateRange(List entity) + { + Dbcontext.Set().UpdateRange(entity); + } + /// + /// 批量删除 + /// + /// + public void RemoveRange(List entity) + { + Dbcontext.Set().RemoveRange(entity); + } + + public void Remove(TEntity entity) + { + Dbcontext.Set().Remove(entity); + } + public void Update(TEntity entity) + { + Dbcontext.Set().Update(entity); + } + + public IQueryable GetQueryable() + { + return Dbcontext.Set(); + } + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EF/迁移命令.txt b/Infrastructure/Hncore.Infrastructure/EF/迁移命令.txt new file mode 100644 index 0000000..ebcba70 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EF/迁移命令.txt @@ -0,0 +1,13 @@ +vs +Add-Migration +Update-Database + + + +cli +dotnet ef migrations add init + +dotnet ef database update + +输出脚本 +dotnet ef migrations script \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/CommonEqualityComparer.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/CommonEqualityComparer.cs new file mode 100644 index 0000000..d50da74 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/CommonEqualityComparer.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + public class CommonEqualityComparer : IEqualityComparer + { + private Func keySelector; + private IEqualityComparer comparer; + + public CommonEqualityComparer(Func keySelector, IEqualityComparer comparer) + { + this.keySelector = keySelector; + this.comparer = comparer; + } + + public CommonEqualityComparer(Func keySelector) + : this(keySelector, EqualityComparer.Default) + { } + + public bool Equals(T x, T y) + { + return comparer.Equals(keySelector(x), keySelector(y)); + } + + public int GetHashCode(T obj) + { + return comparer.GetHashCode(keySelector(obj)); + } + } + /// + /// 扩展类 + /// + public static class DistinctExtensions + { + public static IEnumerable Distinctx(this IEnumerable source, Func keySelector) + { + return source.Distinct(new CommonEqualityComparer(keySelector)); + } + + public static IEnumerable Distinctx(this IEnumerable source, Func keySelector, IEqualityComparer comparer) + { + return source.Distinct(new CommonEqualityComparer(keySelector, comparer)); + } + } + +} diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ConditionBuilder.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ConditionBuilder.cs new file mode 100644 index 0000000..81690a7 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ConditionBuilder.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections.Generic; +using System.Linq.Expressions; +using System.Reflection; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + internal class ConditionBuilder : ExpressionVisitor + { + private List m_arguments; + private Stack m_conditionParts; + + public string Condition { get; private set; } + + public object[] Arguments { get; private set; } + + public void Build(Expression expression) + { + PartialEvaluator evaluator = new PartialEvaluator(); + Expression evaluatedExpression = evaluator.Eval(expression); + + this.m_arguments = new List(); + this.m_conditionParts = new Stack(); + + this.Visit(evaluatedExpression); + + this.Arguments = this.m_arguments.ToArray(); + this.Condition = this.m_conditionParts.Count > 0 ? this.m_conditionParts.Pop() : null; + } + + protected override Expression VisitBinary(BinaryExpression b) + { + if (b == null) return b; + + string opr; + switch (b.NodeType) + { + case ExpressionType.Equal: + opr = "="; + break; + case ExpressionType.NotEqual: + opr = "<>"; + break; + case ExpressionType.GreaterThan: + opr = ">"; + break; + case ExpressionType.GreaterThanOrEqual: + opr = ">="; + break; + case ExpressionType.LessThan: + opr = "<"; + break; + case ExpressionType.LessThanOrEqual: + opr = "<="; + break; + case ExpressionType.AndAlso: + opr = "AND"; + break; + case ExpressionType.OrElse: + opr = "OR"; + break; + case ExpressionType.Add: + opr = "+"; + break; + case ExpressionType.Subtract: + opr = "-"; + break; + case ExpressionType.Multiply: + opr = "*"; + break; + case ExpressionType.Divide: + opr = "/"; + break; + default: + throw new NotSupportedException(b.NodeType + "is not supported."); + } + + this.Visit(b.Left); + this.Visit(b.Right); + + string right = this.m_conditionParts.Pop(); + string left = this.m_conditionParts.Pop(); + + string condition = String.Format("({0} {1} {2})", left, opr, right); + this.m_conditionParts.Push(condition); + + return b; + } + + protected override Expression VisitConstant(ConstantExpression c) + { + if (c == null) return c; + + this.m_arguments.Add(c.Value); + this.m_conditionParts.Push(String.Format("{{{0}}}", this.m_arguments.Count - 1)); + + return c; + } + + protected override Expression VisitMemberAccess(MemberExpression m) + { + if (m == null) return m; + + PropertyInfo propertyInfo = m.Member as PropertyInfo; + if (propertyInfo == null) return m; + + this.m_conditionParts.Push(String.Format("[{0}]", propertyInfo.Name)); + + return m; + } + + protected override Expression VisitMethodCall(MethodCallExpression m) + { + if (m == null) return m; + + string format; + switch (m.Method.Name) + { + case "StartsWith": + format = "({0} LIKE {1}+'%')"; + break; + + case "Contains": + format = "({0} LIKE '%'+{1}+'%')"; + break; + + case "EndsWith": + format = "({0} LIKE '%'+{1})"; + break; + + default: + throw new NotSupportedException(m.NodeType + " is not supported!"); + } + + this.Visit(m.Object); + this.Visit(m.Arguments[0]); + string right = this.m_conditionParts.Pop(); + string left = this.m_conditionParts.Pop(); + this.m_conditionParts.Push(String.Format(format, left, right)); + + return m; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ExpressionBuilder.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ExpressionBuilder.cs new file mode 100644 index 0000000..b3d6a70 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ExpressionBuilder.cs @@ -0,0 +1,53 @@ +using System; +using System.Linq; +using System.Linq.Expressions; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + /// + /// Extension methods for add And and Or with parameters rebinder + /// + public static class ExpressionBuilder + { + /// + /// Compose two expression and merge all in a new expression + /// + /// Type of params in expression + /// Expression instance + /// Expression to merge + /// Function to merge + /// New merged expressions + public static Expression Compose(this Expression first, Expression second, Func merge) + { + // build parameter map (from parameters of second to parameters of first) + var map = first.Parameters.Select((f, i) => new { f, s = second.Parameters[i] }).ToDictionary(p => p.s, p => p.f); + + // replace parameters in the second lambda expression with parameters from the first + var secondBody = ParameterRebinder.ReplaceParameters(map, second.Body); + // apply composition of lambda expression bodies to parameters from the first expression + return Expression.Lambda(merge(first.Body, secondBody), first.Parameters); + } + /// + /// And operator + /// + /// Type of params in expression + /// Right Expression in AND operation + /// Left Expression in And operation + /// New AND expression + public static Expression> And(this Expression> first, Expression> second) + { + return first.Compose(second, Expression.AndAlso); + } + /// + /// Or operator + /// + /// Type of param in expression + /// Right expression in OR operation + /// Left expression in OR operation + /// New Or expressions + public static Expression> Or(this Expression> first, Expression> second) + { + return first.Compose(second, Expression.Or); + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ExpressionVisitor.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ExpressionVisitor.cs new file mode 100644 index 0000000..dc7914a --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ExpressionVisitor.cs @@ -0,0 +1,364 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq.Expressions; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + public abstract class ExpressionVisitor + { + protected ExpressionVisitor() { } + + protected virtual Expression Visit(Expression exp) + { + if (exp == null) + return exp; + switch (exp.NodeType) + { + case ExpressionType.Negate: + case ExpressionType.NegateChecked: + case ExpressionType.Not: + case ExpressionType.Convert: + case ExpressionType.ConvertChecked: + case ExpressionType.ArrayLength: + case ExpressionType.Quote: + case ExpressionType.TypeAs: + return this.VisitUnary((UnaryExpression)exp); + case ExpressionType.Add: + case ExpressionType.AddChecked: + case ExpressionType.Subtract: + case ExpressionType.SubtractChecked: + case ExpressionType.Multiply: + case ExpressionType.MultiplyChecked: + case ExpressionType.Divide: + case ExpressionType.Modulo: + case ExpressionType.And: + case ExpressionType.AndAlso: + case ExpressionType.Or: + case ExpressionType.OrElse: + case ExpressionType.LessThan: + case ExpressionType.LessThanOrEqual: + case ExpressionType.GreaterThan: + case ExpressionType.GreaterThanOrEqual: + case ExpressionType.Equal: + case ExpressionType.NotEqual: + case ExpressionType.Coalesce: + case ExpressionType.ArrayIndex: + case ExpressionType.RightShift: + case ExpressionType.LeftShift: + case ExpressionType.ExclusiveOr: + return this.VisitBinary((BinaryExpression)exp); + case ExpressionType.TypeIs: + return this.VisitTypeIs((TypeBinaryExpression)exp); + case ExpressionType.Conditional: + return this.VisitConditional((ConditionalExpression)exp); + case ExpressionType.Constant: + return this.VisitConstant((ConstantExpression)exp); + case ExpressionType.Parameter: + return this.VisitParameter((ParameterExpression)exp); + case ExpressionType.MemberAccess: + return this.VisitMemberAccess((MemberExpression)exp); + case ExpressionType.Call: + return this.VisitMethodCall((MethodCallExpression)exp); + case ExpressionType.Lambda: + return this.VisitLambda((LambdaExpression)exp); + case ExpressionType.New: + return this.VisitNew((NewExpression)exp); + case ExpressionType.NewArrayInit: + case ExpressionType.NewArrayBounds: + return this.VisitNewArray((NewArrayExpression)exp); + case ExpressionType.Invoke: + return this.VisitInvocation((InvocationExpression)exp); + case ExpressionType.MemberInit: + return this.VisitMemberInit((MemberInitExpression)exp); + case ExpressionType.ListInit: + return this.VisitListInit((ListInitExpression)exp); + default: + throw new Exception(string.Format("Unhandled expression type: '{0}'", exp.NodeType)); + } + } + + protected virtual MemberBinding VisitBinding(MemberBinding binding) + { + switch (binding.BindingType) + { + case MemberBindingType.Assignment: + return this.VisitMemberAssignment((MemberAssignment)binding); + case MemberBindingType.MemberBinding: + return this.VisitMemberMemberBinding((MemberMemberBinding)binding); + case MemberBindingType.ListBinding: + return this.VisitMemberListBinding((MemberListBinding)binding); + default: + throw new Exception(string.Format("Unhandled binding type '{0}'", binding.BindingType)); + } + } + + protected virtual ElementInit VisitElementInitializer(ElementInit initializer) + { + ReadOnlyCollection arguments = this.VisitExpressionList(initializer.Arguments); + if (arguments != initializer.Arguments) + { + return Expression.ElementInit(initializer.AddMethod, arguments); + } + return initializer; + } + + protected virtual Expression VisitUnary(UnaryExpression u) + { + Expression operand = this.Visit(u.Operand); + if (operand != u.Operand) + { + return Expression.MakeUnary(u.NodeType, operand, u.Type, u.Method); + } + return u; + } + + protected virtual Expression VisitBinary(BinaryExpression b) + { + Expression left = this.Visit(b.Left); + Expression right = this.Visit(b.Right); + Expression conversion = this.Visit(b.Conversion); + if (left != b.Left || right != b.Right || conversion != b.Conversion) + { + if (b.NodeType == ExpressionType.Coalesce && b.Conversion != null) + return Expression.Coalesce(left, right, conversion as LambdaExpression); + else + return Expression.MakeBinary(b.NodeType, left, right, b.IsLiftedToNull, b.Method); + } + return b; + } + + protected virtual Expression VisitTypeIs(TypeBinaryExpression b) + { + Expression expr = this.Visit(b.Expression); + if (expr != b.Expression) + { + return Expression.TypeIs(expr, b.TypeOperand); + } + return b; + } + + protected virtual Expression VisitConstant(ConstantExpression c) + { + return c; + } + + protected virtual Expression VisitConditional(ConditionalExpression c) + { + Expression test = this.Visit(c.Test); + Expression ifTrue = this.Visit(c.IfTrue); + Expression ifFalse = this.Visit(c.IfFalse); + if (test != c.Test || ifTrue != c.IfTrue || ifFalse != c.IfFalse) + { + return Expression.Condition(test, ifTrue, ifFalse); + } + return c; + } + + protected virtual Expression VisitParameter(ParameterExpression p) + { + return p; + } + + protected virtual Expression VisitMemberAccess(MemberExpression m) + { + Expression exp = this.Visit(m.Expression); + if (exp != m.Expression) + { + return Expression.MakeMemberAccess(exp, m.Member); + } + return m; + } + + protected virtual Expression VisitMethodCall(MethodCallExpression m) + { + Expression obj = this.Visit(m.Object); + IEnumerable args = this.VisitExpressionList(m.Arguments); + if (obj != m.Object || args != m.Arguments) + { + return Expression.Call(obj, m.Method, args); + } + return m; + } + + protected virtual ReadOnlyCollection VisitExpressionList(ReadOnlyCollection original) + { + List list = null; + for (int i = 0, n = original.Count; i < n; i++) + { + Expression p = this.Visit(original[i]); + if (list != null) + { + list.Add(p); + } + else if (p != original[i]) + { + list = new List(n); + for (int j = 0; j < i; j++) + { + list.Add(original[j]); + } + list.Add(p); + } + } + if (list != null) + { + return list.AsReadOnly(); + } + return original; + } + + protected virtual MemberAssignment VisitMemberAssignment(MemberAssignment assignment) + { + Expression e = this.Visit(assignment.Expression); + if (e != assignment.Expression) + { + return Expression.Bind(assignment.Member, e); + } + return assignment; + } + + protected virtual MemberMemberBinding VisitMemberMemberBinding(MemberMemberBinding binding) + { + IEnumerable bindings = this.VisitBindingList(binding.Bindings); + if (bindings != binding.Bindings) + { + return Expression.MemberBind(binding.Member, bindings); + } + return binding; + } + + protected virtual MemberListBinding VisitMemberListBinding(MemberListBinding binding) + { + IEnumerable initializers = this.VisitElementInitializerList(binding.Initializers); + if (initializers != binding.Initializers) + { + return Expression.ListBind(binding.Member, initializers); + } + return binding; + } + + protected virtual IEnumerable VisitBindingList(ReadOnlyCollection original) + { + List list = null; + for (int i = 0, n = original.Count; i < n; i++) + { + MemberBinding b = this.VisitBinding(original[i]); + if (list != null) + { + list.Add(b); + } + else if (b != original[i]) + { + list = new List(n); + for (int j = 0; j < i; j++) + { + list.Add(original[j]); + } + list.Add(b); + } + } + if (list != null) + return list; + return original; + } + + protected virtual IEnumerable VisitElementInitializerList(ReadOnlyCollection original) + { + List list = null; + for (int i = 0, n = original.Count; i < n; i++) + { + ElementInit init = this.VisitElementInitializer(original[i]); + if (list != null) + { + list.Add(init); + } + else if (init != original[i]) + { + list = new List(n); + for (int j = 0; j < i; j++) + { + list.Add(original[j]); + } + list.Add(init); + } + } + if (list != null) + return list; + return original; + } + + protected virtual Expression VisitLambda(LambdaExpression lambda) + { + Expression body = this.Visit(lambda.Body); + if (body != lambda.Body) + { + return Expression.Lambda(lambda.Type, body, lambda.Parameters); + } + return lambda; + } + + protected virtual NewExpression VisitNew(NewExpression nex) + { + IEnumerable args = this.VisitExpressionList(nex.Arguments); + if (args != nex.Arguments) + { + if (nex.Members != null) + return Expression.New(nex.Constructor, args, nex.Members); + else + return Expression.New(nex.Constructor, args); + } + return nex; + } + + protected virtual Expression VisitMemberInit(MemberInitExpression init) + { + NewExpression n = this.VisitNew(init.NewExpression); + IEnumerable bindings = this.VisitBindingList(init.Bindings); + if (n != init.NewExpression || bindings != init.Bindings) + { + return Expression.MemberInit(n, bindings); + } + return init; + } + + protected virtual Expression VisitListInit(ListInitExpression init) + { + NewExpression n = this.VisitNew(init.NewExpression); + IEnumerable initializers = this.VisitElementInitializerList(init.Initializers); + if (n != init.NewExpression || initializers != init.Initializers) + { + return Expression.ListInit(n, initializers); + } + return init; + } + + protected virtual Expression VisitNewArray(NewArrayExpression na) + { + IEnumerable exprs = this.VisitExpressionList(na.Expressions); + if (exprs != na.Expressions) + { + if (na.NodeType == ExpressionType.NewArrayInit) + { + return Expression.NewArrayInit(na.Type.GetElementType(), exprs); + } + else + { + return Expression.NewArrayBounds(na.Type.GetElementType(), exprs); + } + } + return na; + } + + protected virtual Expression VisitInvocation(InvocationExpression iv) + { + IEnumerable args = this.VisitExpressionList(iv.Arguments); + Expression expr = this.Visit(iv.Expression); + if (args != iv.Arguments || expr != iv.Expression) + { + return Expression.Invoke(expr, args); + } + return iv; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/IQueryableExtend.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/IQueryableExtend.cs new file mode 100644 index 0000000..4024cb2 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/IQueryableExtend.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.Extension; +using Microsoft.EntityFrameworkCore; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + public static class IQueryableExtend + { + #region 返回IQueryable前几条数据 + + /// + /// 返回IQueryable前几条数据 + /// + /// + /// + /// + /// + public static IQueryable TopN(this IQueryable query, int TopN) + { + return query.Take(TopN); + } + + #endregion + + #region 对IQueryable进行分页 + + /// + /// 对IQueryable进行分页 + /// + /// + /// + /// 每页多少条数据 + /// 当前页 + /// + public static IQueryable QueryPager(this IQueryable query, int PageSize, int PageIndex) + { + if (PageIndex <= 0) + { + PageIndex = 1; + } + + if (PageSize <= 0) + { + PageSize = 1; + } + + if (PageSize > 0) + return query.Skip((PageIndex - 1) * PageSize).Take(PageSize); + return query; + } + + #endregion + + #region 得到IQueryable的分页后实体集合 + + /// + /// 得到IQueryable的分页后实体集合 + /// + /// + /// 每页多少条数据 + /// 当前页 + /// 是否统计总行数 + /// + public static PageData ListPager(this IQueryable query, int pageSize, int pageIndex, bool isTotal) + { + PageData list = new PageData(); + + if (isTotal) + { + list.RowCount = query.Count(); + } + + list.List = query.QueryPager(pageSize, pageIndex).ToList(); + + return list; + } + + /// + /// 得到IQueryable的分页后实体集合 + /// + /// + /// 每页多少条数据 + /// 当前页 + /// 是否统计总行数 + /// + public static async Task> ListPagerAsync(this IQueryable query, int pageSize, int pageIndex, + bool isTotal) + { + PageData list = new PageData(); + + if (isTotal) + { + list.RowCount = await query.CountAsync(); + } + + list.List = await query.QueryPager(pageSize, pageIndex).ToListAsync(); + + return list; + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ParameterRebinder.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ParameterRebinder.cs new file mode 100644 index 0000000..040a991 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/ParameterRebinder.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; +using System.Linq.Expressions; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + public class ParameterRebinder : ExpressionVisitor + { + private readonly Dictionary map; + + /// + /// Default construcotr + /// + /// Map specification + public ParameterRebinder(Dictionary map) + { + this.map = map ?? new Dictionary(); + } + /// + /// Replate parameters in expression with a Map information + /// + /// Map information + /// Expression to replace parameters + /// Expression with parameters replaced + public static Expression ReplaceParameters(Dictionary map, Expression exp) + { + return new ParameterRebinder(map).Visit(exp); + } + /// + /// Visit pattern method + /// + /// A Parameter expression + /// New visited expression + protected override Expression VisitParameter(ParameterExpression p) + { + ParameterExpression replacement; + if (map.TryGetValue(p, out replacement)) + { + p = replacement; + } + + return base.VisitParameter(p); + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EntitiesExtension/PartialEvaluator.cs b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/PartialEvaluator.cs new file mode 100644 index 0000000..9503d06 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EntitiesExtension/PartialEvaluator.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using System.Linq.Expressions; + +namespace Hncore.Infrastructure.EntitiesExtension +{ + public class PartialEvaluator : ExpressionVisitor + { + private Func m_fnCanBeEvaluated; + private HashSet m_candidates; + + public PartialEvaluator() + : this(CanBeEvaluatedLocally) + { } + + public PartialEvaluator(Func fnCanBeEvaluated) + { + this.m_fnCanBeEvaluated = fnCanBeEvaluated; + } + + public Expression Eval(Expression exp) + { + this.m_candidates = new Nominator(this.m_fnCanBeEvaluated).Nominate(exp); + + return this.Visit(exp); + } + + protected override Expression Visit(Expression exp) + { + if (exp == null) + { + return null; + } + + if (this.m_candidates.Contains(exp)) + { + return this.Evaluate(exp); + } + + return base.Visit(exp); + } + + private Expression Evaluate(Expression e) + { + if (e.NodeType == ExpressionType.Constant) + { + return e; + } + + LambdaExpression lambda = Expression.Lambda(e); + Delegate fn = lambda.Compile(); + + return Expression.Constant(fn.DynamicInvoke(null), e.Type); + } + + private static bool CanBeEvaluatedLocally(Expression exp) + { + return exp.NodeType != ExpressionType.Parameter; + } + + #region Nominator + + /// + /// Performs bottom-up analysis to determine which nodes can possibly + /// be part of an evaluated sub-tree. + /// + private class Nominator : ExpressionVisitor + { + private Func m_fnCanBeEvaluated; + private HashSet m_candidates; + private bool m_cannotBeEvaluated; + + internal Nominator(Func fnCanBeEvaluated) + { + this.m_fnCanBeEvaluated = fnCanBeEvaluated; + } + + internal HashSet Nominate(Expression expression) + { + this.m_candidates = new HashSet(); + this.Visit(expression); + return this.m_candidates; + } + + protected override Expression Visit(Expression expression) + { + if (expression != null) + { + bool saveCannotBeEvaluated = this.m_cannotBeEvaluated; + this.m_cannotBeEvaluated = false; + + base.Visit(expression); + + if (!this.m_cannotBeEvaluated) + { + if (this.m_fnCanBeEvaluated(expression)) + { + this.m_candidates.Add(expression); + } + else + { + this.m_cannotBeEvaluated = true; + } + } + + this.m_cannotBeEvaluated |= saveCannotBeEvaluated; + } + + return expression; + } + } + + #endregion + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EventBus/ActionEventHandler.cs b/Infrastructure/Hncore.Infrastructure/EventBus/ActionEventHandler.cs new file mode 100644 index 0000000..fce6539 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EventBus/ActionEventHandler.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Events +{ + internal class ActionEventHandler : IEventHandler where TEventData : IEventData + { + public Action Action { get; private set; } + + public virtual bool Ansyc { get; set; } + + public ActionEventHandler(Action handler) + { + Action = handler; + } + public void HandleEvent(TEventData eventData) + { + Action(eventData); + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EventBus/EventBus.cs b/Infrastructure/Hncore.Infrastructure/EventBus/EventBus.cs new file mode 100644 index 0000000..1f66587 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EventBus/EventBus.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Events +{ + /// + /// 事件总线 + /// + public class EventBus + { + private static EventBus _eventBus = null; + + public static EventBus Default + { + get { return _eventBus ?? (_eventBus = new EventBus()); } + } + + /// + /// 定义线程安全集合 + /// + private readonly ConcurrentDictionary> _eventAndHandlerMapping; + + public EventBus() + { + _eventAndHandlerMapping = new ConcurrentDictionary>(); + MapEventToHandler(); + } + + /// + ///通过反射,将事件源与事件处理绑定 + /// + private void MapEventToHandler() + { + // Assembly assembly = Assembly.GetEntryAssembly(); + + var allAssembly = AppDomain.CurrentDomain.GetAssemblies().Where(item => item.FullName.Contains("Microkj.")); + if (!allAssembly.Any()) + { + return; + } + + foreach (var assembly in allAssembly) + { + foreach (var type in assembly.GetTypes()) + { + if (!type.IsGenericType && typeof(IEventHandler).IsAssignableFrom(type)) //判断当前类型是否实现了IEventHandler接口 + { + Type handlerInterface = type.GetInterface("IEventHandler`1"); //获取该类实现的泛型接口 + if (handlerInterface != null) + { + Type eventDataType = handlerInterface.GetGenericArguments()[0]; // 获取泛型接口指定的参数类型 + + if (_eventAndHandlerMapping.ContainsKey(eventDataType)) + { + List handlerTypes = _eventAndHandlerMapping[eventDataType]; + handlerTypes.Add(Activator.CreateInstance(type) as IEventHandler); + _eventAndHandlerMapping[eventDataType] = handlerTypes; + } + else + { + var handlerTypes = new List + { + Activator.CreateInstance(type) as IEventHandler + }; + _eventAndHandlerMapping[eventDataType] = handlerTypes; + } + } + } + } + } + } + + /// + /// 手动绑定事件源与事件处理 + /// + /// + /// + public void Register(IEventHandler eventHandler) + { + if (_eventAndHandlerMapping.Keys.Contains(typeof (TEventData))) + { + List handlerTypes = _eventAndHandlerMapping[typeof (TEventData)]; + if (!handlerTypes.Contains(eventHandler)) + { + handlerTypes.Add(eventHandler); + _eventAndHandlerMapping[typeof (TEventData)] = handlerTypes; + } + } + else + { + _eventAndHandlerMapping.GetOrAdd(typeof (TEventData), (type) => new List()) + .Add(eventHandler); + } + } + + + public void Register(Action action) where TEventData : IEventData + { + var actionHandler = new ActionEventHandler(action); + Register(actionHandler); + } + + /// + /// 手动解除事件源与事件处理的绑定 + /// + /// + /// + public void UnRegister(Type eventHandler) + { + List handlerTypes = _eventAndHandlerMapping[typeof (TEventData)]; + + _eventAndHandlerMapping.GetOrAdd(typeof (TEventData), (type) => new List()) + .RemoveAll(t => t.GetType() == eventHandler); + } + + /// + /// 根据事件源触发绑定的事件处理 + /// + /// + /// + public static void Publish(TEventData eventData) where TEventData : IEventData + { + List handlers = Default._eventAndHandlerMapping[typeof (TEventData)]; + + if (handlers != null && handlers.Count > 0) + { + foreach (var handler in handlers) + { + var eventHandler = handler as IEventHandler; + if (eventHandler.Ansyc) + { + Task.Run(() => + { + eventHandler.HandleEvent(eventData); + }); + } + else + { + eventHandler.HandleEvent(eventData); + } + } + } + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EventBus/EventData.cs b/Infrastructure/Hncore.Infrastructure/EventBus/EventData.cs new file mode 100644 index 0000000..f86b570 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EventBus/EventData.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Events +{ + /// + /// 事件源:描述事件信息,用于参数传递 + /// + public class EventData : IEventData where TData:class + { + /// + /// 事件发生的时间 + /// + public DateTime EventTime { get; set; } + + /// + /// 触发事件的对象 + /// + public TData EventSource { get; set; } + + object IEventData.EventSource + { + get + { + return this.EventSource as TData; + } + + set { this.EventSource =(TData) value; } + } + + public EventData() + { + EventTime = DateTime.Now; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EventBus/IEventBus.cs b/Infrastructure/Hncore.Infrastructure/EventBus/IEventBus.cs new file mode 100644 index 0000000..f0556db --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EventBus/IEventBus.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Events +{ + public interface IEventBus + { + void Register(IEventHandler eventHandler); + + void Register(Action action) where TEventData : IEventData; + + void UnRegister(Type eventHandler); + + // void Trigger(TEventData eventData) where TEventData : IEventData; + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EventBus/IEventData.cs b/Infrastructure/Hncore.Infrastructure/EventBus/IEventData.cs new file mode 100644 index 0000000..5f3a3cf --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EventBus/IEventData.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Events +{ + /// + /// 定义事件源接口,所有的事件源都要实现该接口 + /// + public interface IEventData + { + /// + /// 事件发生的时间 + /// + DateTime EventTime { get; set; } + + /// + /// 触发事件的对象 + /// + Object EventSource { get; set; } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/EventBus/IEventHandler.cs b/Infrastructure/Hncore.Infrastructure/EventBus/IEventHandler.cs new file mode 100644 index 0000000..9044bb1 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/EventBus/IEventHandler.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Events +{ + /// + /// 定义事件处理器公共接口,所有的事件处理都要实现该接口 + /// + public interface IEventHandler + { + } + + /// + /// 泛型事件处理器接口 + /// + /// + public interface IEventHandler : IEventHandler where TEventData : IEventData + { + bool Ansyc { get; set; } + /// + /// 事件处理器实现该方法来处理事件 + /// + /// + void HandleEvent(TEventData eventData); + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Extension/AssemblyExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/AssemblyExtension.cs new file mode 100644 index 0000000..c557ae1 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/AssemblyExtension.cs @@ -0,0 +1,21 @@ +using System; +using System.Reflection; + +namespace Hncore.Infrastructure.Extension +{ + /// + /// 程序集扩展类 + /// + public static class AssemblyExtension + { + /// + ///得到程序集友好名字 + /// + /// + /// + public static string GetFriendName(this Assembly asm) + { + return asm.ManifestModule?.Name?.TrimEnd(".dll".ToCharArray()); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/BoolExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/BoolExtension.cs new file mode 100644 index 0000000..64894a3 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/BoolExtension.cs @@ -0,0 +1,60 @@ +using System; + +namespace Hncore.Infrastructure.Extension +{ + /// + /// bool类型扩展 + /// + public static class BoolExtension + { + /// + /// 转为bool + /// + /// + /// + public static bool ToBool(this bool? para) + { + if (para == null) + { + return false; + } + + return Convert.ToBoolean(para); + } + + + /// + /// 转为bool + /// + /// + /// + public static bool ToBool(this object obj) + { + if (obj == null) + { + return false; + } + + bool.TryParse(obj.ToString(), out var para); + + return para; + } + + public static bool ToBool(this sbyte? obj) + { + if (obj == null) + { + return false; + } + + sbyte num = (sbyte) obj; + + if (num == 1) + { + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/DateTimeExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/DateTimeExtension.cs new file mode 100644 index 0000000..568d568 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/DateTimeExtension.cs @@ -0,0 +1,177 @@ +using System; + +namespace Hncore.Infrastructure.Extension +{ + public static class DateTimeExtension + { + public static string Format(this DateTime time, string format = "yyyy-MM-dd") + { + return time.ToString(format); + } + + + private static DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + public static long CurrentTimeMillis() + { + return (long) ((DateTime.UtcNow - Jan1st1970).TotalMilliseconds); + } + + public static long CurrentTimeMillis(DateTime time) + { + return (long) ((time.ToUniversalTime() - Jan1st1970).TotalMilliseconds); + } + + public static string Format(this DateTime? dateTime, string format = "yyyy-MM-dd") + { + return Convert.ToDateTime(dateTime).ToString(format); + } + + public static DateTime ToDateTime(this DateTime? dateTime, DateTime defaultTime) + { + if (dateTime != null) + { + return Convert.ToDateTime(dateTime); + } + + return defaultTime; + } + + public static bool Between(this DateTime time, DateTime beginTime, DateTime endTime) + { + return time >= beginTime && time <= endTime; + } + + /// + /// 取得某月的第一天 + /// + /// 要取得月份第一天的时间 + /// + public static DateTime FirstDayOfMonth(this DateTime datetime) + { + return datetime.AddDays(1 - datetime.Day); + } + + /**/ + /// + /// 取得某月的最后一天 + /// + /// 要取得月份最后一天的时间 + /// + public static DateTime LastDayOfMonth(this DateTime datetime) + { + return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1); + } + + /**/ + /// + /// 取得上个月第一天 + /// + /// 要取得上个月第一天的当前时间 + /// + public static DateTime FirstDayOfPreviousMonth(this DateTime datetime) + { + return datetime.AddDays(1 - datetime.Day).AddMonths(-1); + } + + /**/ + /// + /// 取得上个月的最后一天 + /// + /// 要取得上个月最后一天的当前时间 + /// + public static DateTime LastDayOfPrdviousMonth(this DateTime datetime) + { + return datetime.AddDays(1 - datetime.Day).AddDays(-1); + } + + /// + /// 获取时间的Unix时间戳 + /// + /// 时间对象 + /// Unix时间戳 + /// + public static long GetUnixTimeStamp(this DateTime tm) + { + long result = (tm.ToUniversalTime().Ticks - 621355968000000000) / 10000000; + return result; + } + + /// + /// 从Uninx转换时间 + /// + /// 时间对象 + /// 时间戳 + /// 新时间对象 + /// + public static DateTime LoadFromUnixTimeStamp(this DateTime tm,double timeStamp) + { + DateTime startTime=TimeZoneInfo.ConvertTime(new System.DateTime(1970, 1, 1),TimeZoneInfo.Local); + DateTime result=startTime.AddSeconds(timeStamp); + return result; + } + + public static DateTime LoadFromUnixTimeStamp(this long timeStamp) + { + DateTime startTime = TimeZoneInfo.ConvertTime(new System.DateTime(1970, 1, 1), TimeZoneInfo.Local); + DateTime result = startTime.AddSeconds(timeStamp); + return result; + } + + /// + /// 时间戳转换成时间 + /// + /// 时间戳 + /// 是否毫秒级,true毫秒级(默认值) + /// 是否输出本地时间,true本地时间(默认值) + /// + public static DateTime? LoadFromUnixTimeStamp(this string timestamp) + { + if (long.TryParse(timestamp, out long ts)) + { + return ts.LoadFromUnixTimeStamp(); + } + return null; + } + + /// + /// 1970 到现在的秒数 + /// + /// + /// + public static int TimestampFrom19700101(this DateTime time) + { + return (int)(time - new DateTime(1970, 01, 01)).TotalSeconds; + } + + + #region 获取日期、明天 + public static DateTime Date(this DateTime? time) + { + return Convert.ToDateTime(time).Date; + } + public static DateTime NextDate(this DateTime? time) + { + return Convert.ToDateTime(time).Date.AddDays(1); + } + public static DateTime Date(this DateTime time) + { + return time.Date; + } + public static DateTime NextDate(this DateTime time) + { + return time.Date.AddDays(1); + } + #endregion + + public static DateTime Begin(this DateTime time) + { + return new DateTime(time.Year, time.Month, time.Day); + } + + public static DateTime End(this DateTime time) + { + return new DateTime(time.Year, time.Month, time.Day,23,59,59); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/DbDataReaderExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/DbDataReaderExtension.cs new file mode 100644 index 0000000..4ffc33d --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/DbDataReaderExtension.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; +using System.Data.Common; +using System.Dynamic; + +namespace Hncore.Infrastructure.Extension +{ + public static class DbDataReaderExtension + { + public static IDictionary GetDataRow(this DbDataReader dataReader) + { + var dataRow = new ExpandoObject() as IDictionary; + + for (var iFiled = 0; iFiled < dataReader.FieldCount; iFiled++) + { + dataRow.Add( + dataReader.GetName(iFiled), + dataReader.IsDBNull(iFiled) ? "" : dataReader[iFiled] + ); + } + + return dataRow; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/EnumExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/EnumExtension.cs new file mode 100644 index 0000000..09cff73 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/EnumExtension.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Reflection; + +namespace Hncore.Infrastructure.Extension +{ + public static class EnumExtension + { + public static Dictionary ToDictionary() + { + Dictionary dic = new Dictionary(); + string namestr = ""; + foreach (var e in Enum.GetValues(typeof(T))) + { + namestr = ""; + + object[] objArrDisplay = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DisplayAttribute), true);//Display + if (objArrDisplay.Any()) + { + var da = objArrDisplay[0] as DisplayAttribute; + namestr = da.Name; + } + else + { + object[] objArrDescription = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);//Description + namestr = objArrDescription.Any() ? (objArrDescription[0] as DescriptionAttribute).Description : e.ToString(); + } + int value = Convert.ToInt32(e); + + + + // string str = item.GetDescription(); + // int value = (int) item; + + dic.Add(value, namestr); + } + + return dic; + } + #region 获取枚举的相关信息的集合 + /// + /// 获取枚举的相关信息的集合 + /// + /// + /// + public static List EnumToList() + { + var list = new List(); + foreach (var e in Enum.GetValues(typeof(T))) + { + var m = new EnumInfo(); + object[] objArrDisplay = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DisplayAttribute), true);//Display + if (objArrDisplay.Any()) + { + var da = objArrDisplay[0] as DisplayAttribute; + m.Name = da.Name; + } + else + { + object[] objArrDescription = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);//Description + m.Name = objArrDescription.Any() ? (objArrDescription[0] as DescriptionAttribute).Description : e.ToString(); + } + m.Value = Convert.ToInt32(e); + list.Add(m); + } + return list; + } + public class EnumInfo + { + public string Name { set; get; } + + public int Value { set; get; } + } + #endregion + public static string GetDisplayName(T enumValue) + { + object[] objArrDisplay = enumValue.GetType().GetField(enumValue.ToString()) + ?.GetCustomAttributes(typeof(DisplayAttribute), true);//Display + if (objArrDisplay!=null&&objArrDisplay.Any()) + { + var da = objArrDisplay[0] as DisplayAttribute; + return da?.Name; + } + return ""; + } + + /// + /// 获取枚举上通过DisplayName、Description或Display柱注的名称 + /// 优先级为DisplayName>Description>Display + /// + /// 枚举值 + /// 枚举名称 + /// + public static string GetEnumDisplayName(this Enum e) + { + try + { + Type t = e.GetType(); + FieldInfo fi = t.GetField(Enum.GetName(t, e)); + var dna = fi.GetCustomAttribute(); + if (dna != null) + return dna.DisplayName; + var da = fi.GetCustomAttribute(); + if (da != null) + return da.Description; + var d = fi.GetCustomAttribute(); + if (d != null) + return d.Name; + } + catch (Exception ex) + { + return "获取枚举"+e.GetType().FullName+"名称错误:"+ex.Message; + } + return ""; + } + + public static string ToHtmlSelectOptions() + { + var dic = ToDictionary(); + + string str = ""; + + foreach (var key in dic.Keys) + { + str += ""; + } + + return str; + } + + #region 判断值是否在枚举类型中存在 + + /// + /// 判断值是否在枚举中存在 + /// + /// 需要判断的参数 + /// 枚举类型 + /// + public static bool IsExist(this int enumValue, Type enumType) + { + return Enum.IsDefined(enumType, enumValue); + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/ExceptionExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/ExceptionExtension.cs new file mode 100644 index 0000000..9008fe4 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/ExceptionExtension.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.Text; +using System.Text.RegularExpressions; +using System.Web; +using TinyPinyin.Core; + +namespace Hncore.Infrastructure.Extension +{ + public static class ExceptionExtension + { + public static string GetInfo(this Exception ex) + { + var info = $"S:{ex.Source},M:{ex.Message},ST:{ex.StackTrace}-----"; + if (ex.InnerException != null) + { + info += ex.InnerException.GetInfo(); + } + return info; + } + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/HttpClientExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/HttpClientExtension.cs new file mode 100644 index 0000000..81a94a8 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/HttpClientExtension.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading.Tasks; +using Hncore.Infrastructure.Serializer; + +namespace Hncore.Infrastructure.Extension +{ + public static class HttpClientFactoryExtension + { + public static HttpClient CreateClient(this IHttpClientFactory factory, TimeSpan timeOut) + { + var client = factory.CreateClient(); + + client.Timeout = timeOut; + + return client; + } + } + + public static class HttpClientExtension + { + /// + /// post请求,ContentType:application/json + /// + /// + /// + /// + /// + public static async Task PostAsJson(this HttpClient httpClient, string path, object data, + Encoding encoding = null) + { + if (encoding == null) + { + encoding = Encoding.UTF8; + } + + string content = ""; + + if (data is string s) + { + content = s; + } + else + { + content = data.ToJson(); + } + + HttpContent httpContent = new StringContent(content, encoding); + + httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); + + return await httpClient.PostAsync(path, httpContent); + } + + /// + /// post请求,ContentType:application/json + /// + /// + /// + /// + /// + public static async Task PostAsJsonGetString(this HttpClient httpClient, string path, object data, + Encoding encoding = null) + { + var res = await httpClient.PostAsJson(path, data, encoding); + + return await res.Content.ReadAsStringAsync(); + } + + public static async Task PostAsForm(this HttpClient httpClient, string path, IEnumerable> data, + Encoding encoding = null) + { + if (encoding == null) + { + encoding = Encoding.UTF8; + } + + HttpContent httpContent = new FormUrlEncodedContent(data); + + return await httpClient.PostAsync(path, httpContent); + } + public static async Task PostAsFormGetString(this HttpClient httpClient, string path, IEnumerable> data, +Encoding encoding = null) + { + var resp=await httpClient.PostAsForm(path, data, encoding); + + return await resp.Content.ReadAsStringAsync(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/ListExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/ListExtension.cs new file mode 100644 index 0000000..ecdf4fc --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/ListExtension.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; + +namespace Hncore.Infrastructure.Extension +{ + public static class ListExtension + { + public static bool NullOrEmpty(this IList list) + { + if (list == null) + { + return true; + } + + if (!list.Any()) + { + return true; + } + return false; + } + + #region 转换几个中所有元素的类型 + /// + /// 转换几个中所有元素的类型 + /// + /// + /// + /// + public static List ConvertListType(this List list) + { + if (list == null) + { + return null; + } + List newlist = new List(); + foreach (T t in list) + { + newlist.Add((TO)Convert.ChangeType(t, typeof(TO))); + } + return newlist; + } + #endregion + + /// + /// 添加 + /// + /// + /// + /// + /// + public static List AddNew(this List list, T item) + { + list.Add(item); + return list; + } + + /// + /// 添加多个集合 + /// + /// + /// + /// + /// + public static List AddNewMult(this List list, List item) + { + list.AddRange(item); + return list; + } + + /// + /// 移除 + /// + /// + /// + /// + /// + public static List RemoveNew(this List list, T item) + { + list.Remove(item); + return list; + } + + #region 按条件移除 + + /// + /// 移除单条符合条件的数据 + /// + /// + /// 条件 + /// + /// + public static List RemoveNew(this List list, Func condtion) + { + List listTemp = list; + var item = listTemp.FirstOrDefault(condtion); + if (item != null) + { + listTemp.Remove(item); + } + return list; + } + + /// + /// 移除多条满足条件 + /// + /// + /// 条件 + /// + /// + public static List RemoveMultNew(this List list, Func condtion) + { + List listTemp = list; + var items = listTemp.Where(condtion).ToList() ?? new List(); + foreach (var item in items) + { + listTemp.Remove(item); + } + return list; + } + + #endregion + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/ListForEachExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/ListForEachExtension.cs new file mode 100644 index 0000000..cbf4278 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/ListForEachExtension.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Extension +{ + public static class ListForEachExtension + { + public static async Task ForEachAsync(this IEnumerable list, Func func) + { + foreach (T value in list) + { + await func(value); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/NumberExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/NumberExtension.cs new file mode 100644 index 0000000..8d13a31 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/NumberExtension.cs @@ -0,0 +1,63 @@ +using System; +using Newtonsoft.Json.Linq; + +namespace Hncore.Infrastructure.Extension +{ + public static class NumberExtension + { + public static int ToInt(this int? num) + { + if (num == null) + { + return 0; + } + + return Convert.ToInt32(num); + } + + public static int ToInt(this JToken obj) + { + if (obj == null) + { + return 0; + } + + int.TryParse(obj.ToString(), out var num); + + return num; + } + + public static decimal ToDecimal(this decimal? num) + { + if (num == null) + { + + return 0; + } + + return Convert.ToDecimal(num); + } + + public static long ToLong(this long? num) + { + if (num == null) + { + return 0; + } + + return (long) num; + } + + public static int ToInt(this bool flag) + { + if (flag) + { + return 1; + } + else + { + return 0; + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/ObjectExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/ObjectExtension.cs new file mode 100644 index 0000000..4a168fc --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/ObjectExtension.cs @@ -0,0 +1,144 @@ +using Nelibur.ObjectMapper; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Dynamic; +using System.Linq; +using System.Threading; + +namespace Hncore.Infrastructure.Extension +{ + public static class ObjectExtension + { + /// + /// 将对象[主要是匿名对象]转换为dynamic + /// + public static dynamic ToDynamic(this object obj, decimal defaultVal) + { + decimal result; + if (obj != null) + if (decimal.TryParse(obj.ToString(), out result)) + return result; + else + return defaultVal; + return defaultVal; + } + + // This extension method is broken out so you can use a similar pattern with + // other MetaData elements in the future. This is your base method for each. + public static T GetAttribute(this object value) where T : Attribute + { + var type = value.GetType(); + var memberInfo = type.GetMember(value.ToString()); + if (!memberInfo.Any()) + { + return null; + } + + var attributes = memberInfo[0].GetCustomAttributes(typeof(T), false); + return (T) attributes[0]; + } + + // This method creates a specific call to the above method, requesting the + // Description MetaData attribute. + public static string GetDescription(this object value) + { + var desAttribute = value.GetAttribute(); + if (desAttribute != null) + { + return desAttribute.Description; + } + + var displayAttribute = value.GetAttribute(); + if (displayAttribute != null) + { + return displayAttribute.Name ?? displayAttribute.Description; + } + + return ""; + } + + #region 得到枚举字典(key对应枚举的值,value对应枚举的注释) + + /// + /// 得到枚举字典(key对应枚举的值,value对应枚举的注释) + /// + /// + /// + public static Dictionary ToDescriptionDictionary() + { + Array values = Enum.GetValues(typeof(TEnum)); + Dictionary nums = new Dictionary(); + foreach (Enum value in values) + { + nums.Add(value, GetDescription(value)); + } + + return nums; + } + + #endregion + + #region 实体中string属性执行Trim() + /// + /// 对象string属性执行Trim() + /// + /// + /// + /// + public static T ObjectStrTrim(this T t) where T:new () + { + if (t != null) + { + foreach (var pi in t.GetType().GetProperties()) + { + if (pi.PropertyType.Equals(typeof(string)) && pi.GetValue(t, null) != null)//判断属性的类型是不是String + { + pi.SetValue(t, pi.GetValue(t, null).ToString().Trim(), null);//给泛型的属性赋值 + } + } + } + return t; + } + #endregion + + #region + public static T save(this T obj,string key) where T:class,new() + { + Dictionary dic = c.Value ?? new Dictionary(); + dic.Add(key,obj); + c.Value = dic; + return obj; + } + public static AsyncLocal> c=new AsyncLocal>(); + #endregion + + #region 对象转换 + + public static T MapTo(this Object model) + { + var productDto = TinyMapper.Map(model); + + return productDto; + } + public static IEnumerable MapsTo(this Object model) + { + var generic = model.GetType().GetGenericTypeDefinition(); + + if (generic == typeof(List<>)) + { + return TinyMapper.Map>(model); + } + if (generic == typeof(Collection<>)) + { + return TinyMapper.Map>(model); + } + + throw new Exception("不合法的转换"); + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/RequestExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/RequestExtension.cs new file mode 100644 index 0000000..e76de67 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/RequestExtension.cs @@ -0,0 +1,46 @@ + + +using Microsoft.AspNetCore.Http; +using System; +using System.Linq; + +namespace Hncore.Infrastructure.Extension +{ + + public static class RequestExtension + { + public static string Get(this HttpRequest request, string key) + { + if (request.Query.ContainsKey(key)) + { + return request.Query[key]; + } + return ""; + } + public static int GetInt(this HttpRequest request, string key) + { + if (request.Query.ContainsKey(key)) + { + return Convert.ToInt32(request.Query[key]); + } + return 0; + } + + public static string GetUrl(this HttpRequest request, bool full=true) + { + if (full) + { + return $"{request.Scheme}://{request.Host}{request.Path}{request.QueryString}"; + } + return $"{request.Path}{request.QueryString}"; + } + + public static string Remove(this HttpRequest request, string key) + { + var q = request.Query.Where(m => !m.Key.Equals(key, StringComparison.InvariantCultureIgnoreCase)); + var kvs = q.Select(m => $"{m.Key}={m.Value}"); + return string.Join("&", kvs); + + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/StreamExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/StreamExtension.cs new file mode 100644 index 0000000..617f45d --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/StreamExtension.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Web; + +namespace Hncore.Infrastructure.Extension +{ + public static class StreamExtension + { + public async static Task ReadAsStringAsync(this Stream stream) + { + var reader = new StreamReader(stream); + return await reader.ReadToEndAsync(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Extension/StringExtension.cs b/Infrastructure/Hncore.Infrastructure/Extension/StringExtension.cs new file mode 100644 index 0000000..610335e --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Extension/StringExtension.cs @@ -0,0 +1,779 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.Text; +using System.Text.RegularExpressions; +using System.Web; +using TinyPinyin.Core; + +namespace Hncore.Infrastructure.Extension +{ + public static class StringExtension + { + #region Url、Html编码 + + [DebuggerStepThrough] + public static string UrlEncode(this string target) + { + return HttpUtility.UrlEncode(target); + } + + [DebuggerStepThrough] + public static string UrlEncode(this string target, Encoding encoding) + { + return HttpUtility.UrlEncode(target, encoding); + } + + [DebuggerStepThrough] + public static string UrlDecode(this string target) + { + return HttpUtility.UrlDecode(target); + } + + [DebuggerStepThrough] + public static string UrlDecode(this string target, Encoding encoding) + { + return HttpUtility.UrlDecode(target, encoding); + } + + [DebuggerStepThrough] + public static string AttributeEncode(this string target) + { + return HttpUtility.HtmlAttributeEncode(target); + } + + [DebuggerStepThrough] + public static string HtmlEncode(this string target) + { + return HttpUtility.HtmlEncode(target); + } + + [DebuggerStepThrough] + public static string HtmlDecode(this string target) + { + return HttpUtility.HtmlDecode(target); + } + + #endregion + + #region Unicode编码 + + /// + /// 汉字转换为Unicode编码 + /// + /// 要编码的汉字字符串 + /// Unicode编码的的字符串 + public static string ToUnicode(this string str) + { + if (string.IsNullOrEmpty(str)) + { + return str; + } + + StringBuilder unicode = new StringBuilder(); + + foreach (char chr in str) + { + // Get the integral value of the character. + int value = Convert.ToInt32(chr); + // Convert the decimal value to a hexadecimal value in string form. + string hexOutput = String.Format("{0:x}", value); + + unicode.Append("\\u" + hexOutput); + } + + return unicode.ToString(); + } + + /// + /// 将Unicode编码转换为汉字字符串 + /// + /// Unicode编码字符串 + /// 汉字字符串 + public static string FromUnicode(this string unicode) + { + if (string.IsNullOrEmpty(unicode)) + { + return unicode; + } + + StringBuilder str = new StringBuilder(); + + unicode = unicode.Replace("\\u", "_"); + + string[] hex = unicode.Split('_'); + + for (int i = 1; i < hex.Length; i++) + { + int data = Convert.ToInt32(hex[i].ToString(), 16); + + str.Append((char) data); + } + + return str.ToString(); + } + + #endregion + + #region 清除脚本 + + /// + /// 清除脚本 + /// + /// + /// + public static string NoHTML(this string Htmlstring) + { + //删除脚本 + Htmlstring = Regex.Replace(Htmlstring, @"]*?>.*?", "", RegexOptions.IgnoreCase); + //删除HTML + Htmlstring = Regex.Replace(Htmlstring, @"<.*?>|&.{4,5}", "", RegexOptions.IgnoreCase); + Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase); + Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase); + Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase); + Htmlstring = Regex.Replace(Htmlstring, @" + netstandard2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + + diff --git a/Infrastructure/Hncore.Infrastructure/IOC/IDependency.cs b/Infrastructure/Hncore.Infrastructure/IOC/IDependency.cs new file mode 100644 index 0000000..6ed28d6 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/IOC/IDependency.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.IOC +{ + public interface IDependency + { + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/IOC/IPerRequest.cs b/Infrastructure/Hncore.Infrastructure/IOC/IPerRequest.cs new file mode 100644 index 0000000..27e0607 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/IOC/IPerRequest.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.IOC +{ + public interface IPerRequest + { + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/IOC/ISingleInstance.cs b/Infrastructure/Hncore.Infrastructure/IOC/ISingleInstance.cs new file mode 100644 index 0000000..3f1bc51 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/IOC/ISingleInstance.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.IOC +{ + public interface ISingleInstance + { + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Mqtt/MQTTClient.cs b/Infrastructure/Hncore.Infrastructure/Mqtt/MQTTClient.cs new file mode 100644 index 0000000..64ddf02 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Mqtt/MQTTClient.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections.Concurrent; +using System.Security.Cryptography; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Hncore.Infrastructure.Common; +using MQTTnet; +using MQTTnet.Client; +using Polly; + +namespace Hncore.Infrastructure.Mqtt +{ + public class MQTTClient : IDisposable + { + //实例 ID,购买后从控制台获取 + string _instanceId = "post-cn-v0h12xbue09"; + + //此处填写购买得到的 MQTT 接入点域名 + string _brokerUrl = "post-cn-v0h12xbue09.mqtt.aliyuncs.com"; + + //此处填写阿里云帐号 AccessKey + string _accessKey = "LTAIaJpHI68JfX2c"; + + //此处填写阿里云帐号 SecretKey + string _secretKey = "f17za6FRggVzwlSqzFHl8GndQ59SGV"; + + //此处填写客户端 ClientId,需要保证全局唯一,其中前缀部分即 GroupId 需要先在 MQ 控制台创建 + string _clientId = "GID_DOOR@@@MA_" + Guid.NewGuid(); + + private IMqttClient _mqttClient; + + private SemaphoreSlim _lock = new SemaphoreSlim(1, 1); + + private ConcurrentDictionary> cmdMap = new ConcurrentDictionary>(); + + public MQTTClient() + { + _mqttClient = new MqttFactory().CreateMqttClient(); + + _mqttClient.Disconnected += async (s, e) => + { + await Task.Delay(TimeSpan.FromSeconds(2)); + await Conn(); + }; + _mqttClient.ApplicationMessageReceived += (s, e) => + { + var topic = e.ApplicationMessage.Topic.TrimEnd('/'); + var data = Encoding.UTF8.GetString(e.ApplicationMessage.Payload??new byte[0]); + Console.WriteLine("### RECEIVED APPLICATION MESSAGE ###"); + Console.WriteLine($"+ Topic = {topic}"); + Console.WriteLine($"+ Payload = {data}"); + Console.WriteLine($"+ QoS = {e.ApplicationMessage.QualityOfServiceLevel}"); + Console.WriteLine($"+ Retain = {e.ApplicationMessage.Retain}"); + Console.WriteLine(); + if (cmdMap.ContainsKey(topic)) + { + try + { + cmdMap[topic](data); + } + catch (Exception ex) + { + LogHelper.Error($"Mqtt:{topic}", ex.Message); + } + } + }; + } + + private async Task Conn() + { + if (!_mqttClient.IsConnected) + { + await _lock.WaitAsync(); + + try + { + int i = 0; + + await Policy.Handle() + .OrResult(res => !res.IsSessionPresent) + .RetryAsync(10) + .ExecuteAsync(async () => + { + if (!_mqttClient.IsConnected) + { + i++; + + try + { + string userName = "Signature|" + _accessKey + "|" + _instanceId; + string passWord = HMACSHA1(_secretKey, _clientId); + + var options = new MqttClientOptionsBuilder() + .WithClientId(_clientId) + .WithTcpServer(_brokerUrl) + .WithCredentials(userName, passWord) + .WithCleanSession() + .Build(); + + return await _mqttClient.ConnectAsync(options); + } + catch (Exception e) + { + LogHelper.Error($"mqtt连接失败,第{i}次连接", e); + throw; + } + } + + return new MqttClientConnectResult(true); + }); + } + finally + { + _lock.Release(); + } + } + } + + public async Task PublishAsync(string topic, string payload) + { + await Conn(); + + await _mqttClient.PublishAsync(topic, payload); + } + + public async Task SubscribeAsync(string topic, Action action) + { + await Conn(); + var option = new TopicFilterBuilder().WithTopic(topic).Build(); + await _mqttClient.SubscribeAsync(option); + cmdMap[topic] = action; + } + + public static string HMACSHA1(string key, string dataToSign) + { + Byte[] secretBytes = UTF8Encoding.UTF8.GetBytes(key); + HMACSHA1 hmac = new HMACSHA1(secretBytes); + Byte[] dataBytes = UTF8Encoding.UTF8.GetBytes(dataToSign); + Byte[] calcHash = hmac.ComputeHash(dataBytes); + String calcHashString = Convert.ToBase64String(calcHash); + return calcHashString; + } + + public async void Dispose() + { + await _mqttClient.DisconnectAsync(); + _mqttClient?.Dispose(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OpenApi/Application.cs b/Infrastructure/Hncore.Infrastructure/OpenApi/Application.cs new file mode 100644 index 0000000..0022eff --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OpenApi/Application.cs @@ -0,0 +1,26 @@ +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.OpenApi +{ + /// + /// 接入的应用 + /// + public class Application + { + /// + /// 应用唯一标识 + /// + public string AppId { get; set; } = ""; + + /// + /// 应用密钥 + /// + public string AppKey { get; set; } = ""; + + /// + /// 是否启用 + /// + public bool Enable { get; set; } = true; + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiAuthAttribute.cs b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiAuthAttribute.cs new file mode 100644 index 0000000..94bd610 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiAuthAttribute.cs @@ -0,0 +1,71 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Extension; +using Hncore.Infrastructure.Serializer; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Authorization; +using Microsoft.AspNetCore.Mvc.Filters; +using Hncore.Infrastructure.Core.Web; + +namespace Hncore.Infrastructure.OpenApi +{ + public class OpenApiAuthAttribute : TypeFilterAttribute + { + public OpenApiAuthAttribute() : base(typeof(OpenApiAuthFilter)) + { + Order = -9997; + } + } + + public class OpenApiAuthFilter : IAsyncAuthorizationFilter + { + public async Task OnAuthorizationAsync(AuthorizationFilterContext context) + { + if (context.Filters.Any(item => item is IAllowAnonymousFilter)) + { + context.HttpContext.Items["AllowAnonymous"] = true; + return; + } + + context.HttpContext.Items["OpenApi"] = true; + + var body = await context.HttpContext.Request.ReadBodyAsStringAsync(); + + var requestBase = body.FromJsonTo(); + + if (requestBase.Timestamp==null) + { + OpenApiException.Throw(OpenApiReturnCode.Error,"缺少timestamp参数"); + } + + if (!requestBase.Sign.Has()) + { + OpenApiException.Throw(OpenApiReturnCode.Error,"缺少sign参数"); + } + + if (!requestBase.AppId.Has()) + { + OpenApiException.Throw(OpenApiReturnCode.Error,"缺少appid参数"); + } + + var application = await RedisHelper.HGetAsync("OpenApi:Application", requestBase.AppId); + + context.HttpContext.Items["OpenApiAppKey"] = application.AppKey; + + if (!application.Enable) + { + OpenApiException.Throw(OpenApiReturnCode.Unauthorized); + } + + if (DateTimeHelper.ToUnixTimestamp(DateTime.Now) - requestBase.Timestamp > 60) + { + OpenApiException.Throw(OpenApiReturnCode.TimeStampExpired); + } + + requestBase.CheckSign(application.AppKey); + } + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiException.cs b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiException.cs new file mode 100644 index 0000000..b7564a9 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiException.cs @@ -0,0 +1,28 @@ +using System; + +namespace Hncore.Infrastructure.OpenApi +{ + public class OpenApiException: Exception + { + public OpenApiReturnCode Code { get; } = OpenApiReturnCode.InternalError; + + public OpenApiException(string message) : base(message) + { + } + + public OpenApiException(OpenApiReturnCode code, string message = "") : base(message) + { + Code = code; + } + + public static void Throw(string message = "") + { + throw new OpenApiException(message); + } + + public static void Throw(OpenApiReturnCode code, string message = "") + { + throw new OpenApiException(code, message); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiRequestBase.cs b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiRequestBase.cs new file mode 100644 index 0000000..42a0357 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiRequestBase.cs @@ -0,0 +1,30 @@ +using System; +using System.Threading.Tasks; +using Hncore.Infrastructure.Extension; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace Hncore.Infrastructure.OpenApi +{ + public class OpenApiRequestBase + { + [JsonProperty("appid")] + public string AppId { get; set; } + + [JsonProperty("timestamp")] + public long? Timestamp { get; set; } + + [JsonProperty("sign")] + public string Sign { get; set; } + + public void CheckSign(string key) + { + var sign = OpenApiSignUtil.CreateSign(this.Timestamp.ToLong(), key); + + if (!String.Equals(sign, Sign, StringComparison.CurrentCultureIgnoreCase)) + { + OpenApiException.Throw(OpenApiReturnCode.SignError); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiResult.cs b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiResult.cs new file mode 100644 index 0000000..90a6e3a --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiResult.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Http; +using Newtonsoft.Json; + +namespace Hncore.Infrastructure.OpenApi +{ + public class OpenApiResult where T : class, new() + { + [JsonProperty("code")] public OpenApiReturnCode Code { get; private set; } + + [JsonProperty("message")] public string Message { get; private set; } = ""; + + [JsonProperty("timestamp")] public long Timestamp { get; set; } + + [JsonProperty("sign")] public string Sign { get; set; } + + [JsonProperty("data")] public T Data { get; set; } = new T(); + + private static readonly Dictionary Dic; + + static OpenApiResult() + { + Dic = ObjectExtension.ToDescriptionDictionary(); + } + + + public OpenApiResult(OpenApiReturnCode code = OpenApiReturnCode.Success, string message = "") + { + Code = code; + + if (string.IsNullOrEmpty(message) && Dic.ContainsKey(Code)) + { + Message = Dic[Code]; + } + else + { + Message = message; + } + + this.Timestamp = DateTimeHelper.ToUnixTimestamp(DateTime.Now); + } + + public void CreateSign(string key) + { + this.Sign = OpenApiSignUtil.CreateSign(this.Timestamp, key); + } + + public OpenApiResult CreateSign(HttpContext httpContext) + { + var key = httpContext.Items["OpenApiAppKey"].ToString(); + + this.Sign = OpenApiSignUtil.CreateSign(this.Timestamp, key); + + return this; + } + } + + public class OpenApiResult : OpenApiResult + { + public OpenApiResult(OpenApiReturnCode code = OpenApiReturnCode.Success, string message = "") : base(code, + message) + { + } + + public new OpenApiResult CreateSign(HttpContext httpContext) + { + var key = httpContext.Items["OpenApiAppKey"].ToString(); + + this.Sign = OpenApiSignUtil.CreateSign(this.Timestamp, key); + + return this; + } + } + + public enum OpenApiReturnCode + { + /// + /// 成功 + /// + [Description("成功")] Success = 10000, + + /// + /// 验签失败 + /// + [Description("未授权")] Unauthorized = 40001, + + /// + /// 验签失败 + /// + [Description("验签失败")] SignError = 40002, + + /// + /// 时间戳过期 + /// + [Description("时间戳过期")] TimeStampExpired = 40003, + + /// + /// 内部错误 + /// + [Description("内部错误")] InternalError = 50000, + + /// + /// 处理失败 + /// + [Description("处理失败")] Error = 500001 + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiSignUtil.cs b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiSignUtil.cs new file mode 100644 index 0000000..72f7ecc --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OpenApi/OpenApiSignUtil.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Data; +using Newtonsoft.Json.Linq; + +namespace Hncore.Infrastructure.OpenApi +{ + public static class OpenApiSignUtil + { + public static string CreateSign(long timestamp, string key) + { + return SecurityHelper.GetMd5Hash(timestamp.ToString() + key); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/OperationLog/OperationLog.cs b/Infrastructure/Hncore.Infrastructure/OperationLog/OperationLog.cs new file mode 100644 index 0000000..fbf76b8 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/OperationLog/OperationLog.cs @@ -0,0 +1,156 @@ +using System; +using System.Threading.Tasks; +using Dapper; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Serializer; +using MySql.Data.MySqlClient; +using Newtonsoft.Json; + +namespace Hncore.Infrastructure.OperationLog +{ + public class OperationLog + { + /// + /// 物业id + /// + [JsonProperty("owner_id")] + public int OwnerId { get; set; } + + /// + /// 创建时间 + /// + [JsonProperty("createtime")] + public DateTime CreateTime { get; set; } = DateTime.Now; + + /// + /// 更新时间 + /// + [JsonProperty("updatetime")] + public DateTime UpdateTime { get; set; } = DateTime.Now; + + /// + /// 删除标记 + /// + [JsonProperty("deletetag")] + public int DeleteTag { get; set; } = 0; + + /// + /// 创建人id + /// + [JsonProperty("creatorid")] + public int CreatorId { get; set; } + + /// + /// 更新人id + /// + [JsonProperty("updatorid")] + public int UpdatorId { get; set; } + + /// + /// 操作目标id + /// + [JsonProperty("targetid")] + public int TargetId { get; set; } + + /// + /// 操作人名 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 操作说明 + /// + [JsonProperty("opdesc")] + public string OpDesc { get; set; } + + /// + /// 操作前 + /// + [JsonProperty("beforeop")] + public string BeforeOp { get; set; } + + /// + /// 操作后 + /// + [JsonProperty("afterop")] + public string AfterOp { get; set; } + + /// + /// 操作对象所在小区编码 + /// + [JsonProperty("projectcode")] + public int ProjectCode { get; set; } + + /// + /// 小区名称 + /// + [JsonProperty("estatename")] + public string EstateName { get; set; } + + /// + /// 操作权限编码 + /// + [JsonProperty("permissioncode")] + public string PermissionCode { get; set; } + + /// + /// 操作权限标签 + /// + [JsonProperty("permissionlabel")] + public string PermissionLabel { get; set; } + + /// + /// 操作菜单编码 + /// + [JsonProperty("optype")] + public int OpType { get; set; } + + /// + /// 操作菜单名称 + /// + [JsonProperty("optypename")] + public string OpTypeName { get; set; } + + public void Write() + { + try + { + OperationLogStorage.WriteLog(this); + } + catch (Exception e) + { + LogHelper.Error("写操作日志失败", e); + } + } + public void WriteAsync() + { + Task.Run(()=> Write()); + } + } + + internal class OperationLogStorage + { + private static string _devConn = + "Server=rm-bp12e1533udh1827azo.mysql.rds.aliyuncs.com;Database=etor_property_test;User=etor_test;Password=etor_test!QAZ2wsx;Convert Zero Datetime=True;"; + + private static string _proConn = + "Server=rm-bp1z48e1qz15k7q9qo.mysql.rds.aliyuncs.com;Database=etor_property_pro;User=sadmin;Password=!QAZ2wsx;Convert Zero Datetime=True;"; + + private static string _insertSql = @"INSERT INTO etor_property_operationlog +( +owner_id, createtime, updatetime, deletetag, creatorid, updatorid, targetid, operator, opdesc, beforeop, afterop, projectcode, estatename, permissioncode, permissionlabel, optype, optypename +) +VALUES (@OwnerId,@CreateTime,@UpdateTime,@DeleteTag,@CreatorId,@UpdatorId,@TargetId,@Operator,@OpDesc,@BeforeOp,@AfterOp,@ProjectCode,@EstateName,@PermissionCode,@PermissionLabel,@OpType,@OpTypeName);"; + + public static void WriteLog(OperationLog log) + { + string connString = EnvironmentVariableHelper.IsAspNetCoreProduction ? _proConn : _devConn; + + using (var conn = new MySqlConnection(connString)) + { + conn.Execute(_insertSql, log); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/SMS/AliSmsService.cs b/Infrastructure/Hncore.Infrastructure/SMS/AliSmsService.cs new file mode 100644 index 0000000..070b857 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/SMS/AliSmsService.cs @@ -0,0 +1,46 @@ +using Aliyun.Acs.Core; +using Aliyun.Acs.Core.Exceptions; +using Aliyun.Acs.Core.Http; +using Aliyun.Acs.Core.Profile; +using Hncore.Infrastructure.Serializer; +using System; +using System.Collections.Generic; +namespace Hncore.Infrastructure.SMS +{ + /// + /// 发送短信 + /// + public class AliSmsService + { + public static bool Send(string TemplateCode,object TemplateParam, string SignName="", params string[] PhoneNumbers) + { + IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI4FmSkDSwFuXeLxsDB3jB", "r8FfRmoeWcCJyZSqqkQP2G3dKPPl2N"); + DefaultAcsClient client = new DefaultAcsClient(profile); + CommonRequest request = new CommonRequest(); + request.Method = MethodType.POST; + request.Domain = "dysmsapi.aliyuncs.com"; + request.Version = "2017-05-25"; + request.Action = "SendSms"; + // request.Protocol = ProtocolType.HTTP; + request.AddQueryParameters("PhoneNumbers", string.Join(",", PhoneNumbers)); + request.AddQueryParameters("SignName", SignName); + request.AddQueryParameters("TemplateCode", TemplateCode); + request.AddQueryParameters("TemplateParam", TemplateParam.ToJson()); + try + { + CommonResponse response = client.GetCommonResponse(request); + Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)); + return true; + } + catch (ServerException e) + { + Console.WriteLine(e); + } + catch (ClientException e) + { + Console.WriteLine(e); + } + return false; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/SMS/SendSMSService.cs b/Infrastructure/Hncore.Infrastructure/SMS/SendSMSService.cs new file mode 100644 index 0000000..e272b0d --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/SMS/SendSMSService.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Serializer; +using Newtonsoft.Json; + +namespace Hncore.Infrastructure.SMS +{ + /// + /// 发送短信 + /// + public class SendSMSService + { + private static string smsApi = "http://dysmsapi.aliyuncs.com"; + private static string smsAuthorization = "Basic cGJsOjEyMzQ1NmFh"; + private static string smsAppId = smsAppId = "weiyuwuye"; + + + + /// + /// 发送短信 + /// + /// 发送内容 + /// 多个手机号逗号分隔 + /// + public async static Task SendSMS(string Content, string mobile) + { + if (string.IsNullOrEmpty(Content) || string.IsNullOrEmpty(mobile)) + { + throw new ArgumentException("SendSMS参数错误"); + } + mobile = mobile.Replace(';', ','); + var postData = new SMSData() { + Mobile=mobile, + SmsType=4, + Content=Content + }; + Dictionary headers = new Dictionary(); + headers.Add("Authorization", smsAuthorization); + headers.Add("AppId", smsAppId); + var res= await HttpPostAsync(smsApi, JsonConvert.SerializeObject(postData), "application/json", 30, headers); + // return response.Data; {"Code":"100000","Message":"发送成功","Data":null} + return JsonConvert.DeserializeObject(res) ; + + } + + /// + /// post请求 + /// + /// + /// + /// + /// + /// + /// + public static string HttpPost(string url, string postData = null, string contentType = null, int timeOut = 30, Dictionary headers = null) + { + postData = postData ?? ""; + using (HttpClient client = new HttpClient()) + { + if (headers != null) + { + foreach (var header in headers) + client.DefaultRequestHeaders.Add(header.Key, header.Value); + } + using (HttpContent httpContent = new StringContent(postData, Encoding.UTF8)) + { + if (contentType != null) + httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType); + + HttpResponseMessage response = client.PostAsync(url, httpContent).Result; + return response.Content.ReadAsStringAsync().Result; + } + } + } + + + public static async Task HttpPostAsync(string url, string postData = null, string contentType = null, int timeOut = 30, Dictionary headers = null) + { + postData = postData ?? ""; + using (HttpClient client = new HttpClient()) + { + client.Timeout = new TimeSpan(0, 0, timeOut); + if (headers != null) + { + foreach (var header in headers) + client.DefaultRequestHeaders.Add(header.Key, header.Value); + } + using (HttpContent httpContent = new StringContent(postData, Encoding.UTF8)) + { + if (contentType != null) + httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType); + + HttpResponseMessage response = await client.PostAsync(url, httpContent); + return await response.Content.ReadAsStringAsync(); + } + } + } + + public class APIResponse + { + /// + /// 业务状态码 + /// + public string Code { get; set; } + + /// + /// 业务消息,如:操作失败消息 + /// + public string Message { get; set; } + + /// + /// 业务实体数据 + /// + public T Data { get; set; } + } + + public class SMSData + { + public string Mobile { get; set; } + public string Content { get; set; } + public int SmsType { get; set; } + } + public class SMSDataResponse + { + public int Code { get; set; } + public string Message { get; set; } + public object Data { get; set; } + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Serializer/JsonNetSetting.cs b/Infrastructure/Hncore.Infrastructure/Serializer/JsonNetSetting.cs new file mode 100644 index 0000000..a817d9f --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Serializer/JsonNetSetting.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Hncore.Infrastructure.Common; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace Hncore.Infrastructure.Serializer +{ + public class NullToEmptyStringResolver : DefaultContractResolver + { + protected override IList CreateProperties(Type type, MemberSerialization memberSerialization) + { + return type.GetProperties() + .Select(p => + { + var jp = base.CreateProperty(p, memberSerialization); + jp.ValueProvider = new NullToEmptyStringValueProvider(p); + return jp; + }).ToList(); + } + } + + public class NullToEmptyStringValueProvider : IValueProvider + { + PropertyInfo _MemberInfo; + + public NullToEmptyStringValueProvider(PropertyInfo memberInfo) + { + _MemberInfo = memberInfo; + } + + public object GetValue(object target) + { + object result = _MemberInfo.GetValue(target); + if (_MemberInfo.PropertyType == typeof(string) && result == null) + { + result = ""; + } + else if ((_MemberInfo.PropertyType == typeof(DateTime) || _MemberInfo.PropertyType == typeof(DateTime?)) && + result != null) + { + if (result.ToString() == "0001/1/1 0:00:00" || result.ToString() == "1000/1/1 0:00:00") + { + result = DateTimeHelper.SqlMinTime; + } + + DateTime time = Convert.ToDateTime(result); + + if (time == DateTimeHelper.SqlMaxTime || time == DateTimeHelper.SqlMinTime || time == DateTime.MaxValue || + time == DateTime.MinValue) + { + result = ""; + } + } + else if (_MemberInfo.PropertyType.Name == "List`1" && result == null) + { + result = new List(); + } + else if (_MemberInfo.PropertyType.Name == "Object" && result == null) + { + result = new { }; + } + + return result; + } + + public void SetValue(object target, object value) + { + _MemberInfo.SetValue(target, value); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Serializer/ObjectExtension.cs b/Infrastructure/Hncore.Infrastructure/Serializer/ObjectExtension.cs new file mode 100644 index 0000000..8208a73 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Serializer/ObjectExtension.cs @@ -0,0 +1,185 @@ +using System; +using System.ComponentModel; +using System.IO; +using System.Runtime.Serialization.Formatters.Binary; +using Hncore.Infrastructure.Common; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; + +namespace Hncore.Infrastructure.Serializer +{ + public static class ObjectExtension + { + #region 序列化为二进制 + + /// + /// 序列化位二进制 + /// + /// 要序列化的对象 + /// 字节数组 + public static byte[] SerializeBinary(this object request) + { + using (MemoryStream memStream = new MemoryStream()) + { + BinaryFormatter serializer = new BinaryFormatter(); + serializer.Serialize(memStream, request); + return memStream.GetBuffer(); + } + } + + #endregion + + #region 二进制反序列化 + + /// + /// 二进制反序列化 + /// + /// 字节数组 + /// 得到的对象 + public static T DeserializeBinary(this byte[] buf) where T : class, new() + { + if (buf == null) + { + return default(T); + } + + using (MemoryStream memStream = new MemoryStream(buf)) + { + memStream.Position = 0; + BinaryFormatter deserializer = new BinaryFormatter(); + T info = (T) deserializer.Deserialize(memStream); + memStream.Close(); + return info; + } + } + + #endregion + + #region Json序列化 + + /// + /// Json序列化 + /// + public static string ToJson(this object item, bool format = false) + { + using (StringWriter sw = new StringWriter()) + { + JsonSerializer serializer = JsonSerializer.Create( + new JsonSerializerSettings + { + DateFormatHandling = DateFormatHandling.MicrosoftDateFormat, + + ReferenceLoopHandling = ReferenceLoopHandling.Ignore, + + //NullValueHandling = NullValueHandling.Ignore, + + DateFormatString = "yyyy-MM-dd HH:mm:ss" + } + ); + + JsonWriter jsonWriter; + if (format) + { + jsonWriter = new JsonTextWriter(sw) + { + Formatting = Formatting.Indented, + Indentation = 4, + IndentChar = ' ' + }; + } + else + { + jsonWriter = new JsonTextWriter(sw); + } + + using (jsonWriter) + { + serializer.Serialize(jsonWriter, item); + } + + return sw.ToString(); + } + } + + #endregion + + #region Json反序列化 + + /// + /// Json反序列化 + /// + public static T FromJsonTo(this string jsonString) + { + try + { + if (!string.IsNullOrWhiteSpace(jsonString)) + { + T t = JsonConvert.DeserializeObject(jsonString); + return t; + } + else + { + return default(T); + } + } + catch (Exception ex) + { + LogHelper.Error($"Json反序列化出错", $"待反序列化的json字符串为{jsonString},错误信息:{ex}"); + return default(T); + } + } + + public static T FromJsonToOrDefault(this string str) + { + try + { + if (string.IsNullOrEmpty(str) || str == "[]" || str == "{}") + { + return default(T); + } + else + { + return JsonConvert.DeserializeObject(str); + } + } + catch (Exception ex) + { + LogHelper.Error($"Json反序列化出错", $"待反序列化的json字符串为{str},错误信息:{ex}"); + return default(T); + } + } + + #endregion + + #region 获取json字符串中的属性值 + /// + /// 获取json字符串中的属性值 + /// + /// json字符串 + /// "result:data:name" + /// + public static string JsonItemValue(this string str, string key) + { + var defaultValue = ""; + if (string.IsNullOrEmpty(str) || string.IsNullOrEmpty(key)) return defaultValue; + var JObject = JsonConvert.DeserializeObject(str) as JToken; + var res = GetJsonItem(JObject, key.Split(':'), 0) ?? defaultValue; + return res.ToString(); + } + + private static JToken GetJsonItem(JToken JToken, string[] arr, int index) + { + if (JToken == null || index == arr.Length) + { + return JToken; + } + else + { + JToken = JToken[arr[index]]; + index++; + } + return GetJsonItem(JToken, arr, index); + } + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Serializer/XML.cs b/Infrastructure/Hncore.Infrastructure/Serializer/XML.cs new file mode 100644 index 0000000..90031d9 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Serializer/XML.cs @@ -0,0 +1,54 @@ +using System.IO; +using System.Xml.Serialization; + +namespace Hncore.Infrastructure.Serializer +{ + public class XML + { + #region 将C#数据实体转化为xml数据 + + /// + /// 将C#数据实体转化为xml数据 + /// + /// 要转化的数据实体 + /// xml格式字符串 + public static string XmlSerialize(T obj) + { + using (MemoryStream stream = new MemoryStream()) + { + XmlSerializer xml = new XmlSerializer(typeof(T)); + + //序列化对象 + xml.Serialize(stream, obj); + + stream.Position = 0; + using (StreamReader sr = new StreamReader(stream)) + { + string str = sr.ReadToEnd(); + + return str; + } + } + } + + #endregion + + #region 将xml数据转化为C#数据实体 + + /// + /// 将xml数据转化为C#数据实体 + /// + /// 符合xml格式的字符串 + /// T类型的对象 + public static T XmlDeserialize(string xml) + { + XmlSerializer xmldes = new XmlSerializer(typeof(T)); + using (MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml.ToCharArray()))) + { + return (T)xmldes.Deserialize(stream); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Service/IServiceCollectionExtension.cs b/Infrastructure/Hncore.Infrastructure/Service/IServiceCollectionExtension.cs new file mode 100644 index 0000000..fedf0d2 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Service/IServiceCollectionExtension.cs @@ -0,0 +1,14 @@ +using Microsoft.Extensions.DependencyInjection; + +namespace Hncore.Infrastructure.Service +{ + public static class IServiceCollectionExtension + { + public static void AddServiceClient(this IServiceCollection service, string baseUrl) + { + ServiceHttpClient._BaseUrl = baseUrl; + + service.AddSingleton(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Service/ServiceBase.cs b/Infrastructure/Hncore.Infrastructure/Service/ServiceBase.cs new file mode 100644 index 0000000..3286f31 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Service/ServiceBase.cs @@ -0,0 +1,205 @@ +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.DDD; +using Hncore.Infrastructure.EF; +using Hncore.Infrastructure.EntitiesExtension; +using Hncore.Infrastructure.WebApi; +using Microsoft.AspNetCore.Http; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Service +{ + + public interface IFindService + { + + } + + public class ServiceBase : IFindService where TEntity : class + { + IHttpContextAccessor m_HttpContextAccessor; + + public HttpContext HttpContext + { + get => m_HttpContextAccessor.HttpContext; + } + public ManageUserInfo ManagerInfo + { + get => HttpContext.Request.GetManageUserInfo(); + } + protected DbContextBase m_DbContextBase { get; set; } + public ServiceBase(DbContextBase dbContext, IHttpContextAccessor httpContextAccessor) + { + m_DbContextBase = dbContext; + m_HttpContextAccessor = httpContextAccessor; + } + + + public virtual async Task GetById(object id) + { + return await m_DbContextBase.Set().FindByIdAsync(id); + } + + public virtual async Task Add(TEntity entity, bool autoSave = true) + { + var ret = await m_DbContextBase.Set().AddAsync(entity); + if (autoSave) + await m_DbContextBase.SaveChangesAsync(); + return ret.Entity; + } + public virtual async Task Adds(IEnumerable entitys, bool autoSave = true) + { + await m_DbContextBase.Set().AddRangeAsync(entitys); + if (autoSave) + await m_DbContextBase.SaveChangesAsync(); + } + public virtual async Task DeleteById(object id, bool autoSave = true) + { + var entity = await this.GetById(id); + return await Delete(entity, autoSave); + } + + public virtual async Task Delete(TEntity entity, bool autoSave = true) + { + //if (entity is ITenant) + //{ + // var tenantId = HttpContext.Request.GetManageUserInfo()?.TenantId; + // if (tenantId.HasValue && tenantId > 0 && (entity as ITenant).TenantId != tenantId) + // { + // return false; + // } + //} + + if (entity is ISoftDelete) + { + (entity as ISoftDelete).DeleteTag = 1; + m_DbContextBase.Set().Update(entity); + } + else + { + m_DbContextBase.Set().Remove(entity); + } + if (autoSave) + await m_DbContextBase.SaveChangesAsync(); + return true; + } + + public virtual async Task Deletes(IEnumerable entitys, bool autoSave = true) + { + if (entitys == null || entitys.Count() == 0) + return false; + + var entity = entitys.FirstOrDefault(); + + if (entity is ISoftDelete) + { + foreach(var item in entitys) { (entity as ISoftDelete).DeleteTag = 1; } + m_DbContextBase.Set().UpdateRange(entity); + } + else + { + m_DbContextBase.Set().RemoveRange(entity); + } + if (autoSave) + await m_DbContextBase.SaveChangesAsync(); + return true; + } + + + public virtual async Task Update(TEntity entity, bool autoSave = true) + { + //if (entity is ITenant) + //{ + // var tenantId = HttpContext.Request.GetManageUserInfo()?.TenantId; + // if (tenantId.HasValue && tenantId > 0 && (entity as ITenant).TenantId != tenantId) + // { + // return false; + // } + //} + m_DbContextBase.Set().Update(entity); + if (autoSave) + return (await m_DbContextBase.SaveChangesAsync()) > 0; + return true; + } + + public virtual async Task Update(IEnumerable list, bool autoSave = true) + { + m_DbContextBase.Set().UpdateRange(list); + if (autoSave) + await m_DbContextBase.SaveChangesAsync(); + return true; + } + public virtual IQueryable Query(bool noTracking = false) + { + var ret = m_DbContextBase.Set().AsQueryable(); + if (noTracking) + { + ret = ret.AsNoTracking(); + } + return ret; + } + public async virtual Task> GetAll(bool noTracking = false) + { + var ret = m_DbContextBase.Set().AsQueryable(); + if (noTracking) + { + ret = ret.AsNoTracking(); + } + return await ret.ToListAsync(); + } + public virtual IQueryable Query(Expression> exp=null, bool noTracking = false) + { + var ret = m_DbContextBase.Set().AsQueryable(); + if (exp != null) + { + ret = ret.Where(exp); + } + if (noTracking) + { + ret = ret.AsNoTracking(); + } + return ret; + } + public virtual async Task> Page(int page, int limit, Expression> exp = null, bool noTracking = false) + { + var ret = await Query(exp, noTracking).ListPagerAsync(limit, page, true); + return ret; + } + + public virtual async Task> PageDesc(int page, int limit, Expression> exp = null, bool noTracking = false, Expression> order = null) + { + + var query = Query(exp, noTracking); + if (order != null) + query = query.OrderByDescending(order); + + var ret = await query.ListPagerAsync(limit, page, true); + return ret; + } + + public virtual async Task> PageAsc(int page, int limit, Expression> exp = null, bool noTracking = false, Expression> order = null) + { + + var query = Query(exp, noTracking); + if (order != null) + query = query.OrderBy(order); + + var ret = await query.ListPagerAsync(limit, page, true); + return ret; + } + + public virtual bool Exist(Expression> expr) + { + return this.Query(expr).Count() > 0; + } + + public async Task Save() + { + return (await m_DbContextBase.SaveChangesAsync()) > 0; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Service/ServiceHttpClient.cs b/Infrastructure/Hncore.Infrastructure/Service/ServiceHttpClient.cs new file mode 100644 index 0000000..fa368d9 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Service/ServiceHttpClient.cs @@ -0,0 +1,34 @@ +using Hncore.Infrastructure.WebApi; +using System.Net.Http; + +namespace Hncore.Infrastructure.Service +{ + public class ServiceHttpClient + { + private IHttpClientFactory _httpClientFactory; + + internal static string _BaseUrl = ""; + + public string BaseUrl => _BaseUrl; + + public ServiceHttpClient(IHttpClientFactory httpClientFactory) + { + _httpClientFactory = httpClientFactory; + } + + public HttpClient CreateHttpClient() + { + var client = _httpClientFactory.CreateClient(); + client.BaseAddress = new System.Uri(_BaseUrl); + return client; + } + + public HttpClient CreateInternalClient() + { + var client = _httpClientFactory.CreateInternalAuthClient(); + client.BaseAddress = new System.Uri(_BaseUrl); + return client; + + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/Service/ServiceIOCExt.cs b/Infrastructure/Hncore.Infrastructure/Service/ServiceIOCExt.cs new file mode 100644 index 0000000..5a476fb --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Service/ServiceIOCExt.cs @@ -0,0 +1,26 @@ +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Linq; +using System.Reflection; + +namespace Hncore.Infrastructure.Service +{ + public static class ServiceIOCExt + { + public static IServiceCollection AutoAddService(this IServiceCollection service, Type fromType = null) + { + if (fromType == null) + fromType = typeof(IFindService); + + var types = Assembly.GetCallingAssembly().GetTypes(); + + types = types.Where(m => fromType.IsAssignableFrom(m)).ToArray(); + + foreach (var type in types) + { + service.AddScoped(type); + } + return service; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Tree/DataNode.cs b/Infrastructure/Hncore.Infrastructure/Tree/DataNode.cs new file mode 100644 index 0000000..cb524b9 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Tree/DataNode.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Tree +{ + public class DataNode + { + public DataNode(TData data) + { + this.Data = data; + } + + public DataNode Parent { get; set; } + public TData Data { get; set; } + + public List> Children { get; set; } = new List>(); + + public bool IsLeaf { get { return this.Children.Count()==0; } } + + public void Traverse(Action> act) + { + act(this); + this.Children.ForEach(item => + { + item.Traverse(act); + }); + } + + public string GetFullPath(Func func, string separator = ".") + { + var parent = this.Parent; + var names = new List { func(this.Data) }; + while (parent != null) + { + names.Add(func(parent.Data)); + parent = parent.Parent; + } + names.Reverse(); + return string.Join(separator, names).TrimStart(separator.ToArray()); + } + + public DataNode SortAsc(Func exp) + { + if (this.Children.Count > 0) + { + Func, Tkey> iierExp = m => exp(m.Data); + this.Children.OrderBy(iierExp); + this.Children.ForEach(item => + { + item.SortAsc(exp); + }); + } + return this; + } + + public DataNode SortDesc(Func exp) + { + if (this.Children.Count > 0) + { + Func, Tkey> iierExp = m => exp(m.Data); + this.Children.OrderByDescending(iierExp); + this.Children.ForEach(item => + { + item.SortDesc(exp); + }); + } + + return this; + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/Tree/DataTree.cs b/Infrastructure/Hncore.Infrastructure/Tree/DataTree.cs new file mode 100644 index 0000000..8e41ad4 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/Tree/DataTree.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Hncore.Infrastructure.Tree +{ + public class DataTree + { + /// + /// + /// + /// 得到第一级节点条件 + /// 得到孩子得条件 + public static DataNode Load(IEnumerable datas, Func topPredicate, Func childPredicate) where TData : new() + { + var root = new DataNode(new TData() { }); + if (datas == null || datas.Count() == 0) + return root; + var tops = datas.Where(topPredicate); + + foreach (var p in tops) + { + LoadChildren(datas, root, p, childPredicate); + } + return root; + } + private static void LoadChildren(IEnumerable datas,DataNode topNode, TData p, Func childPredicate) + { + var pNode = new DataNode(p); + pNode.Parent = topNode; + topNode.Children.Add(pNode); + + var childDatas = datas.Where(item=>childPredicate(p,item)) ; + + if (childDatas.Count() > 0) + { + foreach (var childData in childDatas) + { + LoadChildren(datas,pNode, childData, childPredicate); + } + } + } + + + public static void Traverse(DataNode rootNode, Action> act, bool root = true) + { + if (root) + { + rootNode.Traverse(act); + } + else + { + rootNode.Children.ForEach(item => + { + item.Traverse(act); + }); + } + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/CheckController.cs b/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/CheckController.cs new file mode 100644 index 0000000..8761555 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/CheckController.cs @@ -0,0 +1,16 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Hncore.Infrastructure.WebApi +{ + [Route("/check")] + public class CheckController: ControllerBase + { + [HttpGet] + [AllowAnonymous] + public IActionResult Get() + { + return Ok("ok"); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/EtorControllerBase.cs b/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/EtorControllerBase.cs new file mode 100644 index 0000000..496d4ee --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/EtorControllerBase.cs @@ -0,0 +1,124 @@ +using System; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using Hncore.Infrastructure.EF; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Abstractions; +using Microsoft.AspNetCore.Mvc.ModelBinding; +using Microsoft.AspNetCore.Mvc.Razor; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewEngines; +using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.AspNetCore.Routing; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Storage; +using Microsoft.Extensions.DependencyInjection; + +namespace Hncore.Infrastructure.WebApi +{ + [ApiController] + public class HncoreControllerBase : ControllerBase + { + protected ApiResult Success() + { + return new ApiResult(ResultCode.C_SUCCESS, ""); + } + + protected ApiResult Success(T data, string message = "") + { + return new ApiResult(ResultCode.C_SUCCESS, message) {Data = data}; + } + + protected ApiResult Error(string message = "") + { + return new ApiResult(ResultCode.C_UNKNOWN_ERROR, message); + } + + protected ApiResult Error(ResultCode code, string message = "") + { + return new ApiResult(code, message); + } + + protected ApiResult UofCommit(string message = "") + { + RepositoryDbContext.SaveChanges(); + + return Success(message); + } + + protected ApiResult UofCommit(Func func, string message = "") + { + RepositoryDbContext.SaveChanges(); + + return Success(func(), message); + } + + protected async Task UofCommitAsync(string message = "") + { + await RepositoryDbContext.SaveChangesAsync(); + + return Success(message); + } + + protected async Task UofCommitAsync(IDbContextTransaction trans, string message = "") + { + await RepositoryDbContext.SaveChangesAsync(); + + trans.Commit(); + + return Success(message); + } + + protected async Task UofCommitAsync(Func func, string message = "") + { + await RepositoryDbContext.SaveChangesAsync(); + + return Success(func(), message); + } + + + protected DbContext RepositoryDbContext => + Request.HttpContext + .RequestServices + .GetService() + .DbContext; + + protected async Task RenderViewToStringAsync(string viewName, object model = null) + { + using (var sw = new StringWriter()) + { + var actionContext = new ActionContext(HttpContext, new RouteData(), new ActionDescriptor()); + + var viewResult = HttpContext.RequestServices.GetService() + .FindView(actionContext, viewName, false); + + if (viewResult.View == null) + { + throw new ArgumentNullException($"未找到视图{viewName}"); + } + + var viewDictionary = + new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) + { + Model = model + }; + + var viewContext = new ViewContext( + actionContext, + viewResult.View, + viewDictionary, + new TempDataDictionary(actionContext.HttpContext, + HttpContext.RequestServices.GetService()), + sw, + new HtmlHelperOptions() + ); + + await viewResult.View.RenderAsync(viewContext); + + return sw.ToString().HtmlDecode(); + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/PodHookController.cs b/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/PodHookController.cs new file mode 100644 index 0000000..671cc1a --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/CommonController/PodHookController.cs @@ -0,0 +1,35 @@ +using System; +using System.Threading.Tasks; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Common.DingTalk; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Hncore.Infrastructure.WebApi +{ + [Route("/pod/[action]")] + public class PodHookController : ControllerBase + { + [HttpGet, AllowAnonymous] + public async Task PreStop() + { + LogHelper.Warn("应用即将退出"); + + if (EnvironmentVariableHelper.IsAspNetCoreProduction) + { + await DingTalkHelper.SendMessage(new MarkDownModel() + { + markdown = new markdown() + { + title = "应用即将退出", + text = "### 应用即将退出\n\nhostname:" + EnvironmentVariableHelper.HostName + "\n\n" + + DateTime.Now.Format("yyyy-MM-dd HH:mm:ss") + } + }); + } + + return Ok(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/DTO/ApiResult.cs b/Infrastructure/Hncore.Infrastructure/WebApi/DTO/ApiResult.cs new file mode 100644 index 0000000..62246b3 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/DTO/ApiResult.cs @@ -0,0 +1,274 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.Extension; +using Newtonsoft.Json; + +namespace Hncore.Infrastructure.WebApi +{ + + public class ApiResult + { + public ApiResult() + { + + } + public ApiResult(object data):this(ResultCode.C_SUCCESS,"") + { + Data = data; + } + public ApiResult(ResultCode code = ResultCode.C_SUCCESS, string message = "") + { + Code = code; + Message = message; + } + [JsonProperty("Code")] public ResultCode Code { get; private set; } + + [JsonProperty("Message")] public string Message { get; private set; } = ""; + + [JsonProperty("Data")] public virtual object Data { get; set; } + + } + + public class ApiResult: ApiResult where T : class, new() + { + [JsonProperty("Data")] public new T Data { get; set; } + + + private static readonly Dictionary Dic; + + static ApiResult() + { + Dic = ObjectExtension.ToDescriptionDictionary(); + } + public ApiResult() + { + + } + public ApiResult(T data) : this(ResultCode.C_SUCCESS, "") + { + Data = data; + } + + public ApiResult(ResultCode code = ResultCode.C_SUCCESS, string message = "") : base(code, message) + { + } + + //public ApiResult(ResultCode code = ResultCode.C_SUCCESS, string message = ""):base(code,message) + //{ + // Code = code; + + // if (string.IsNullOrEmpty(message) && Dic.ContainsKey(Code)) + // { + // Message = Dic[Code]; + // } + // else + // { + // Message = message; + // } + //} + } + + //public class ApiResult : ApiResult + //{ + + // public ApiResult(ResultCode code = ResultCode.C_SUCCESS, string message = "") : base(code, message) + // { + // } + //} + + public class ApiResultPaged : ApiResult where T : class, new() + { + [JsonProperty("TotalCount")] public int TotalCount { get; set; } + + public ApiResultPaged(ResultCode code = ResultCode.C_SUCCESS, string message = "") : base(code, message) + { + } + } + + public static class PageDataExt + { + public static ApiResultPaged> ToApiResult(this PageData pageData) where T : class, new() + { + return new ApiResultPaged>() + { + TotalCount = pageData.RowCount, + Data = pageData.List + }; + } + + public static ApiResultPaged> ToApiResult(this PageData pageData) where T2 : class, new() + { + return new ApiResultPaged>() + { + TotalCount = pageData.RowCount, + Data = pageData.List.MapsTo().ToList() + }; + } + } + + public enum ResultCode + { + /// + /// 未知错误 + /// + [Description("服务正在更新中,请稍后再试")] C_UNKNOWN_ERROR = 0, + + /// + /// 成功 + /// + [Description("成功")] C_SUCCESS = 10000, + + /// + /// 验证码 + /// + [Description("验证码错误")] C_VERIFY_CODE_ERROR = 10001, + + /// + /// 参数 + /// + [Description("服务正在更新中,请稍后再试")] C_PARAM_ERROR = 10002, + + /// + /// 登录名 + /// + [Description("登录名错误")] C_LONGIN_NAME_ERROR = 10003, + + /// + /// 密码 + /// + [Description("密码错误")] C_PASSWORD_ERROR = 10004, + + /// + /// 无效操作 + /// + [Description("非法操作")] C_INVALID_ERROR = 10005, + + /// + /// 文件 + /// + [Description("文件错误")] C_FILE_ERROR = 10006, + + /// + /// 已存在错误 + /// + [Description("资源已存在错误")] C_ALREADY_EXISTS_ERROR = 10007, + + /// + /// 资源无法访问:不是资源的拥有者 + /// + [Description("不是资源的拥有者,资源无法访问")] C_OWNER_ERROR = 10008, + + /// + /// 资源不存在 + /// + [Description("资源不存在")] C_NOT_EXISTS_ERROR = 10009, + + /// + /// 新建角色出错 + /// + [Description("创建角色出错")] C_ROLE_CREATE_ERROR = 10010, + + /// + /// 新建权限出错 + /// + [Description("新建权限错误")] C_PERMISSION_CREATE_ERROR = 10011, + + /// + /// 绑定角色和权限出错 + /// + [Description("绑定角色和权限出错")] C_ROLE_PERMISSION_CREATE_ERROR = 10012, + + /// + /// 服务器繁忙,请稍后再试! + /// + [Description("服务器繁忙")] C_Server_Is_Busy = 10013, + + /// + /// 访问被禁止 + /// + [Description("禁止访问")] C_Access_Forbidden = 10014, + + /// + /// 非法操作 + /// + [Description("非法操作")] C_Illegal_Operation = 10015, + + /// + /// 无效的openID + /// + [Description("OpenID无效")] C_OPENID_ERROR = 10016, + + /// + /// 返回错误,但无需理会 + /// + [Description("可忽略的错误")] C_IGNORE_ERROR = 10017, + + /// + /// 用户信息错误 + /// + [Description("用户信息错误")] C_USERINFO_ERROR = 10018, + + /// + /// 用户需要认证 + /// + [Description("用户需要认证")] C_USER_SELECT_ERROR = 10019, + + /// + /// 过期 + /// + [Description("超时错误")] C_TIMEOUT_ERROR = 10020, + + /// + /// 手机和验证码不匹配 + /// + [Description("手机和验证码不匹配")] C_PHONE_CODE_ERROR = 10021, + + /// + /// 微信没有选择楼 + /// + [Description("微信没有选择楼")] C_WX_UNIT_UNSELECT_ERROR = 10022, + + /// + /// 黑名单错误 + /// + [Description("黑名单错误")] C_BLACKLIST_ERROR = 10023, + + /// + /// 支付失败 + /// + [Description("支付失败")] C_PAY_FAIL = 10024, + + /// + /// 重复支付 + /// + [Description("重复支付")] RepeatPay= 10025, + + /// + /// 重定向 + /// + [Description("重定向")] C_REDIRECT_URL = 100302, + + [Description("用户重定向")] C_USER_REDIRECT_URL = 900302, + + + [Description("人脸已经存在")] C_FACEKEY_EXIST_ERROR = 900303, + + [Description("人脸角度不正确")] C_FACE_ANGLE_ERROR = 900304, + + [Description("退款失败")] C_PAY_Refund = 900305, + + /// + /// 用户支付中 + /// + [Description("用户支付中")] C_USERPAYING = 900306, + + + [Description("审核中")] C_VISITOR_CHECKING = 11001, + [Description("已过期")] C_VISITOR_OUTTIME = 11002, + [Description("未到期")] C_VISITOR_NOTYETDUE = 11003, + + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/DTO/EtorRequestBase.cs b/Infrastructure/Hncore.Infrastructure/WebApi/DTO/EtorRequestBase.cs new file mode 100644 index 0000000..82e1309 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/DTO/EtorRequestBase.cs @@ -0,0 +1,126 @@ +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; + +namespace Hncore.Infrastructure.WebApi +{ + /// + /// 请求顶级父类 + /// + public class RequestBase + { + [JsonProperty("TenantId")] + [FromQuery(Name = "TenantId")] + public int? __tenantId { get; set; } + + /// + /// 隶属物业数据库ID + /// + [JsonIgnore] + public int TenantId + { + get => __tenantId.ToInt(); + set => __tenantId = value; + } + + [JsonProperty("OperaterId")] + [FromQuery(Name = "OperaterId")] + public int? __operaterId { get; set; } + + /// + /// 当前操作员数据库ID + /// + [JsonIgnore] + public int OperaterId + { + get => __operaterId.ToInt(); + set => __operaterId = value; + } + + [JsonProperty("ProjectCode")] + [FromQuery(Name = "ProjectCode")] + public int? __projectCode { get; set; } + + /// + /// 隶属项目编码 + /// + [JsonIgnore] + public int ProjectCode + { + get => __projectCode.ToInt(); + set => __projectCode = value; + } + } + + /// + /// 泛型请求父类(主要用于在请求时携带数据) + /// + /// 携带的数据类型 + public class RequestBase : RequestBase + { + /// + /// 请求携带的数据对象 + /// + public T Data { get; set; } + } + + /// + /// 分页请求父类(主要用于分页请求操作) + /// + /// + public class PageRequestBase : RequestBase + { + [JsonProperty("PageIndex")] + [FromQuery(Name = "PageIndex")] + public int? __pageIndex { get; set; } = 1; + + /// + /// 当前页码 + /// + [JsonIgnore] + public int PageIndex + { + get => __pageIndex.ToInt(); + set => __pageIndex = value; + } + + [JsonProperty("PageSize")] + [FromQuery(Name = "PageSize")] + public int? __pageSize { get; set; } = 50; + + /// + /// 每页条目数 + /// + [JsonIgnore] + public int PageSize + { + get => __pageSize.ToInt(); + set => __pageSize = value; + } + + public string KeyWord { get; set; } + } + + /// + /// 泛型分页请求父类(在分页请求的基础之上携带数据) + /// + /// 携带的数据类型 + public class PageRequestBase : PageRequestBase + { + /// + /// 请求携带的数据对象 + /// + public T Data { get; set; } + } + + /// + /// 主键ID查询请求类(主要用于根据一个主键ID查询单条数据的情况) + /// + public class QueryByIdRequest : RequestBase + { + /// + /// 记录的数据库主键ID + /// + public int Id { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/EtorJwtValidator.cs b/Infrastructure/Hncore.Infrastructure/WebApi/EtorJwtValidator.cs new file mode 100644 index 0000000..79ccc51 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/EtorJwtValidator.cs @@ -0,0 +1,219 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using JWT; + +namespace Hncore.Infrastructure.WebApi +{ + public class ValidatorOption + { + public bool ValidateLifetime = true; + } + + public sealed class EtorJwtValidator : IJwtValidator + { + private readonly IJsonSerializer _jsonSerializer; + private readonly IDateTimeProvider _dateTimeProvider; + + private readonly ValidatorOption _option; + + /// + /// Creates an instance of + /// + /// The Json Serializer + /// The DateTime Provider + public EtorJwtValidator(IJsonSerializer jsonSerializer, IDateTimeProvider dateTimeProvider,ValidatorOption option) + { + _jsonSerializer = jsonSerializer; + _dateTimeProvider = dateTimeProvider; + _option = option; + } + + /// + /// + /// + public void Validate(string payloadJson, string decodedCrypto, string decodedSignature) + { + var ex = GetValidationException(payloadJson, decodedCrypto, decodedSignature); + if (ex != null) + throw ex; + } + + /// + /// + /// + public void Validate(string payloadJson, string decodedCrypto, string[] decodedSignatures) + { + var ex = GetValidationException(payloadJson, decodedCrypto, decodedSignatures); + if (ex != null) + throw ex; + } + + /// + /// Given the JWT, verifies its signature correctness without throwing an exception but returning it instead + /// + /// >An arbitrary payload (already serialized to JSON) + /// Decoded body + /// Decoded signature + /// Validation exception, if any + /// True if exception is JWT is valid and exception is null, otherwise false + public bool TryValidate(string payloadJson, string decodedCrypto, string decodedSignature, out Exception ex) + { + ex = GetValidationException(payloadJson, decodedCrypto, decodedSignature); + return ex is null; + } + + /// + /// Given the JWT, verifies its signatures correctness without throwing an exception but returning it instead + /// + /// >An arbitrary payload (already serialized to JSON) + /// Decoded body + /// Decoded signatures + /// Validation exception, if any + /// True if exception is JWT is valid and exception is null, otherwise false + public bool TryValidate(string payloadJson, string decodedCrypto, string[] decodedSignature, out Exception ex) + { + ex = GetValidationException(payloadJson, decodedCrypto, decodedSignature); + return ex is null; + } + + private Exception GetValidationException(string payloadJson, string decodedCrypto, string decodedSignature) + { + if (String.IsNullOrWhiteSpace(payloadJson)) + return new ArgumentException(nameof(payloadJson)); + + if (String.IsNullOrWhiteSpace(decodedCrypto)) + return new ArgumentException(nameof(decodedCrypto)); + + if (String.IsNullOrWhiteSpace(decodedSignature)) + return new ArgumentException(nameof(decodedSignature)); + + if (!CompareCryptoWithSignature(decodedCrypto, decodedSignature)) + return new SignatureVerificationException(decodedCrypto, decodedSignature); + + return GetValidationException(payloadJson); + } + + private Exception GetValidationException(string payloadJson, string decodedCrypto, string[] decodedSignatures) + { + if (String.IsNullOrWhiteSpace(payloadJson)) + return new ArgumentException(nameof(payloadJson)); + + if (String.IsNullOrWhiteSpace(decodedCrypto)) + return new ArgumentException(nameof(decodedCrypto)); + + if (AreAllDecodedSignaturesNullOrWhiteSpace(decodedSignatures)) + return new ArgumentException(nameof(decodedSignatures)); + + if (!IsAnySignatureValid(decodedCrypto, decodedSignatures)) + return new SignatureVerificationException(decodedCrypto, decodedSignatures); + + return GetValidationException(payloadJson); + } + + private Exception GetValidationException(string payloadJson) + { + if (!_option.ValidateLifetime) + { + return null; + } + + var payloadData = _jsonSerializer.Deserialize>(payloadJson); + + var now = _dateTimeProvider.GetNow(); + var secondsSinceEpoch = UnixEpoch.GetSecondsSince(now); + + return ValidateExpClaim(payloadData, secondsSinceEpoch) ?? ValidateNbfClaim(payloadData, secondsSinceEpoch); + } + + private static bool AreAllDecodedSignaturesNullOrWhiteSpace(string[] decodedSignatures) => + decodedSignatures.All(sgn => String.IsNullOrWhiteSpace(sgn)); + + private static bool IsAnySignatureValid(string decodedCrypto, string[] decodedSignatures) => + decodedSignatures.Any(decodedSignature => CompareCryptoWithSignature(decodedCrypto, decodedSignature)); + + /// In the future this method can be opened for extension so made protected virtual + private static bool CompareCryptoWithSignature(string decodedCrypto, string decodedSignature) + { + if (decodedCrypto.Length != decodedSignature.Length) + return false; + + var decodedCryptoBytes = Encoding.UTF8.GetBytes(decodedCrypto); + var decodedSignatureBytes = Encoding.UTF8.GetBytes(decodedSignature); + + byte result = 0; + for (var i = 0; i < decodedCrypto.Length; i++) + { + result |= (byte) (decodedCryptoBytes[i] ^ decodedSignatureBytes[i]); + } + + return result == 0; + } + + /// + /// Verifies the 'exp' claim. + /// + /// See https://tools.ietf.org/html/rfc7515#section-4.1.4 + /// + /// + private static Exception ValidateExpClaim(IDictionary payloadData, double secondsSinceEpoch) + { + + if (!payloadData.TryGetValue("exp", out var expObj)) + return null; + + if (expObj is null) + return new SignatureVerificationException("Claim 'exp' must be a number."); + + double expValue; + try + { + expValue = Convert.ToDouble(expObj); + } + catch + { + return new SignatureVerificationException("Claim 'exp' must be a number."); + } + + if (secondsSinceEpoch >= expValue) + { + return new TokenExpiredException("Token has expired."); + } + + return null; + } + + /// + /// Verifies the 'nbf' claim. + /// + /// See https://tools.ietf.org/html/rfc7515#section-4.1.5 + /// + private static Exception ValidateNbfClaim(IReadOnlyDictionary payloadData, + double secondsSinceEpoch) + { + if (!payloadData.TryGetValue("nbf", out var nbfObj)) + return null; + + if (nbfObj is null) + return new SignatureVerificationException("Claim 'nbf' must be a number."); + + double nbfValue; + try + { + nbfValue = Convert.ToDouble(nbfObj); + } + catch + { + return new SignatureVerificationException("Claim 'nbf' must be a number."); + } + + if (secondsSinceEpoch < nbfValue) + { + return new SignatureVerificationException("Token is not yet valid."); + } + + return null; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/AuthBase.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/AuthBase.cs new file mode 100644 index 0000000..b42028c --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/AuthBase.cs @@ -0,0 +1,50 @@ +using System; +using Hncore.Infrastructure.Common; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc.Filters; + +namespace Hncore.Infrastructure.WebApi +{ + public abstract class AuthBase : Attribute, IAuthorizationFilter, IResourceFilter + { + public abstract void OnAuthorization(AuthorizationFilterContext context); + + public void OnResourceExecuting(ResourceExecutingContext context) + { + if (!context.HasPassed() && !context.AllowAnonymous()) + { + context.Reject(); + } + } + + public void OnResourceExecuted(ResourceExecutedContext context) + { + } + + /// + /// 内部接口签名 + /// + /// + /// + /// + public static string CreateInternalApiSign(long timestamp, string randomstr) + { + string secret = + "1CD985F202645678FF1CE16BC14BCB9E.74562B91A1E851E9CEC9DA8BCE313DFE.EA6B2EFBDD4255A9F1B3BBC6399B58F4"; + + return SecurityHelper.GetMd5Hash($"{timestamp}{randomstr}{secret}"); + } + + /// + /// 创建第三方开放接口签名 + /// + /// + /// + /// + /// + public static string CreateOpenApiSign(long timestamp, string randomstr, string appKey) + { + return SecurityHelper.GetMd5Hash($"{timestamp}{randomstr}{appKey}"); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/HttpContextExt.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/HttpContextExt.cs new file mode 100644 index 0000000..daf9e15 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/HttpContextExt.cs @@ -0,0 +1,180 @@ +using System.Linq; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Authorization; +using Microsoft.AspNetCore.Mvc.Filters; + +namespace Hncore.Infrastructure.WebApi +{ + public static class HttpContextExt + { + /// + /// 是否允许匿名访问 + /// + /// + /// + public static bool AllowAnonymous(this AuthorizationFilterContext context) + { + if (context.HttpContext.Items.ContainsKey("AllowAnonymous") + && context.HttpContext.Items["AllowAnonymous"].ToBool()) + { + return true; + } + + if (context.Filters.Any(item => item is IAllowAnonymousFilter)) + { + context.HttpContext.Items["AllowAnonymous"] = true; + return true; + } + + return false; + } + + /// + /// 是否允许匿名访问 + /// + /// + /// + public static bool AllowAnonymous(this ResourceExecutingContext context) + { + if (context.HttpContext.Items.ContainsKey("AllowAnonymous") + && context.HttpContext.Items["AllowAnonymous"].ToBool()) + { + return true; + } + + if (context.Filters.Any(item => item is IAllowAnonymousFilter)) + { + context.HttpContext.Items["AllowAnonymous"] = true; + return true; + } + + return false; + } + + /// + /// 是否已通过验证 + /// + /// + public static bool HasPassed(this AuthorizationFilterContext context) + { + if (context.HttpContext.Items.ContainsKey("AuthPassed") && context.HttpContext.Items["AuthPassed"].ToBool()) + { + return true; + } + + return false; + } + + /// + /// 是否已通过验证 + /// + /// + public static bool HasPassed(this ResourceExecutingContext context) + { + if (context.HttpContext.Items.ContainsKey("AuthPassed") && context.HttpContext.Items["AuthPassed"].ToBool()) + { + return true; + } + + return false; + } + + /// + /// 通过验证 + /// + /// + /// 过滤器名称 + /// + public static void SetPassed(this AuthorizationFilterContext context, string filterName) + { + context.HttpContext.Items["AuthPassed"] = true; + context.HttpContext.Items["AuthPassedFilterName"] = filterName; + } + + /// + /// 拒绝通过 + /// + /// + /// 拒绝原因 + public static void Reject(this AuthorizationFilterContext context, string reason = "") + { + context.HttpContext.Response.StatusCode = 401; + context.Result = new JsonResult(new ApiResult(ResultCode.C_Access_Forbidden, reason)); + } + + /// + /// 拒绝通过并跳转 + /// + /// + /// + public static void RejectToRedirect(this AuthorizationFilterContext context, string url = "") + { + //context.HttpContext.Response.StatusCode = 401; + context.Result = new RedirectResult(url); + } + + /// + /// 拒绝通过 + /// + /// + /// 拒绝原因 + public static void Reject(this ResourceExecutingContext context, string reason = "") + { + context.HttpContext.Response.StatusCode = 401; + context.Result = new JsonResult(new ApiResult(ResultCode.C_Access_Forbidden, reason)); + } + + + /// + /// 是否包含内部调用验证信息 + /// + /// + /// + public static bool HasInternalApiAuthInfo(this AuthorizationFilterContext context) + { + if (!context.HttpContext.Request.Headers.ContainsKey("timestamp") + || !context.HttpContext.Request.Headers.ContainsKey("randomstr") + || !context.HttpContext.Request.Headers.ContainsKey("internalsign")) + { + return false; + } + + return true; + } + + /// + /// 是否包含第三方开放验证信息 + /// + /// + /// + public static bool HasOpenApiAuthInfo(this AuthorizationFilterContext context) + { + if (!context.HttpContext.Request.Headers.ContainsKey("timestamp") + || !context.HttpContext.Request.Headers.ContainsKey("randomstr") + || !context.HttpContext.Request.Headers.ContainsKey("appid") + || !context.HttpContext.Request.Headers.ContainsKey("sign")) + { + return false; + } + + return true; + } + + /// + /// 是否包含token验证信息 + /// + /// + /// + public static bool HasTokenAuthInfo(this AuthorizationFilterContext context) + { + if (!context.HttpContext.Request.Headers.ContainsKey("token")&&!context.HttpContext.Request.Cookies.ContainsKey("token")) + { + return false; + } + + return true; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/InternalApiAuthAttribute.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/InternalApiAuthAttribute.cs new file mode 100644 index 0000000..85ffe68 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/InternalApiAuthAttribute.cs @@ -0,0 +1,70 @@ +using System; +using System.Linq; +using System.Net.Http; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Authorization; +using Microsoft.AspNetCore.Mvc.Filters; + +namespace Hncore.Infrastructure.WebApi +{ + public class InternalApiAuthAttribute : AuthBase,IOrderedFilter + { + public int Order =>0; + + public override void OnAuthorization(AuthorizationFilterContext context) + { + + if (context.AllowAnonymous() + || context.HasPassed() + || !context.HasInternalApiAuthInfo()) + { + return; + } + + long.TryParse(context.HttpContext.Request.Headers["timestamp"], out long timestamp); + string randomstr = context.HttpContext.Request.Headers["randomstr"]; + string sign = context.HttpContext.Request.Headers["internalsign"]; + + if (EnvironmentVariableHelper.IsAspNetCoreProduction) + { + long secondDiff = DateTimeHelper.ToUnixTimestamp(DateTime.Now) - timestamp; + + if (secondDiff > 600 || secondDiff < -600) + { + context.Reject("时间戳已过期"); + } + } + + + if (!String.Equals(sign, AuthBase.CreateInternalApiSign(timestamp, randomstr) + , StringComparison.CurrentCultureIgnoreCase)) + { + context.Reject("签名错误"); + } + + context.SetPassed("InternalApiAuth"); + } + } + + public static class InternalApiAuthExt + { + public static HttpClient CreateInternalAuthClient(this IHttpClientFactory httpClientFactory) + { + var httpclient = httpClientFactory.CreateClient(TimeSpan.FromSeconds(10)); + + long timestamp = DateTimeHelper.ToUnixTimestamp(DateTime.Now); + string randomstr = Guid.NewGuid().ToString(); + + var sign = AuthBase.CreateInternalApiSign(timestamp, randomstr); + + httpclient.DefaultRequestHeaders.Add("timestamp", timestamp.ToString()); + httpclient.DefaultRequestHeaders.Add("randomstr", randomstr); + httpclient.DefaultRequestHeaders.Add("internalsign", sign); + + return httpclient; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/LimitQosAttribute.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/LimitQosAttribute.cs new file mode 100644 index 0000000..ef07bb3 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/LimitQosAttribute.cs @@ -0,0 +1,88 @@ +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Core.Web; +using Microsoft.AspNetCore.Mvc.Filters; +using System; +using System.Linq; + +namespace Hncore.Infrastructure.WebApi.Filter +{ + public enum LimitDimension + { + Ip, + TenantId, + AppId + } + public class LimitQosAttribute : AuthBase + { + private int _timeWindow; + private int _count; + private LimitDimension[] _dimensions; + + public LimitQosAttribute(int timeWindow, int count, params LimitDimension[] dimensions) + { + _timeWindow = timeWindow; + _count = count; + _dimensions = dimensions; + } + + public override void OnAuthorization(AuthorizationFilterContext context) + { + string url = context.HttpContext.Request.Path.ToString().ToLower(); + + string cacheKey = $"limitqos:{url}"; + + if (_dimensions.Contains(LimitDimension.Ip)) + { + string ip = context.HttpContext.GetUserIp(); + cacheKey += $":{ip}"; + } + + if (_dimensions.Contains(LimitDimension.TenantId)) + { + var mangeInfo = context.HttpContext.Request.GetManageUserInfo(); + + if (mangeInfo == null) + { + return; + } + + cacheKey += $":{mangeInfo.TenantId}"; + } + + if (_dimensions.Contains(LimitDimension.AppId)) + { + if (!context.HttpContext.Items.ContainsKey("OpenAppId")) + { + return; + } + + cacheKey += $":{context.HttpContext.Items["OpenAppId"]}"; + } + + var luaScript = $"return redis.call('CL.THROTTLE','{cacheKey}','{_count}','{_count}','{_timeWindow}','1')"; + + try + { + var res = RedisHelper.Eval(luaScript, cacheKey); + + if (res is Array) + { + var arr = res as Array; + + if (arr.Length == 5) + { + if (Convert.ToInt32(arr.GetValue(0)) != 0) + { + context.Reject($"超出{_timeWindow}秒{_count}次的请求限制"); + } + } + } + } + catch (Exception e) + { + LogHelper.Error("reids异常", e); + } + } + } + +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/ManageAuthAttribute.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/ManageAuthAttribute.cs new file mode 100644 index 0000000..addf4e9 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/ManageAuthAttribute.cs @@ -0,0 +1,162 @@ +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Extension; +using Hncore.Infrastructure.Serializer; +using JWT; +using JWT.Serializers; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.Extensions.DependencyInjection; +using Newtonsoft.Json; +using System; +using System.Net.Http; + + +namespace Hncore.Infrastructure.WebApi +{ + public class ManageAuthAttribute : AuthBase, IOrderedFilter + { + public int Order =>1; + + public override void OnAuthorization(AuthorizationFilterContext context) + { + if (context.AllowAnonymous() + || context.HasPassed() + || !context.HasTokenAuthInfo()) + { + return; + } + + var manager_user_info = context.HttpContext.Request.GetManageUserInfo(); + + if (manager_user_info == null) + { + context.Reject(); + } + + // var IP = context.HttpContext.Request.Headers["X-Real-IP"].ToString(); + // System.IO.StreamReader reader = new System.IO.StreamReader("/var/www/ip/ip"); + // string limitIp = reader.ReadLine(); + + + + // // //LogHelper.Error("ipaddresses", (!limitIp.Contains(IP)).ToString()); + + + // if ((!limitIp.Contains(IP)) && manager_user_info.OperaterId<100000) { + // context.Reject(); + // } + + context.SetPassed("ManageAuth"); + } + } + + public class ManageUserInfo + { + [JsonProperty("LoginName")] public string LoginName { get; set; } + + [JsonProperty("RoleName")] public string RoleName { get; set; } + + [JsonProperty("OperaterID")] public int OperaterId { get; set; } + + [JsonProperty("TenantId")] public int TenantId { get; set; } + + [JsonProperty("DataDomain")] public int StoreId { get; set; } + + [JsonProperty("exp")] public long ExpiredTimestamp { get; set; } + + [JsonProperty("iat")] public long IssueTimestamp { get; set; } + [JsonProperty("OpenId")] public string OpenId { get; set; } + } + + public static class HttpRequestExt + { + private static string _secret = "etor_yh_lzh_20f_2020_YES"; + + public static void SetManageUserInfo(this HttpRequest request, ManageUserInfo manageUserInfo) + { + request.HttpContext.Items["ManageUserInfo"] = manageUserInfo; + } + + public static ManageUserInfo GetManageUserInfo(this HttpRequest request) + { + if (!request.Headers.ContainsKey("token")) + { + return null; + } + + if (request.HttpContext.Items.ContainsKey("ManageUserInfo")) + { + return request.HttpContext.Items["ManageUserInfo"] as ManageUserInfo; + } + + string token = request.Headers["token"]; + + string storeId = request.Headers["sid"]; + + string payload = string.Empty; + + try + { + IJsonSerializer serializer = new JsonNetSerializer(); + IDateTimeProvider provider = new UtcDateTimeProvider(); + IJwtValidator validator = new JwtValidator(serializer, provider); + IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); + IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder); + payload = decoder.Decode(token, _secret, verify: true); + + if (string.IsNullOrEmpty(payload)) + { + return null; + } + + try + { + ManageUserInfo manageUserInfo = payload.FromJsonTo(); + + if (manageUserInfo == null || manageUserInfo.TenantId == 0) + { + return null; + } + + if (manageUserInfo.IssueTimestamp == 0 + || DateTimeHelper.UnixTimeStampToDateTime(manageUserInfo.IssueTimestamp) < + DateTime.Now.AddHours(-4)) + { + return null; + } + + if(storeId.Has()) + { + manageUserInfo.StoreId = Convert.ToInt32(storeId); + } + + request.SetManageUserInfo(manageUserInfo); + + return manageUserInfo; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + } + + public static HttpClient CreateManageAuthHttpClient(this HttpRequest request) + { + var httpclient = request.HttpContext.RequestServices + .GetService() + .CreateClient(TimeSpan.FromMinutes(1)); + + httpclient.DefaultRequestHeaders.Add("token", request.Headers["token"].ToString()); + httpclient.DefaultRequestHeaders.Add("sid", request.Headers["sid"].ToString()); + + return httpclient; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/UserAuthAttribute.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/UserAuthAttribute.cs new file mode 100644 index 0000000..6711a81 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/Auth/UserAuthAttribute.cs @@ -0,0 +1,166 @@ +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Extension; +using Hncore.Infrastructure.Serializer; +using JWT; +using JWT.Serializers; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Net.Http.Headers; +using Newtonsoft.Json; +using System; +using System.Net.Http; + + +namespace Hncore.Infrastructure.WebApi +{ + public class UserAuthAttribute : AuthBase, IOrderedFilter + { + public int Order => 0; + + public override void OnAuthorization(AuthorizationFilterContext context) + { + + if (context.HasPassed())//context.AllowAnonymous()|| + + { + return; + } + + if (context.HttpContext.Request.GetUserInfo() == null) + { + // context.Reject(); + context.HttpContext.Response.Cookies.Delete("token"); + context.HttpContext.Response.Cookies.Delete("userInfo"); + + var userAgent = context.HttpContext.Request.Headers[HeaderNames.UserAgent].ToString().ToLower(); + if (userAgent.IndexOf("micromessenger") == -1) + { + context.RejectToRedirect("/User/WebLogin"); + } + else + { + var url = context.HttpContext.Request.GetUrl().UrlEncode(); + context.RejectToRedirect($"/User/MP_GetUserInfo?appid=wx18e5b4f42773c3ec&callbakUrl={url}"); + } + } + + context.SetPassed("UserAuth"); + } + } + + public class AppUserInfo + { + [JsonProperty("LoginName")] public string LoginName { get; set; } + + [JsonProperty("Name")] public string Name { get; set; } + + [JsonProperty("RoleName")] public string RoleName { get; set; } + + [JsonProperty("UserId")] public int UserId { get; set; } + + [JsonProperty("TenantId")] public int TenantId { get; set; } + + [JsonProperty("DataDomain")] public int[] DataDomain { get; set; } + + [JsonProperty("exp")] public long ExpiredTimestamp { get; set; } + + [JsonProperty("iat")] public long IssueTimestamp { get; set; } + [JsonProperty("OpenId")] public string OpenId { get; set; } + [JsonProperty("AppType")] public string AppType { get; set; } + [JsonProperty("AppId")] public string AppId { get; set; } + [JsonProperty("StoreId")] public int StoreId { get; set; } + } + + public static class HttpRequestExt1 + { + private static string _secret = "hncore_yh_lzh_20f_2020_READY"; + + public static void SetUserInfo(this HttpRequest request, AppUserInfo manageUserInfo) + { + request.HttpContext.Items["UserInfo"] = manageUserInfo; + } + + public static AppUserInfo GetUserInfo(this HttpRequest request) + { + if (!request.Headers.ContainsKey("token")&& !request.Cookies.ContainsKey("token")) + { + return null; + } + + if (request.HttpContext.Items.ContainsKey("UserInfo")) + { + return request.HttpContext.Items["UserInfo"] as AppUserInfo; + } + + if(!request.Cookies.TryGetValue("token",out string token)) + { + token = request.Headers["token"]; + } + string payload = string.Empty; + + try + { + IJsonSerializer serializer = new JsonNetSerializer(); + IDateTimeProvider provider = new UtcDateTimeProvider(); + IJwtValidator validator = new JwtValidator(serializer, provider); + IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); + IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder); + payload = decoder.Decode(token, _secret, verify: true); + + if (string.IsNullOrEmpty(payload)) + { + request.HttpContext.Response.Cookies.Delete("token"); + request.HttpContext.Response.Cookies.Delete("userInfo"); + return null; + } + + try + { + AppUserInfo manageUserInfo = payload.FromJsonTo(); + + if (manageUserInfo == null) + { + return null; + } + + if (manageUserInfo.IssueTimestamp == 0 + || DateTimeHelper.UnixTimeStampToDateTime(manageUserInfo.IssueTimestamp) < + DateTime.Now.AddHours(-240)) + { + return null; + } + + request.SetUserInfo(manageUserInfo); + + return manageUserInfo; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + request.HttpContext.Response.Cookies.Delete("token"); + request.HttpContext.Response.Cookies.Delete("userInfo"); + return null; + } + } + catch(Exception ex) + { + Console.WriteLine(ex.Message); + request.HttpContext.Response.Cookies.Delete("token"); + request.HttpContext.Response.Cookies.Delete("userInfo"); + return null; + } + } + + public static HttpClient CreateManageAuthHttpClient(this HttpRequest request) + { + var httpclient = request.HttpContext.RequestServices + .GetService() + .CreateClient(TimeSpan.FromMinutes(1)); + + httpclient.DefaultRequestHeaders.Add("token", request.Headers["token"].ToString()); + + return httpclient; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/SwaggerAddEnumDescriptionsDocumentFilter.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/SwaggerAddEnumDescriptionsDocumentFilter.cs new file mode 100644 index 0000000..aaba937 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/SwaggerAddEnumDescriptionsDocumentFilter.cs @@ -0,0 +1,106 @@ +using Swashbuckle.AspNetCore.Swagger; +using Swashbuckle.AspNetCore.SwaggerGen; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Text; + +namespace Hncore.Infrastructure.WebApi.Filter +{ + public class SwaggerAddEnumDescriptionsDocumentFilter : IDocumentFilter + { + public void Apply(SwaggerDocument swaggerDoc, DocumentFilterContext context) + { + // add enum descriptions to result models + // 将枚举加到返回对象的描述中,json.definitions对象里的枚举 + foreach (KeyValuePair schemaDictionaryItem in swaggerDoc.Definitions) + { + Schema schema = schemaDictionaryItem.Value; + foreach (KeyValuePair propertyDictionaryItem in schema.Properties) + { + Schema property = propertyDictionaryItem.Value; + IList propertyEnums = property.Enum; + if (propertyEnums != null && propertyEnums.Count > 0) + { + property.Description += DescribeEnum(propertyEnums); + } + } + } + + // add enum descriptions to input parameters + if (swaggerDoc.Paths.Count > 0) + { + foreach (PathItem pathItem in swaggerDoc.Paths.Values) + { + DescribeEnumParameters(pathItem.Parameters); + // head, patch, options, delete left out + List possibleParameterisedOperations = new List { pathItem.Get, pathItem.Post, pathItem.Put }; + possibleParameterisedOperations.FindAll(x => x != null).ForEach(x => DescribeEnumParameters(x.Parameters)); + } + } + } + + private void DescribeEnumParameters(IList parameters) + { + if (parameters != null) + { + foreach (var param in parameters) + { + if (param.In == "path") + { + var nonParam = (NonBodyParameter)param; + IList paramEnums = nonParam.Enum; + if (paramEnums != null && paramEnums.Count > 0) + { + param.Description +=":"+ DescribeEnum(paramEnums); + } + } + if (param.In == "body") + { + var bodyParam = (BodyParameter)param; + Schema property = bodyParam.Schema; + IList propertyEnums = property.Enum; + if (propertyEnums != null && propertyEnums.Count > 0) + { + property.Description += ":" + DescribeEnum(propertyEnums); + } + } + if (param.In == "query") + { + var nonParam = (NonBodyParameter)param; + IList paramEnums = nonParam.Enum; + if (paramEnums != null && paramEnums.Count > 0) + { + param.Description += ":" + DescribeEnum(paramEnums); + } + } + } + } + } + /// + /// 枚举转换成值和描述 + /// + /// + /// + private string DescribeEnum(IList enums) + { + List enumDescriptions = new List(); + foreach (object item in enums) + { + var type = item.GetType(); + var objArr = type.GetField(item.ToString()).GetCustomAttributes(typeof(DisplayAttribute), true); + if (objArr != null && objArr.Length > 0) + { + DisplayAttribute da = objArr[0] as DisplayAttribute; + enumDescriptions.Add($"{(int)item} {da.Name}"); + } + else + { + enumDescriptions.Add(string.Format("{0} = {1}", (int)item, Enum.GetName(item.GetType(), item))); + } + } + return string.Join(", ", enumDescriptions.ToArray()); + } + + } +} diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/SwaggerOperationFilter.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/SwaggerOperationFilter.cs new file mode 100644 index 0000000..48f003a --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/SwaggerOperationFilter.cs @@ -0,0 +1,53 @@ +using Microsoft.AspNetCore.JsonPatch.Operations; +using Swashbuckle.AspNetCore.Swagger; +using Swashbuckle.AspNetCore.SwaggerGen; +using System.ComponentModel.DataAnnotations; +using System.Linq; + +namespace Hncore.Infrastructure.WebApi.Filter +{ + public class SwaggerOperationFilter : IOperationFilter + { + /// + /// 应用过滤器 + /// + /// + /// + public void Apply(Swashbuckle.AspNetCore.Swagger.Operation operation, OperationFilterContext context) + { + #region Swagger版本描述处理 + + foreach (var parameter in operation.Parameters.OfType()) + { + //var description = context.ApiDescription.ParameterDescriptions.First(p => p.Name == parameter.Name); + if (parameter.Name == "version") + { + parameter.Description = "填写版本号如:1、2"; + parameter.Default = context.ApiDescription.GroupName.Replace("v", ""); + } + + //if (parameter.Enum!=null&¶meter.Enum.Count > 0) + //{ + // string desc = ""; + // foreach(var item in parameter.Enum) + // { + // var type = item.GetType(); + // var objArr=type.GetField(item.ToString()).GetCustomAttributes(typeof(DisplayAttribute), true); + // if (objArr != null && objArr.Length > 0) + // { + // DisplayAttribute da = objArr[0] as DisplayAttribute; + // desc += $"{item} {da.Name}"; + // } + // } + // parameter.Description = desc; + //} + } + + #endregion + + var auth = context.MethodInfo + .GetCustomAttributes(true) + .OfType(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Filter/ValidateModelAttribute.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/ValidateModelAttribute.cs new file mode 100644 index 0000000..617708d --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Filter/ValidateModelAttribute.cs @@ -0,0 +1,46 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; + +namespace Hncore.Infrastructure.WebApi.Filter +{ + public class ValidateModelAttribute : ActionFilterAttribute + { + /// + /// netcore 会自动判断context.ModelState.IsValid + /// 如果是false,自动返回BadRequestObjectResult + /// 需要在OnResultExecuting重写返回值 + /// + /// + public override void OnActionExecuting(ActionExecutingContext context) + { + //var httpContext = context.HttpContext; + //if (context.ModelState.IsValid == false) + //{ + // context.Result = new JsonResult(context.ModelState); + // //httpContext.Response = httpContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, context.ModelState); + //} + } + public override void OnResultExecuting(ResultExecutingContext context) + { + var httpContext = context.HttpContext; + if (context.ModelState.IsValid == false) + { + var message = new List(); ; + foreach(var item in context.ModelState.Values) + { + foreach (var error in item.Errors) + { + message.Add( error.ErrorMessage ); + } + } + var apiRes = new ApiResult(ResultCode.C_PARAM_ERROR, string.Join("|", message)); + context.Result = new JsonResult(apiRes); + //httpContext.Response = httpContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, context.ModelState); + } + } + } +} diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/GlobalData.cs b/Infrastructure/Hncore.Infrastructure/WebApi/GlobalData.cs new file mode 100644 index 0000000..cc8cbb8 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/GlobalData.cs @@ -0,0 +1,7 @@ +namespace Hncore.Infrastructure.WebApi +{ + internal class GlobalData + { + public static bool UseGlobalManageAuthFilter { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/Middleware/ErrorHandlingMiddleware.cs b/Infrastructure/Hncore.Infrastructure/WebApi/Middleware/ErrorHandlingMiddleware.cs new file mode 100644 index 0000000..92313b5 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/Middleware/ErrorHandlingMiddleware.cs @@ -0,0 +1,103 @@ +using System; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Data; +using Hncore.Infrastructure.Extension; +using Hncore.Infrastructure.OpenApi; +using Hncore.Infrastructure.Serializer; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Hncore.Infrastructure.Core.Web; + + +namespace Hncore.Infrastructure.WebApi +{ + /// + /// 统一错误异常处理中间件类 + /// + /// + public class ErrorHandlingMiddleware + { + private readonly RequestDelegate next; + + public ErrorHandlingMiddleware(RequestDelegate next) + { + this.next = next; + } + + public async Task Invoke(HttpContext context) + { + try + { + await next(context); + } + catch (Exception ex) + { + string requestMsg = "请求URL:" + context.Request.GetAbsoluteUri() + ""; + + requestMsg += "\nMethod:" + context.Request.Method + "\n"; + + if (context.Request.Method.ToLower() != "get") + { + var requestBody = await context.Request.ReadBodyAsStringAsync(); + requestMsg += "Body:\n" + requestBody + + "\n------------------------\n"; + } + else + { + requestMsg += "\n------------------------\n"; + } + + + await HandleExceptionAsync(context, ex, requestMsg); + } + } + + + private static Task HandleExceptionAsync(HttpContext context, Exception ex, + string requestMsg) + { + ResultCode code = ResultCode.C_UNKNOWN_ERROR; + string msg = ""; + + if (ex is BusinessException bex) + { + code = bex.Code; + msg = bex.Message; + + LogHelper.Error($"业务异常,{msg}", requestMsg + ex); + } + else + { + if (EnvironmentVariableHelper.IsAspNetCoreProduction) + { + msg = "系统繁忙,请稍后再试"; + } + else + { + msg = ex.Message; + } + + LogHelper.Error($"未知异常,{ex.Message}", requestMsg + ex); + } + + var data = new ApiResult(code, msg); + + var result = data.ToJson(); + + context.Response.ContentType = "application/json;charset=utf-8"; + + return context.Response.WriteAsync(result); + } + } + + public static class ErrorHandlingExtensions + { + public static IApplicationBuilder UseErrorHandling(this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/ApplicationBuilderExtend.cs b/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/ApplicationBuilderExtend.cs new file mode 100644 index 0000000..a4e4c16 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/ApplicationBuilderExtend.cs @@ -0,0 +1,76 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Hncore.Infrastructure.Common; +using Hncore.Infrastructure.Common.DingTalk; +using Hncore.Infrastructure.Extension; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Logging; +using NLog.Extensions.Logging; + +namespace Hncore.Infrastructure.WebApi +{ + /// + /// 应用程序构建器扩展类 + /// + /// + public static class ApplicationBuilderExtend + { + /// + /// 初始化应用程序构建器 + /// + /// 当前应用程序构建器对象 + /// 日志工厂对象 + /// 初始化后的应用程序构建器对象 + /// 应用程序生命周期对象 + /// + public static IApplicationBuilder Init(this IApplicationBuilder app, ILoggerFactory loggerFactory, + IApplicationLifetime applicationLifetime) + { + loggerFactory.AddNLog(); //启用Nlog日志插件 + + app.UseErrorHandling(); //添加统一错误异常处理中间件(一个自定义类) + + + + //启用Cors(跨域请求)支持(默认关闭状态) + + app.UseCors(builder => builder + .SetIsOriginAllowed(host => true) //允许所有来源 + .AllowAnyMethod() //允许任何请求方法(GET、POST、PUT、DELETE等) + .AllowAnyHeader() //允许任何请求头信息 + .AllowCredentials() //允许跨域凭据 + // .SetPreflightMaxAge(TimeSpan.FromDays(30)) //指定可以缓存预检请求的响应的时间为30天 + .WithExposedHeaders("X-Suggested-Filename", "set-user-token", "set-user") + ); + app.UseMvc(); //启用MVC + + + //向应用程序生命周期的“应用程序已完全启动”事件注册回调函数 + applicationLifetime.ApplicationStarted.Register(OnAppStarted); + + return app; + } + + /// + /// 应用程序完全启动完成处理回调函数 + /// + /// + private static void OnAppStarted() + { + //if (EnvironmentVariableHelper.IsAspNetCoreProduction) + //{ + // DingTalkHelper.SendMessage(new MarkDownModel() + // { + // markdown = new markdown() + // { + // title = "应用已启动", + // text = "### 应用已启动\n\nhostname:" + EnvironmentVariableHelper.HostName + "\n\n" + + // DateTime.Now.Format("yyyy-MM-dd HH:mm:ss") + // } + // }); + //} + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/HostingEnvironmentExtend.cs b/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/HostingEnvironmentExtend.cs new file mode 100644 index 0000000..bb9136c --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/HostingEnvironmentExtend.cs @@ -0,0 +1,42 @@ +using System; +using System.Runtime; +using Hncore.Infrastructure.Serializer; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; + +namespace Hncore.Infrastructure.WebApi +{ + public static class HostingEnvironmentExtend + { + public static IConfigurationRoot UseAppsettings(this IHostingEnvironment env) + { + Console.WriteLine("环境:" + Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")); +#if DEBUG + Console.WriteLine("模式:DEBUG"); +#endif + +#if RELEASE + Console.WriteLine("模式:RELEASE"); +#endif + + Console.WriteLine("GC模式:" + new + { + IsServerGC = GCSettings.IsServerGC, + LargeObjectHeapCompactionMode = GCSettings.LargeObjectHeapCompactionMode.ToString(), + LatencyMode = GCSettings.LatencyMode.ToString() + }.ToJson(true)); + + System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); + + var builder = new ConfigurationBuilder() + .SetBasePath(env.ContentRootPath) + .AddJsonFile("appsettings.json", optional: true, reloadOnChange: false) + .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false) + .AddEnvironmentVariables(); + + var config = builder.Build(); + + return config; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/ServiceCollectionExtend.cs b/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/ServiceCollectionExtend.cs new file mode 100644 index 0000000..98bedcb --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/StartupExtensions/ServiceCollectionExtend.cs @@ -0,0 +1,113 @@ +using System; +using Hncore.Infrastructure.Autofac; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Newtonsoft.Json; + +namespace Hncore.Infrastructure.WebApi +{ + /// + /// 服务集合对象(可以理解为内置的依赖注入容器)功能扩展类 + /// + /// + public static class ServiceCollectionExtend + { + /// + /// 通用初始化方法(被各个微服务项目所引用) + /// + /// 服务集合对象 + /// 配置信息对象 + /// .net core兼容版本 + /// 服务自定义选项对象 + /// 服务提供者对象 + /// + public static IServiceProvider Init(this IServiceCollection services, IConfiguration configuration, + CompatibilityVersion version, ServiceOption serviceOption = null) + { + //启用选项配置服务 + services.AddOptions(); + + //将配置信息对象以单例模式添加到服务集合中 + services.AddSingleton(configuration); + + // services.AddCors(); + var mvcbuilder = services + .AddMvc(options => + { + options.EnableEndpointRouting = false; //关闭终端点路由 + + if (serviceOption != null && serviceOption.UseGlobalManageAuthFilter) + { + //如果配置并传递了自定义选项中的全局授权过滤器,就将全局授权过滤器添加到MVC全局过滤器链中让其生效 + options.Filters.Add(new ManageAuthAttribute()); + + GlobalData.UseGlobalManageAuthFilter = true; + } + else + { + GlobalData.UseGlobalManageAuthFilter = false; + } + }) + .SetCompatibilityVersion(version) //设置.net core兼容版本号 + .AddJsonOptions(options => + { + //使用NewtonsoftJson插件,替换掉系统默认提供的JSON插件 + options.SerializerSettings.ContractResolver = + new Newtonsoft.Json.Serialization.DefaultContractResolver(); + + //定义日期格式化策略 + options.SerializerSettings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; + + options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Local; + + //定义循环引用处理策略(就是要序列化的对象类A中引用了B,B引用了C……转了一圈儿之后又直接或间接引用回了A,就称为循环引用) + options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; + + //序列化或反序列化时,可接受的日期时间字符串格式 + options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; + + if (serviceOption != null && serviceOption.IgnoreJsonNullValue) + { + //如果配置并传递了自定义选项中的忽略空值选项,就在操作JSON时忽略掉空值数据 + //忽略掉空值的意思就是如果对象中的某个属性值为null,它将不会出现在最终序列化后的JSON字符串中 + options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; + } + }); + + services.AddApiVersioning(option => + { + //设置API版本信息 + option.ReportApiVersions = true; //在向客户端响应的响应头中显示受支持的API版本信息 + option.AssumeDefaultVersionWhenUnspecified = true; //如果客户端未提供并指定要调用的API版本,就以下方的默认版本为准 + option.DefaultApiVersion = new ApiVersion(1, 0); //默认版本号 + }); + + //启用HTTP请求上下文访问器(用来访问类似传统MVC中的那个HttpContext对象) + services.AddHttpContextAccessor(); + + + + + //构建并返回服务提供对象(在Build方法中主要用Autofac插件替换掉了默认的依赖注入插件,并做一些自动扫描配置) + return new MvcAutoRegister().Build(services, mvcbuilder); + } + } + + /// + /// 服务自定义配置类(承载一些自定义配置) + /// + /// + public class ServiceOption + { + /// + /// 是否启用全局授权过滤器(默认关闭) + /// + public bool UseGlobalManageAuthFilter { get; set; } = false; + + /// + /// 是否在生成的JSON字符串中忽略掉为null的属性或字段(默认为false,意思就是就算字段为null也会出现在最终序列化后的JSON字符串中) + /// + public bool IgnoreJsonNullValue { get; set; } = false; + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/WebApi/WebRequest.cs b/Infrastructure/Hncore.Infrastructure/WebApi/WebRequest.cs new file mode 100644 index 0000000..0f4ba61 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/WebApi/WebRequest.cs @@ -0,0 +1,71 @@ +using Microsoft.AspNetCore.Http; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace Hncore.Infrastructure.Core.Web +{ + public static class HttpContextExtension + { + public static string GetUserIp(this HttpContext context) + { + var ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault(); + if (string.IsNullOrEmpty(ip)) + { + ip = context.Connection.RemoteIpAddress.ToString(); + } + + return ip; + } + + public static string GetAbsoluteUri(this HttpRequest request) + { + return new StringBuilder() + .Append(request.Scheme) + .Append("://") + .Append(request.Host) + .Append(request.PathBase) + .Append(request.Path) + .Append(request.QueryString) + .ToString(); + } + + public static async Task ReadBodyAsStringAsync(this HttpRequest request) + { + request.EnableBuffering(); + + var requestReader = new StreamReader(request.Body); + + var requestBody = await requestReader.ReadToEndAsync(); + + request.Body.Position = 0; + + return requestBody; + } + } + + public static class IsLocalExtension + { + private const string NullIpAddress = "::1"; + + public static bool IsLocal(this HttpRequest req) + { + var connection = req.HttpContext.Connection; + if (connection.RemoteIpAddress.IsSet()) + { + return connection.LocalIpAddress.IsSet() + ? connection.RemoteIpAddress.Equals(connection.LocalIpAddress) + : IPAddress.IsLoopback(connection.RemoteIpAddress); + } + + return true; + } + + private static bool IsSet(this IPAddress address) + { + return address != null && address.ToString() != NullIpAddress; + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/bin/Debug/netstandard2.0/Hncore.Infrastructure.deps.json b/Infrastructure/Hncore.Infrastructure/bin/Debug/netstandard2.0/Hncore.Infrastructure.deps.json new file mode 100644 index 0000000..7a07a9c --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/bin/Debug/netstandard2.0/Hncore.Infrastructure.deps.json @@ -0,0 +1,4454 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "6680795e45975f734958454ef71d3d2dcf20ef6b" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Hncore.Infrastructure/1.0.0": { + "dependencies": { + "AngleSharp": "0.12.1", + "Autofac": "4.9.1", + "Autofac.Extensions.DependencyInjection": "4.4.0", + "Bogus": "26.0.1", + "CSRedisCore": "3.0.60", + "Dapper": "1.60.6", + "DotNetCore.NPOI": "1.2.1", + "JWT": "5.0.1", + "MQTTnet": "2.8.5", + "MQiniu.Core": "1.0.1", + "Microsoft.AspNetCore.Mvc": "2.2.0", + "Microsoft.AspNetCore.Mvc.Versioning": "3.1.2", + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": "3.2.0", + "Microsoft.AspNetCore.TestHost": "2.2.0", + "Microsoft.EntityFrameworkCore": "2.2.0", + "Microsoft.EntityFrameworkCore.Relational": "2.2.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "2.2.0", + "Microsoft.Extensions.Configuration.Json": "2.2.0", + "Microsoft.Extensions.Http": "2.2.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "2.2.0", + "Microsoft.NET.Test.Sdk": "16.0.1", + "MySqlConnector": "0.56.0", + "NETStandard.Library": "2.0.3", + "NLog.Extensions.Logging": "1.4.0", + "Polly": "7.1.0", + "Swashbuckle.AspNetCore": "4.0.1", + "System.Drawing.Common": "4.5.1", + "System.Text.Encoding.CodePages": "4.5.1", + "TinyMapper": "3.0.2-beta", + "TinyPinyin.Core.Standard": "1.0.0", + "aliyun-net-sdk-core": "1.5.3", + "xunit": "2.4.1" + }, + "runtime": { + "Hncore.Infrastructure.dll": {} + } + }, + "aliyun-net-sdk-core/1.5.3": { + "runtime": { + "lib/netstandard2.0/aliyun-net-sdk-core.dll": { + "assemblyVersion": "1.5.3.0", + "fileVersion": "1.5.3.0" + } + } + }, + "AngleSharp/0.12.1": { + "dependencies": { + "System.Text.Encoding.CodePages": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/AngleSharp.dll": { + "assemblyVersion": "0.12.1.0", + "fileVersion": "0.12.1.0" + } + } + }, + "Autofac/4.9.1": { + "runtime": { + "lib/netstandard2.0/Autofac.dll": { + "assemblyVersion": "4.9.1.0", + "fileVersion": "4.9.1.0" + } + } + }, + "Autofac.Extensions.DependencyInjection/4.4.0": { + "dependencies": { + "Autofac": "4.9.1", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.dll": { + "assemblyVersion": "4.4.0.0", + "fileVersion": "4.4.0.0" + } + } + }, + "Bogus/26.0.1": { + "runtime": { + "lib/netstandard2.0/Bogus.dll": { + "assemblyVersion": "26.0.1.0", + "fileVersion": "26.0.1.0" + } + } + }, + "CSRedisCore/3.0.60": { + "dependencies": { + "Newtonsoft.Json": "12.0.2", + "SafeObjectPool": "2.0.2", + "System.ValueTuple": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/CSRedisCore.dll": { + "assemblyVersion": "3.0.60.0", + "fileVersion": "3.0.60.0" + } + } + }, + "Dapper/1.60.6": { + "dependencies": { + "System.Data.SqlClient": "4.4.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/Dapper.dll": { + "assemblyVersion": "1.60.0.0", + "fileVersion": "1.60.6.27094" + } + } + }, + "DotNetCore.NPOI/1.2.1": { + "dependencies": { + "DotNetCore.NPOI.Core": "1.2.1", + "DotNetCore.NPOI.OpenXml4Net": "1.2.1", + "DotNetCore.NPOI.OpenXmlFormats": "1.2.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.OOXML.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "DotNetCore.NPOI.Core/1.2.1": { + "dependencies": { + "SharpZipLib": "1.0.0", + "System.Drawing.Common": "4.5.1", + "System.Text.Encoding.CodePages": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "DotNetCore.NPOI.OpenXml4Net/1.2.1": { + "dependencies": { + "DotNetCore.NPOI.Core": "1.2.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.OpenXml4Net.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "DotNetCore.NPOI.OpenXmlFormats/1.2.1": { + "dependencies": { + "DotNetCore.NPOI.OpenXml4Net": "1.2.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.OpenXmlFormats.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "JWT/5.0.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "12.0.2", + "System.ComponentModel.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Security.Cryptography.Csp": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/JWT.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "Microsoft.AspNetCore.Antiforgery/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.DataProtection": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Cors/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Cryptography.Internal/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.DataProtection/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Cryptography.Internal": "2.2.0", + "Microsoft.AspNetCore.DataProtection.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Win32.Registry": "4.5.0", + "System.Security.Cryptography.Xml": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Hosting/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "2.2.0", + "Microsoft.Extensions.Configuration.FileExtensions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.FileProviders.Physical": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Reflection.Metadata": "1.6.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Html.Abstractions/2.2.0": { + "dependencies": { + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Localization/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Localization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Mvc/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Analyzers": "2.2.0", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Cors": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.AspNetCore.Mvc.Localization": "2.2.0", + "Microsoft.AspNetCore.Mvc.Razor.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.RazorPages": "2.2.0", + "Microsoft.AspNetCore.Mvc.TagHelpers": "2.2.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "2.2.0", + "Microsoft.AspNetCore.Razor.Design": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Analyzers/2.2.0": {}, + "Microsoft.AspNetCore.Mvc.ApiExplorer/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Core": "2.2.0", + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.DependencyModel": "2.1.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Cors/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Cors": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Cors.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Localization/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Localization": "2.2.0", + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Localization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Razor/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "2.2.0", + "Microsoft.AspNetCore.Razor.Runtime": "2.2.0", + "Microsoft.CodeAnalysis.CSharp": "2.8.0", + "Microsoft.CodeAnalysis.Razor": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.FileProviders.Composite": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Razor.Extensions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Razor.Language": "2.2.0", + "Microsoft.CodeAnalysis.Razor": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Mvc.RazorPages/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.RazorPages.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0", + "Microsoft.AspNetCore.Razor.Runtime": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.TagHelpers.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Versioning/3.1.2": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.dll": { + "assemblyVersion": "3.1.0.0", + "fileVersion": "3.1.6968.34335" + } + } + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer/3.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Versioning": "3.1.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.dll": { + "assemblyVersion": "3.2.0.0", + "fileVersion": "3.2.6968.34357" + } + } + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Antiforgery": "2.2.0", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.Extensions.WebEncoders": "2.2.0", + "Newtonsoft.Json.Bson": "1.0.1" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Razor/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Razor.Design/2.2.0": {}, + "Microsoft.AspNetCore.Razor.Language/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Razor.Runtime/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Razor": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Runtime.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.StaticFiles/2.0.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.WebEncoders": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.StaticFiles.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.17205" + } + } + }, + "Microsoft.AspNetCore.TestHost/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting": "2.2.0", + "System.IO.Pipelines": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.TestHost.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/1.1.0": {}, + "Microsoft.CodeAnalysis.Common/2.8.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "1.1.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Collections.Immutable": "1.5.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.FileVersionInfo": "4.3.0", + "System.Diagnostics.StackTrace": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.6.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Parallel": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.ValueTuple": "4.5.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XPath.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.dll": { + "assemblyVersion": "2.8.0.0", + "fileVersion": "2.8.0.62830" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/2.8.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Common": "2.8.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll": { + "assemblyVersion": "2.8.0.0", + "fileVersion": "2.8.0.62830" + } + } + }, + "Microsoft.CodeAnalysis.Razor/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Razor.Language": "2.2.0", + "Microsoft.CodeAnalysis.CSharp": "2.8.0", + "Microsoft.CodeAnalysis.Common": "2.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.CodeCoverage/16.0.1": {}, + "Microsoft.CSharp/4.5.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "Microsoft.DotNet.PlatformAbstractions/2.1.0": { + "dependencies": { + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Microsoft.EntityFrameworkCore/2.2.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "2.2.0", + "Microsoft.EntityFrameworkCore.Analyzers": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Remotion.Linq": "2.2.0", + "System.Collections.Immutable": "1.5.0", + "System.ComponentModel.Annotations": "4.5.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Interactive.Async": "3.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/2.2.0": {}, + "Microsoft.EntityFrameworkCore.Relational/2.2.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Caching.Memory/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.FileProviders.Physical": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.Json/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.Configuration.FileExtensions": "2.2.0", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.DependencyInjection/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.DependencyModel/2.1.0": { + "dependencies": { + "Microsoft.DotNet.PlatformAbstractions": "2.1.0", + "Newtonsoft.Json": "12.0.2", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Linq": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.FileProviders.Composite/2.2.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Composite.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.FileProviders.Embedded/2.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.17205" + } + } + }, + "Microsoft.Extensions.FileProviders.Physical/2.2.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.FileSystemGlobbing/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Http/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Http.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Localization/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Logging/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Binder": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Options/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.Configuration.Binder": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Primitives/2.2.0": { + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.WebEncoders/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.WebEncoders.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.NET.Test.Sdk/16.0.1": { + "dependencies": { + "Microsoft.CodeCoverage": "16.0.1" + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.NETCore.Targets/1.1.0": {}, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.5.0": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Security.AccessControl": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "MQiniu.Core/1.0.1": { + "dependencies": { + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/MQiniu.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MQTTnet/2.8.5": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Net.Security": "4.3.2", + "System.Net.WebSockets": "4.3.0", + "System.Net.WebSockets.Client": "4.3.2" + }, + "runtime": { + "lib/netstandard2.0/MQTTnet.dll": { + "assemblyVersion": "2.8.5.0", + "fileVersion": "2.8.5.0" + } + } + }, + "MySqlConnector/0.56.0": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/MySqlConnector.dll": { + "assemblyVersion": "0.56.0.0", + "fileVersion": "0.56.0.0" + } + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json/12.0.2": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "12.0.0.0", + "fileVersion": "12.0.2.23222" + } + } + }, + "Newtonsoft.Json.Bson/1.0.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.Bson.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.1.20722" + } + } + }, + "NLog/4.5.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.5.11.8645" + } + } + }, + "NLog.Extensions.Logging/1.4.0": { + "dependencies": { + "Microsoft.Extensions.Logging": "2.2.0", + "NLog": "4.5.11" + }, + "runtime": { + "lib/netstandard2.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.4.0.867" + } + } + }, + "Polly/7.1.0": { + "runtime": { + "lib/netstandard2.0/Polly.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.1.0.0" + } + } + }, + "Remotion.Linq/2.2.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Linq.Queryable": "4.0.1", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Remotion.Linq.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.30000" + } + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Data.SqlClient.sni/4.4.0": { + "dependencies": { + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" + } + }, + "runtime.native.System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Security/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {}, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {}, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {}, + "SafeObjectPool/2.0.2": { + "runtime": { + "lib/netstandard2.0/SafeObjectPool.dll": { + "assemblyVersion": "2.0.2.0", + "fileVersion": "2.0.2.0" + } + } + }, + "SharpZipLib/1.0.0": { + "runtime": { + "lib/netstandard2.0/ICSharpCode.SharpZipLib.dll": { + "assemblyVersion": "1.0.0.999", + "fileVersion": "1.0.0.999" + } + } + }, + "Swashbuckle.AspNetCore/4.0.1": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "4.0.1", + "Swashbuckle.AspNetCore.SwaggerGen": "4.0.1", + "Swashbuckle.AspNetCore.SwaggerUI": "4.0.1" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "Swashbuckle.AspNetCore.Swagger/4.0.1": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/4.0.1": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Swashbuckle.AspNetCore.Swagger": "4.0.1" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/4.0.1": { + "dependencies": { + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.StaticFiles": "2.0.0", + "Microsoft.Extensions.FileProviders.Embedded": "2.0.0", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "System.AppContext/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.AppContext.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Buffers/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Immutable/1.5.0": { + "runtime": { + "lib/netstandard2.0/System.Collections.Immutable.dll": { + "assemblyVersion": "1.2.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.Annotations/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.ComponentModel.Annotations.dll": { + "assemblyVersion": "4.2.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Console/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Data.SqlClient/4.4.0": { + "dependencies": { + "Microsoft.Win32.Registry": "4.5.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Security.Principal.Windows": "4.5.0", + "System.Text.Encoding.CodePages": "4.5.1", + "runtime.native.System.Data.SqlClient.sni": "4.4.0" + }, + "runtime": { + "lib/netstandard2.0/System.Data.SqlClient.dll": { + "assemblyVersion": "4.2.0.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Diagnostics.FileVersionInfo/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.Diagnostics.StackTrace/4.3.0": { + "dependencies": { + "System.IO.FileSystem": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.StackTrace.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Drawing.Common/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Drawing.Common.dll": { + "assemblyVersion": "4.0.0.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.Interactive.Async/3.2.0": { + "runtime": { + "lib/netstandard2.0/System.Interactive.Async.dll": { + "assemblyVersion": "3.2.0.0", + "fileVersion": "3.2.0.702" + } + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.5.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.IO.Pipelines/4.5.2": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/System.IO.Pipelines.dll": { + "assemblyVersion": "4.0.0.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Queryable/4.0.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Linq.Queryable.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Memory/4.5.1": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Numerics.Vectors": "4.4.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26606.5" + } + } + }, + "System.Net.NameResolution/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.5.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Net.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Net.Security/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Security": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.WebHeaderCollection/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets/4.3.0": { + "dependencies": { + "Microsoft.Win32.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebSockets.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets.Client/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Security": "4.3.2", + "System.Net.Sockets": "4.3.0", + "System.Net.WebHeaderCollection": "4.3.0", + "System.Net.WebSockets": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0" + } + }, + "System.Numerics.Vectors/4.4.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.3.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Metadata/1.6.0": { + "dependencies": { + "System.Collections.Immutable": "1.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.Metadata.dll": { + "assemblyVersion": "1.4.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "4.1.3.0", + "fileVersion": "4.6.26725.5" + } + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.4.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.AccessControl/4.5.0": { + "dependencies": { + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.AccessControl.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Claims/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Cng/4.4.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Pkcs/4.5.0": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Security.Cryptography.Cng": "4.4.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Pkcs.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.4.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Xml/4.5.0": { + "dependencies": { + "System.Security.Cryptography.Pkcs": "4.5.0", + "System.Security.Permissions": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Xml.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Permissions/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Permissions.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Principal/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Principal.Windows/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages/4.5.1": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.27129.4" + } + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.1": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.0", + "fileVersion": "4.6.26606.5" + } + } + }, + "System.Threading.Tasks.Parallel/4.3.0": { + "dependencies": { + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.ValueTuple/4.5.0": {}, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XPath/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XPath.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XPath.XDocument/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XPath": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XPath.XDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "TinyMapper/3.0.2-beta": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1" + }, + "runtime": { + "lib/netstandard1.3/TinyMapper.dll": { + "assemblyVersion": "3.0.0.8", + "fileVersion": "3.0.0.8" + } + } + }, + "TinyPinyin.Core.Standard/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/TinyPinyin.Core.Standard.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "xunit/2.4.1": { + "dependencies": { + "xunit.analyzers": "0.10.0", + "xunit.assert": "2.4.1", + "xunit.core": "2.4.1" + } + }, + "xunit.abstractions/2.0.3": { + "runtime": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + }, + "xunit.analyzers/0.10.0": {}, + "xunit.assert/2.4.1": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "lib/netstandard1.1/xunit.assert.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + }, + "xunit.core/2.4.1": { + "dependencies": { + "xunit.extensibility.core": "2.4.1", + "xunit.extensibility.execution": "2.4.1" + } + }, + "xunit.extensibility.core/2.4.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "xunit.abstractions": "2.0.3" + }, + "runtime": { + "lib/netstandard1.1/xunit.core.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + }, + "xunit.extensibility.execution/2.4.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "xunit.extensibility.core": "2.4.1" + }, + "runtime": { + "lib/netstandard1.1/xunit.execution.dotnet.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + } + } + }, + "libraries": { + "Hncore.Infrastructure/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "aliyun-net-sdk-core/1.5.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-x3xiyoX+ZXSEGnHoPONBeMeDetpEe4DWQuKPRQjM7eOd5O2CSUjuJhD5+DVE2NTH7MAnt/svMuJVVUgFK/SiCQ==", + "path": "aliyun-net-sdk-core/1.5.3", + "hashPath": "aliyun-net-sdk-core.1.5.3.nupkg.sha512" + }, + "AngleSharp/0.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ANb5hGAdRXRRfNkT/04uE8xcK96nrBGBrFp4b5cPxY3n/KSAh+PuaJ/ct0VyxUMRku0JE4wtleXFY+sskOdDZQ==", + "path": "anglesharp/0.12.1", + "hashPath": "anglesharp.0.12.1.nupkg.sha512" + }, + "Autofac/4.9.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Dk3UQD94XM2HBjquOZoPWrQBUcv9G/K24K/qTiUJi13Fz/0X/wxcQi8z3K1ProCPxuZvadSgrzbpbni2HX1YTg==", + "path": "autofac/4.9.1", + "hashPath": "autofac.4.9.1.nupkg.sha512" + }, + "Autofac.Extensions.DependencyInjection/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XO9Zk1zIUv9FyuGg9biGlGTPrSamdZKSZ+lHGTxnOaKkTmW1iWP276nlQ/l2V3XoVk86+SHyRnzH5MmhULGamg==", + "path": "autofac.extensions.dependencyinjection/4.4.0", + "hashPath": "autofac.extensions.dependencyinjection.4.4.0.nupkg.sha512" + }, + "Bogus/26.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ObKuXPq5MpiMX4PAhRvmkj8S2JmPrQVDO8XCMMIsHyban4mv7qtpaSNGhndsZyW+o2lHX2gjLqK++7YoRHUgJA==", + "path": "bogus/26.0.1", + "hashPath": "bogus.26.0.1.nupkg.sha512" + }, + "CSRedisCore/3.0.60": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/oOYfWAeqA6jsAeBCubsGJlq24QxS0nk55u5gsQPF5pDR/oExcBDQ1Wh0PciBPUePie+/iu9pMWbL5xIU6ze1g==", + "path": "csrediscore/3.0.60", + "hashPath": "csrediscore.3.0.60.nupkg.sha512" + }, + "Dapper/1.60.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZqK3znlm8dapfO8M0vCgV5+wJrl5Uv00WYmj27wQ6zufSLcklVNJ2fdVMUj59o89p+lmRD6QivTRe0Gdfm6UAQ==", + "path": "dapper/1.60.6", + "hashPath": "dapper.1.60.6.nupkg.sha512" + }, + "DotNetCore.NPOI/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5M2x2mt+JOTByhzSH6PtcDOepZswmb6Uu2rjiOx5l3lKc7AP9kbmhN7WLKakGVSNhnOMgXbFXulIRRflPeNb/g==", + "path": "dotnetcore.npoi/1.2.1", + "hashPath": "dotnetcore.npoi.1.2.1.nupkg.sha512" + }, + "DotNetCore.NPOI.Core/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K8hlUP5yCxCK2JNROBBGAM50EtRshBe+RglFrrJkrbygR3o1HsruvHk6NlEFI+pYV9brDVqRc8xsYz5ZfeLfgQ==", + "path": "dotnetcore.npoi.core/1.2.1", + "hashPath": "dotnetcore.npoi.core.1.2.1.nupkg.sha512" + }, + "DotNetCore.NPOI.OpenXml4Net/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LxHszYfzPwg+ibE70gR7HrLlOtMHhWWEXLOTcW6KkwyJJ9eisCfrSkfbGvJnvfQHxmL9RXfZ+KV+B0/OeZ7kmw==", + "path": "dotnetcore.npoi.openxml4net/1.2.1", + "hashPath": "dotnetcore.npoi.openxml4net.1.2.1.nupkg.sha512" + }, + "DotNetCore.NPOI.OpenXmlFormats/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bim3nwQ5b/6bAoWa7DhHTYwz9w5dmMDwqn27LgcE8Sa/eYh672BOfT6SaKFuxQT1+X0Au3WhTwH1RgO/4aTNtg==", + "path": "dotnetcore.npoi.openxmlformats/1.2.1", + "hashPath": "dotnetcore.npoi.openxmlformats.1.2.1.nupkg.sha512" + }, + "JWT/5.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0rDXizf96UrvR15jNwWgkM91JHgZ8SZnGDQIDzGw7c4rfdwcLvp0ZLXLTwIxwij7ywV+Ufb5iHPpyB5Na1n6SQ==", + "path": "jwt/5.0.1", + "hashPath": "jwt.5.0.1.nupkg.sha512" + }, + "Microsoft.AspNetCore.Antiforgery/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1eMLxqY2DqvkMqpw8FZtGLPWGLm8lEMTZ9tc0Gmr7PlBGuaPODHu8LjTxy+G0lthBLKhVzrbf8SC57vYGKKMvg==", + "path": "microsoft.aspnetcore.antiforgery/2.2.0", + "hashPath": "microsoft.aspnetcore.antiforgery.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i4LQHuX8gYwti1V7CEM+5ZnExTjEUcd6SylM+euuMTLSry8vkaU/qXr/ZoGKs27TD6PiIPNi+6arDk6zLXWDRA==", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HpxpAAuEgWGSLPdzsBjPHrxFS/Up7jTRa4WQGcqWrOg52+A7qx1UbNlNPnV+nYk3mk1AZ1besmTlNz0TE8nOvA==", + "path": "microsoft.aspnetcore.authentication.core/2.2.0", + "hashPath": "microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-suxW8TRGnI8aaRTB0NNHZ0scC7VBk3spNrwNHufiLOlS44PXTpLzK7mDUpte6B3uuWY00e+8FSudQWu92Be8Pg==", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "hashPath": "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t1pMuggj4d/NqMa/lwyTCKfdtDSShefHQg4K4PpeYMZPXH1Im7VQB2F3HaPSYOubNXv8Vhk//C1dJI5LkJNgEg==", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "hashPath": "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Cors/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YFStDzy8d4YgY09eY3pdWzQ/uVaqufxDF3Lax5N6gaDWIkTcflAAEbIxzeuVtalzyBSRqgOKIsmqYMoXsQYPvg==", + "path": "microsoft.aspnetcore.cors/2.2.0", + "hashPath": "microsoft.aspnetcore.cors.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Cryptography.Internal/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a/xQhLXGoW+A1mcAmvIYu3M1KcqsCTxDw+UHesVX7U5CYrvb9NaZ47Zol8DyVDO1S3SJnx7hDLGwXz13gbpGxQ==", + "path": "microsoft.aspnetcore.cryptography.internal/2.2.0", + "hashPath": "microsoft.aspnetcore.cryptography.internal.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.DataProtection/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4TLOD40F/4iJhgvOsl8oSqtu4iuNK3wfpXHUis/MPpkky+/EE1+IrYIRI6B12QPp8HnRC85E6D4k2EVTF2hRww==", + "path": "microsoft.aspnetcore.dataprotection/2.2.0", + "hashPath": "microsoft.aspnetcore.dataprotection.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o0ySexk/hnc5msskptLoE5mc1D7NTA4NSpGDFypGaU0/Z2L9zzFzWQThA2dPre7Y+U4Qz2Vx4msF5Q8xLZTVjQ==", + "path": "microsoft.aspnetcore.dataprotection.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.dataprotection.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nK/ttSLBOI3DiYiT1qRxnU/KN5Y2iQNht3sBd0NCjP5d2kVlkjRxIGKgiEjV6W3QX45kpD84A3fZ6h2ENHbn7A==", + "path": "microsoft.aspnetcore.diagnostics.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.diagnostics.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ryzJBUA3QL3BP9lR1Hk2wL2FZ7zgSaeaT7dQBX+fbHxirwvq5wArQW6kGzo8aoOGAqME7wYu5woaAVGz5Ozhgw==", + "path": "microsoft.aspnetcore.hosting/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pVGrKK652a4lFcve2393473ojKfiSbDGpmnKyHT+RIYU+V93fSQafRitkJSh9ldNNIm9kjKZ8WuKRF8IMMi7Vg==", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BeNdIx9jGr/WGa0bqZhkBLQMfevgNr6KItXy9IhZKnGRjkbmOb5wUKGtHHiKRV2JvJlBwCl0+NL1IDLc+40PdA==", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Html.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z08ZN/kjJ15AQyNY349dpTPJdpdVJ/RYLLJjY9sf6VoHBf3vRBSCBx6orXMspMeRJrhHultPTP0IKVK2g4KZxg==", + "path": "microsoft.aspnetcore.html.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.html.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1jsV5N1hykNJN1uIY+DI4C0zrnBzsJ/dNkwCLuGNcxTAkXcQzxGclSqi45KTm/0Og2kOss4BZGDHQboB9D4gGA==", + "path": "microsoft.aspnetcore.http/2.2.0", + "hashPath": "microsoft.aspnetcore.http.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IkuRKkTFEbO30FwfCVuL0piikRBK/kgsaLbfbeUg8Rejpe5nCRUDZ3RDLzaW0FPMZxdb1opQ/zBYibItL1AezQ==", + "path": "microsoft.aspnetcore.http.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lyEExtXdag+/tGhJVJgU6s2LOEUO3Uex4bDjN2RWuOYPe0l4rTDFv8B1WJO3EnnFrcCbbhATEc+3y3ntzSZKqw==", + "path": "microsoft.aspnetcore.http.extensions/2.2.0", + "hashPath": "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0GNO7G290ULLrFcL7Yig7EYNpWF0ZisATpoPGszArH7wtuDDNt97o3vr4CANPzxAcJuXlhIPKuAhk+GPKm6AHg==", + "path": "microsoft.aspnetcore.http.features/2.2.0", + "hashPath": "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wC/QmeleRUhzJRVFJrjWM88qObvvWe8WiQHvS4I+hUOvbexakzYH+5Z+CLoGf8T+xegkpLNqjGIr+stK4B9cDg==", + "path": "microsoft.aspnetcore.jsonpatch/2.2.0", + "hashPath": "microsoft.aspnetcore.jsonpatch.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UEozmI0b5w8mecvTX9usbXV3ee3T5ogro86hWg5wEmxScdn8K1/rds75LBYMmhpMjG8UZINYfamRa3AF3RTo2w==", + "path": "microsoft.aspnetcore.localization/2.2.0", + "hashPath": "microsoft.aspnetcore.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59NchgRWqXmXdmY8W4O6qda4odf0Fc5UgVsUj57Nr5IMMQ2MKNDMeoBE6VjDQiNP5Oteu15qj3FfrbuwwgYa1Q==", + "path": "microsoft.aspnetcore.mvc/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KvSgkNkWnK4Ikmz1QmFOD32PynAvVibY6piwcRysgWFLuzkjgERVJ6YNOR6/Tegnb79+xG7GzP92bA7RKFl+sw==", + "path": "microsoft.aspnetcore.mvc.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Analyzers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k8IjX6M0Hsxzh5+u2tjyLJDrMPN8xhpMxjBTEsQFgWUpkshbxjVp1Ra5wmpuPXjrYGHwqmTRpuoUhUysXu0oYw==", + "path": "microsoft.aspnetcore.mvc.analyzers/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.analyzers.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WlTqPGGTPku8hNBaT+xEXRjAXe5MsqpGn02rnm8Td8ua4rXVifchVWio+DP9LlFlWBwF58dDhkuDAvSSWMW0Lw==", + "path": "microsoft.aspnetcore.mvc.apiexplorer/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.apiexplorer.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wh2wexgnnkn/f2cKSiGi/TDTMCe7KI5MgzYLAAjohkQu1oWlHWVMwlkMr5mJVZA3Es+msmKT9ogjfTt+KWq1uQ==", + "path": "microsoft.aspnetcore.mvc.core/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.core.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Cors/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V4EBkDS1fvfWYKy6RrJbfVqQ8JLUMBh5yoLzJvSCizWea6Q5Z7PwVApBXf2/TXweiWi4JTmYya3rj7vU/LLgFw==", + "path": "microsoft.aspnetcore.mvc.cors/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.cors.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C6NxfP/WBLeJuEN1OCUjcb4KsDOwAiOrM2gJ80DrRD5QYP5R8tCJm4udHIFRrUI8jQ324sGSJ5xpV800BgHAFQ==", + "path": "microsoft.aspnetcore.mvc.dataannotations/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.dataannotations.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BN+6Hp61H5pZz4Ig6WRu/726YV7LS2aaD4jBqeMJEeid4ePCRSqmIGwlRvE8Vs0eglQle+W+MorUlS1Sha4G8A==", + "path": "microsoft.aspnetcore.mvc.formatters.json/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.formatters.json.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ieDy2hjfcWq3qGLVI26Hs/EmA44F9QggrrNM5BPVq8LxhUhw41IvzZDWCHDNzYERCJYN9YorzqDZ7Utvlm8LiA==", + "path": "microsoft.aspnetcore.mvc.localization/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Razor/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OmuXoNnP5FqlhL+suepCWmkXKqnMGS/N0hkqWVupsXkPbpQRU9YvWY6yzUtvlJEKFLD8IulJ2PSXsHsfWZu7Hw==", + "path": "microsoft.aspnetcore.mvc.razor/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.razor.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Razor.Extensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JkmYRcoVjoTCk3I6uvsbRRqiuATet/lVsP24e02sPvA7d7iC4GoUECYbSGe2jsI4YHvXBptaxwLjfYVIRfeK1w==", + "path": "microsoft.aspnetcore.mvc.razor.extensions/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.razor.extensions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.RazorPages/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QYhojBGEx9xdB7G0UR9j4Jxz8jfRKngAR4suFofBJx0Qho1gCeWCq180m43+EjUJkfZMpoC4BYi4jx5dDT3BxA==", + "path": "microsoft.aspnetcore.mvc.razorpages/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.razorpages.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EZZ/aWmSfca/Ub91bf8bFeZXTxeSD8nHTdRBAq8vOZOIpz0rgQOVJVs/qIEUm5Di4qrRfib9bc5E6IeAnDH0xw==", + "path": "microsoft.aspnetcore.mvc.taghelpers/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.taghelpers.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Versioning/3.1.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XcPWILCgNXwQoCAaEZGByQc5aDbZv/CSAH4e85+c8Pd11tNOFY+na8vPP/97UT2S9fkAS2UPi28Ut2mv3DeL7w==", + "path": "microsoft.aspnetcore.mvc.versioning/3.1.2", + "hashPath": "microsoft.aspnetcore.mvc.versioning.3.1.2.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0aRm5yE5Her8OpgP3vb3jt2o0EB15Sb6WxPxR36kXz+VkOX3Z5Oy7rsRW9ZnYgx/WlR+yjQTJrt1TUv02fJwwA==", + "path": "microsoft.aspnetcore.mvc.versioning.apiexplorer/3.2.0", + "hashPath": "microsoft.aspnetcore.mvc.versioning.apiexplorer.3.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DenwEe843h6JO18/VQCoSfGupGKjws9wHzzkSZ8BM/yZXVIGJJtIVm28mjGJKAT0xf2dsQVal1To4JU4hTP1nA==", + "path": "microsoft.aspnetcore.mvc.viewfeatures/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.viewfeatures.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aM2aGQQh/kVOdgThej+4+ypFU8jSp2Dq/wZg9+e6/7RVAwlk8lQp8n2iYV9ltsSycE/4EU+LIMHegzaGBLOmsA==", + "path": "microsoft.aspnetcore.razor/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor.Design/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ex8MZwgoyqHim1L6/65FnfjdSMtSKSuSU3DVoiCADZACc05T7f8uRB7SnDIP5LPQKLUBLilfNkd1p14RLyfdQA==", + "path": "microsoft.aspnetcore.razor.design/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.design.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor.Language/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zW2jJWCnijyoZqL3a4W5zuvObFluZ7dvZeasbZVhBc8h1ZD4INufdpWXgtxceiu5wqfnedH+mzGTUdM4jNccUQ==", + "path": "microsoft.aspnetcore.razor.language/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.language.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor.Runtime/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UMBfVgxYVH0/OYNleZGCEsLHK8X5j80dU5hqYYBoTm2TfUoBkXDecuODtDAf5x0KfKZLKHnDT4+5lcIKKthQog==", + "path": "microsoft.aspnetcore.razor.runtime/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.runtime.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2dnJ/buvvPVxqz2G0wQGTyJRodqRbD2PyUIqFJW2WQd9a6q4pE8SmSUVrkhke3DKiDUheeJc0t7sqTomImCfRg==", + "path": "microsoft.aspnetcore.responsecaching.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-blQPe49jTy6pK8VZ6vinCD8upuUs7FdXVbuZa+IjsXOpxdMYBCVFvXUrJBl87kXuaTi0M8fQuERamMF6a/eskA==", + "path": "microsoft.aspnetcore.routing/2.2.0", + "hashPath": "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dqnRARq+DBBH0mgYStRhKyapkPnIu1+sTgesv9dFVrsbN3IKlpTuAaRwAC1G9sHo2MVi5J5EMOtscDgmqnjhUg==", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.StaticFiles/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NRmJzeejrGjdEKstUV5S6k2W3yY+JjrHoPmBHwUTMVi93e4w4iur4pDhBWgbzj5nRVupt0gergUQbE969+Yccw==", + "path": "microsoft.aspnetcore.staticfiles/2.0.0", + "hashPath": "microsoft.aspnetcore.staticfiles.2.0.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.TestHost/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7yoAnQ+n1+PxigrY8td9eHULYwEuAuSHraDCYJQYTMRbu0G7XIDU6nzBMStoS/vOtU+eFja6EKuqS5JdASW49w==", + "path": "microsoft.aspnetcore.testhost/2.2.0", + "hashPath": "microsoft.aspnetcore.testhost.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oPl52Mxm8MTP3jHw+bQQ6UUOFYiaHDK4gU4cHGjH/yIZDn3vdPH5jV6ONZQJQJAQBqBYKZX28sH8NyYmsFRupw==", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "hashPath": "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Analyzers/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HS3iRWZKcUw/8eZ/08GXKY2Bn7xNzQPzf8gRPHGSowX7u7XXu9i9YEaBeBNKUXWfI7qjvT2zXtLUvbN0hds8vg==", + "path": "microsoft.codeanalysis.analyzers/1.1.0", + "hashPath": "microsoft.codeanalysis.analyzers.1.1.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Common/2.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A2a4NejNvWVz+8FPXkZK/cd2j4/P3laHwpz56UU3fDcOAVu4Xb98T6FXGAIgqE/LzSVpHnn9Cgg7rhT59qsO8w==", + "path": "microsoft.codeanalysis.common/2.8.0", + "hashPath": "microsoft.codeanalysis.common.2.8.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp/2.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+GGCTxkBjf9lFEZhVOG4iEO5YkuWCO5q+kUF787NJ8Twy3EOyLrjtZ8K7q+kH/PnSjSkN0AvWwL2NQCmT1H6mA==", + "path": "microsoft.codeanalysis.csharp/2.8.0", + "hashPath": "microsoft.codeanalysis.csharp.2.8.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Razor/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JyNMoRRCug7MdLmW+F4EHtXRgX7wFn1h40/+/XbPscNUPs9mPKBNha5WbWL7tKgirRX5nJIosAXx4Eb+ULtrMg==", + "path": "microsoft.codeanalysis.razor/2.2.0", + "hashPath": "microsoft.codeanalysis.razor.2.2.0.nupkg.sha512" + }, + "Microsoft.CodeCoverage/16.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HEdO9Lyje8ehjMU985e6vZFETAv337R7wukZXng35hhVdTDoSs3OLC/h5guQWhdDyQ+cN9uKUTK3H1GUKTjrYA==", + "path": "microsoft.codecoverage/16.0.1", + "hashPath": "microsoft.codecoverage.16.0.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EGoBmf3Na2ppbhPePDE9PlX81r1HuOZH5twBrq7couJZiPTjUnD3648balerQJO6EJ8Sj+43+XuRwQ7r+3tE3w==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.DotNet.PlatformAbstractions/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wkCXkBS0q+5hsbeikjfsHCGP3nNe1L1MrDEBPCBKm+4UH8nXqHLxDZuBrTYaVY85CGIx2y1qW90nO6b+ORAfrA==", + "path": "microsoft.dotnet.platformabstractions/2.1.0", + "hashPath": "microsoft.dotnet.platformabstractions.2.1.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sShQ1XMPv3HS6UJjtUs8AsZ1hEFUzwRpeRP9uavrfkaoWGOXwe4Klt131A+i9+/drnzbbEdzrhFkUiMWbzc4cg==", + "path": "microsoft.entityframeworkcore/2.2.0", + "hashPath": "microsoft.entityframeworkcore.2.2.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aBDhI9ltp7m4BaoH7LhH1p/DiO95rpAgDD09JX3W9VAmEgTaamXzlbc1W6BhQhs9ScMDbi5HoJw+LQCAVUfV9w==", + "path": "microsoft.entityframeworkcore.abstractions/2.2.0", + "hashPath": "microsoft.entityframeworkcore.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DYK/p3Fn7gz8bg8UelTRyJ9aH+i4bAQxeQ5YJTgCkNeTnyftHlw0ru1wZ/tUFlM27Cq2u5EYbvWBpefPo0izuw==", + "path": "microsoft.entityframeworkcore.analyzers/2.2.0", + "hashPath": "microsoft.entityframeworkcore.analyzers.2.2.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCmBWVP5ZJGC4eKQg2GYJs0W9RMQdSZ6jsWh9zZk2fuxpGJuVKTFy4eFAHq9dgKu7N07IW+CPkNBA8LthS3q0A==", + "path": "microsoft.entityframeworkcore.relational/2.2.0", + "hashPath": "microsoft.entityframeworkcore.relational.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3phHFN5lXktB6Id1D0tvojf9GohSyoTwCadVZmCeKEDVj2u2xR3hLtj+lf9mpmCC5FuLbcyVjepZgFFHazHjIA==", + "path": "microsoft.extensions.caching.abstractions/2.2.0", + "hashPath": "microsoft.extensions.caching.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dPJ4f6vOg9WdgWyrMMU5rRhOyQ7DxM7Ivxx8z80NeF2Xygi9g51MuxMOaZwxNClDcxvJ6ZsPKBH61B54LrnYRA==", + "path": "microsoft.extensions.caching.memory/2.2.0", + "hashPath": "microsoft.extensions.caching.memory.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Be1LEgclOQthHN7tksm79bGbXNJ0yuewEBiIzPSePwDwt2AGqLLx5iXv6BfjVZGztxKQCngz+X8IRw/kOz+CwA==", + "path": "microsoft.extensions.configuration/2.2.0", + "hashPath": "microsoft.extensions.configuration.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HT/cMUOHvJ29Z5VIlWp6Zd1F63k5CbpGisNk8ayP35GwKwX5IDsJL8hWMoBesz5WPK8ZfW4f47kyVAhfCD/PAw==", + "path": "microsoft.extensions.configuration.abstractions/2.2.0", + "hashPath": "microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MsSglnpg/8FoukGJ5CBKFxs2enCwrRd3ORx8bmhe3PHekeJeUzqhkQoOaAqyAt9wcF+myRTe1JcHLul4zj+zPA==", + "path": "microsoft.extensions.configuration.binder/2.2.0", + "hashPath": "microsoft.extensions.configuration.binder.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nIQTzgq/qwRTDvAP299SSrFeqXJHhPzw+a6tDPwhvWwcA095KrJYGhAwYy/aer6UB4Q9T7s5va6q7MhgrelrAg==", + "path": "microsoft.extensions.configuration.environmentvariables/2.2.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1cO9Ca+lLh7mRTbJYEXnGPqoVMt/71BM7zmcZx6VOFLEBAfpOej/isDtgqRYhDcMkLaS9vn9pXerp41fTO9y1w==", + "path": "microsoft.extensions.configuration.fileextensions/2.2.0", + "hashPath": "microsoft.extensions.configuration.fileextensions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vqJEFHHDVTDhjTTdX8QZWF75Hw9bFLbmRcjRbXtmQLrFBvcTzuS9w1jJGWjrgR1UQ7YpuJdhcDXzhxorqkR1Ig==", + "path": "microsoft.extensions.configuration.json/2.2.0", + "hashPath": "microsoft.extensions.configuration.json.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7JzIJyfA1Wr19ibRr67CoG3lFklnTkzhkJ6thWFcNrmZCgLf9oEqrED4Tz08y7F18wTWsWUnI52BCjraBGtPIA==", + "path": "microsoft.extensions.dependencyinjection/2.2.0", + "hashPath": "microsoft.extensions.dependencyinjection.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YZcHF0/+XeKv12ZEo+OmrAa6rNayjye0qvEjYSDIhN99StqxnS2gZpwkcCrH/8JuXxzzcDSVpZw5Bruz8xYfXQ==", + "path": "microsoft.extensions.dependencyinjection.abstractions/2.2.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KPT6CLH0VEGr2um9aG1rYTmqfMVlkRuueFpN6AxeIKpcMA4OVHf4aNpgYXZ6oF+x4uh9VhK/66FgPCd1mMlnQ==", + "path": "microsoft.extensions.dependencymodel/2.1.0", + "hashPath": "microsoft.extensions.dependencymodel.2.1.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zt//yhxTTxUMb70b44ZdUQiV/SLa+3xbVZuz/IzKloOX8rlUoU6itkhVC3gryos9ojAuPYwc2aiqejJLdqRDZA==", + "path": "microsoft.extensions.fileproviders.abstractions/2.2.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Composite/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztUs3ENypYt7tBh2hS1Vaq0kaJ3AoA6FERfFvK9chdQtk3KW7PfcDsJ14/q6JsEiPhLdtM8x1Afod+dNfaD3iA==", + "path": "microsoft.extensions.fileproviders.composite/2.2.0", + "hashPath": "microsoft.extensions.fileproviders.composite.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Embedded/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZgtUWhP8bsbiG62WoRvHZPzrxePv68z+jJ8W2rBLgiUv1QnopriVvM5+L/qsBZ7QXQJBnof/Rucd67RMRqhEXw==", + "path": "microsoft.extensions.fileproviders.embedded/2.0.0", + "hashPath": "microsoft.extensions.fileproviders.embedded.2.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lFYs3tCesMedXt/sUHIUlByH20qxi6DjSxOTyRvqT3YUMteqsVIGgjcF8zoVWMfvlv9/418Uk3eC3bFn8Qc+rA==", + "path": "microsoft.extensions.fileproviders.physical/2.2.0", + "hashPath": "microsoft.extensions.fileproviders.physical.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LcDxBQvSCyvYZqAncoXJmbueO7DbHyMzu/kwGwC8oyghBXkzHG69iT4IEO63EO3R5mylbhTyydAIyQC4rt/weQ==", + "path": "microsoft.extensions.filesystemglobbing/2.2.0", + "hashPath": "microsoft.extensions.filesystemglobbing.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tqXaCEeEeuDchJ482wwU2bHyu5UUksVrLyLsrvE9kPFYyPz7Hq17Ryq+faQP/zBCpnnqP/wqf3oSR0q60Py3HA==", + "path": "microsoft.extensions.hosting.abstractions/2.2.0", + "hashPath": "microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Http/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TKybhXvvLH2JAW+wPGVhEW2eRMHr1vm11m4OiikcZBFeqB+qrc6TPiZ5qVXyorlron5yk86s945yTIc+Zv2b3g==", + "path": "microsoft.extensions.http/2.2.0", + "hashPath": "microsoft.extensions.http.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTFKFSEPCni5Wq3/CamUtt52/BcJW+sRLevSEWci9vPB/0UVS225MeddXIeePsySLK/g/4w/hS7qaYsLbqe68w==", + "path": "microsoft.extensions.localization/2.2.0", + "hashPath": "microsoft.extensions.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+hSkcuST/PvRHFfNUyVn/v0JreREgAfTVWaqNVoz9qrVw2pD1bw4Sq9B+TKl3qBT+7c2p+TAir54VtXcF9BzMg==", + "path": "microsoft.extensions.localization.abstractions/2.2.0", + "hashPath": "microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K90QPI39Sq4mNb0Femo/xV/YGj8KHpAOyqEqChloxteM021SAnFV+kxjUKMJqrvpTcMJiGPmv1Yj03QeiXatRg==", + "path": "microsoft.extensions.logging/2.2.0", + "hashPath": "microsoft.extensions.logging.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9/ERS0/w8MRdWYC9Nv230+2DIYbCv+jr5JwlVyFXrNRerKN9mHShlSfCUjq2S9Wa8ORsztbe5Txz2CuA8pr2bA==", + "path": "microsoft.extensions.logging.abstractions/2.2.0", + "hashPath": "microsoft.extensions.logging.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-82ySQcYum1Y/bOxhD3xbr5HYowt4wO+rn0Gh+qQ7W1VSwq4gEcHS9e0jJ8wW18BL3N3xTKxkfMvEjS5Zm3wTyg==", + "path": "microsoft.extensions.objectpool/2.2.0", + "hashPath": "microsoft.extensions.objectpool.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-onhaA2X0DkQmyybJhbTHO+63NnO90nIPHTC9a+1QLTM1hT934DM80OvgwKubEIQuPyvSHD6X1Q01PSTJRNHo8w==", + "path": "microsoft.extensions.options/2.2.0", + "hashPath": "microsoft.extensions.options.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-D+KBXqy9m+64xmVb5SK6rgiq79eYMeJOrQ1OdJRpkcEDiUhKuc9NfewLvRVZUfNDXC3KeZeaSkOPwi51dPf9wg==", + "path": "microsoft.extensions.options.configurationextensions/2.2.0", + "hashPath": "microsoft.extensions.options.configurationextensions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Sv8EDHvN2852bE5G1yosKCa7sUw/x0Z/rCaI5LIWHseAXprG1h9oberAh3NRBO7w2zTZq79WPeQDMsPBVSf99w==", + "path": "microsoft.extensions.primitives/2.2.0", + "hashPath": "microsoft.extensions.primitives.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.WebEncoders/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ln302kWXi6HbrUxCuU9MIFviUAVBIiWL69Cte47cSholoqn+EQytBEF+jPx0x5d+he/btmomvWC10LS7AKWHGQ==", + "path": "microsoft.extensions.webencoders/2.2.0", + "hashPath": "microsoft.extensions.webencoders.2.2.0.nupkg.sha512" + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yFn57woR2lfjUfcoqrc+F8hbmsjTLNu+14FIiGGMUTfvQtZE6xJRwFntp4oMJi99KpMHYX5MOS0mmjRSEwGtLw==", + "path": "microsoft.net.http.headers/2.2.0", + "hashPath": "microsoft.net.http.headers.2.2.0.nupkg.sha512" + }, + "Microsoft.NET.Test.Sdk/16.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DaUwam5OX68Roubcr76OQ8Cb9Rkq5BOL3/NUtgFWfqJ+9ceiLqtvOClgobx1HTNhKZ62driQUikqv++vnSs4mA==", + "path": "microsoft.net.test.sdk/16.0.1", + "hashPath": "microsoft.net.test.sdk.16.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bLpT1f/SFlO1CzqXG12KnJzpZs6lv24uX2Rzi4Fmm0noJpNlnWRVryuO3yK18Ca04t/YHcO1e1Z0WDfjseqNzw==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vduxuHEqRgRrTE8wYG8Wxj/+6wwzddOmZzjKZx6rFMc/91aUBxI5etAFYxesoNaIja5NpgSTcnk6cN8BeYXf9A==", + "path": "microsoft.win32.registry/4.5.0", + "hashPath": "microsoft.win32.registry.4.5.0.nupkg.sha512" + }, + "MQiniu.Core/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAmfkDi2H3qnNzyYBFqyvK8SbTENg5cMaMD/ZV+HLW/yuXQo4yhREvWrTQ5QuzVmAgJt9SNEgDVV6oJdupKHYw==", + "path": "mqiniu.core/1.0.1", + "hashPath": "mqiniu.core.1.0.1.nupkg.sha512" + }, + "MQTTnet/2.8.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-scNRIWxjuceFixHkwUkofWw354Az/95T8SW3eAk+edH2caMzihDbzdl3IWQf/mSiEB+5pVnOEWMNMnAZ8d4YHA==", + "path": "mqttnet/2.8.5", + "hashPath": "mqttnet.2.8.5.nupkg.sha512" + }, + "MySqlConnector/0.56.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Y21/6GzG6AD6xWNWn2vzQPCc3t3ahg4U1M1qJpYpyj7zjMB0qDnPoa5amwpz9fKuEHmKrkp4rDv77xhrSPlC+g==", + "path": "mysqlconnector/0.56.0", + "hashPath": "mysqlconnector.0.56.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/12.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mtweBXPWhp1CMQATtBT7ZfMZrbZBTKfjGwz6Y75NwGjx/GztDaUnfw8GK9KZ2T4fDIqKJyDjc9Rxlw5+G2FcVA==", + "path": "newtonsoft.json/12.0.2", + "hashPath": "newtonsoft.json.12.0.2.nupkg.sha512" + }, + "Newtonsoft.Json.Bson/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W5Ke5xei9yS0ljQZuT75VgSp5M43eCPm5hHAelvKyGGU4dV7hYCmtwdsxoADb/exO6pYHeu/Iki43TdYPzfESQ==", + "path": "newtonsoft.json.bson/1.0.1", + "hashPath": "newtonsoft.json.bson.1.0.1.nupkg.sha512" + }, + "NLog/4.5.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7TI+dYvEIOcCN6fjr3yjMN5AtPBSbHNxKGmn/5rkqbBk81MGsnQBkParoGOidibDIe3dwThJJndxl7O3zmd3rA==", + "path": "nlog/4.5.11", + "hashPath": "nlog.4.5.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FvCGr0FSntm9a8z/QaZv9+01LmEXh9NZ44BExArAn+kwyhPJCze5lnPekoHo0iWUKnwNtJFUo/9XOjFfIs0GXQ==", + "path": "nlog.extensions.logging/1.4.0", + "hashPath": "nlog.extensions.logging.1.4.0.nupkg.sha512" + }, + "Polly/7.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NeiMizU89Ga9BSnYDHduzPNxd0JvmLqEPgPtsJHXVg6kvAUpif08rUZtWq9q+6vrbEPdofC7nKr0HTbA+sU4DA==", + "path": "polly/7.1.0", + "hashPath": "polly.7.1.0.nupkg.sha512" + }, + "Remotion.Linq/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-twDAH8dAXXCAf3sRv1Tf94u66eEHvgU75hfn1nn2v4fSWXD50XoDOAk8WpSrbViNuMkB4kN1ElnOGm1c519IHg==", + "path": "remotion.linq/2.2.0", + "hashPath": "remotion.linq.2.2.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jwcVUu4ELwy6ObG6ChIFz3PeRH1mKZW65o+FellG99FUwCmnnjdGkIFnVoeHPIvyue/lf1y9Zgw2axylGCP38g==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oTXKD09aSTGbWlK39DOPil/EOH7fJvKebL9jo8OjeytcUcnK9WLsQeRw+6KBBgNiRlvFaRW+eC1sdXeKphleRg==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LyTiy6iKlrsjhI4UBIeORHimVkI4e3t2qkAHWH/nxNggjL3lPT7WX40Ncc1oi/wWvmbcX3vPhMeyzPGzxQWwtA==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xu7AUFtXuxEspQPI5nKCDEiEcbRmE5FTIO0qE1r0qA9v1OoawQZnbWmsnrdYaO8vlSixXMedPv1U6916STjPnQ==", + "path": "runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "runtime.native.System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "path": "runtime.native.system.io.compression/4.3.0", + "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Security/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-M2nN92ePS8BgQ2oi6Jj3PlTUzadYSIWLdZrHY1n1ZcW9o4wAQQ6W+aQ2lfq1ysZQfVCgDwY58alUdowrzezztg==", + "path": "runtime.native.system.net.security/4.3.0", + "hashPath": "runtime.native.system.net.security.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o0rS2+Z+/K6X/L6levOGswZgqYq4IppWwNyiQTFuZzz3om4Zxu+2txF8wnH98gh0G6b4RHriVMkay6Pdt9KSOg==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zghz4HAA35jmQL0mXpadSpI2U1zuJpnFNj86spdVew11YmBVeZXy7hY8/wX8K6ki1mug5MsoUh+EHn1UarO2Pg==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v3VMGmbNcNwb041U/mdendRwQX67pi4veeJ4vo8GzDSW/1jtkNMLXdTT7+qazL0J6xfNh76IKVHA/fuDPDcfcA==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CjjyXodztYFVtdP5T4SbkzU9CAnaViKLjrq1yXbmRYylDrWjisykyJQGeObpUh+1euSHM398vy6niTrp4/Q5NQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KunbS3GbMfp+QMYPUscAOPyGaOApz04dEg/ejClWMdawggfXAYoik3t5VGAWxWDIlOJ91uvAHV4PZ3Vn5rLE8g==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zUt7p0TegAhlIatnytLbMIXUiDiNPZy4PZlGOJ8PTHhFOb86T/uNTzNHxceBOq3vlbNV/SVj4wyUiog8J7lShw==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1/woqfYA5HHtzgmJwBxIXU4qfplVH1MUE6+nUDmkAE1OLCfoiXbWVDJjWjIdhjFqPGza68ey/vpCFBtk9PENZg==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X+DmqHjv9Zz+JKjVevURQFdtjg/sSYjkiSwjPEezo+7SfewHKmwNVd1hV3fNnOP+VFxTU7SpUok3atC5QI7Uvg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==", + "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==", + "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==", + "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "SafeObjectPool/2.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9RW1PHNsZSX8GRxJPHspvA3AyV61iv4cDUKrtjJS2I61rV+e3G8s3hDoHQgo0XkeNSYbI1n4UmPX6VpAeofjQA==", + "path": "safeobjectpool/2.0.2", + "hashPath": "safeobjectpool.2.0.2.nupkg.sha512" + }, + "SharpZipLib/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-38egGevtPMQn/6olZZUteKUC7+BD47LdCGKo9Vyj17+HWDwiqPXsyJu55q9WSybhwVKwt0q2FLhiuJjZfQpsHw==", + "path": "sharpziplib/1.0.0", + "hashPath": "sharpziplib.1.0.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k8TzWTpjwO+4xXsMaaAsAPAdYKyM5wuRvSP+ZmgtyXwhW45ChBVq3xdVJ8Tz+hQ0ziBZSh5p6r2dkRN6SyasVA==", + "path": "swashbuckle.aspnetcore/4.0.1", + "hashPath": "swashbuckle.aspnetcore.4.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2+dXBiOvwjNmkMkBOqGU9ShBJXQp6+UN/Kxfk3HLxwsof9zzgRZ+3rOdjHQuYiY7t1Nl7wlCgn9HbmJyZGhdaQ==", + "path": "swashbuckle.aspnetcore.swagger/4.0.1", + "hashPath": "swashbuckle.aspnetcore.swagger.4.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-opm/wgG8u987ZuAUtL1E8XrJig+UbGYbFmz8VnA8Vn3AqZyQZy4k243X9egz1iWl/B6sNcgMlFyv3wkdmjJX6g==", + "path": "swashbuckle.aspnetcore.swaggergen/4.0.1", + "hashPath": "swashbuckle.aspnetcore.swaggergen.4.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EjPeIYSMLr5FrY4sVJiWrzIQe07Hriv8tOztJa7US88im/tO+tX70y7OJ2Cr8QYojc7IotjZSH1lD8j44DLnrQ==", + "path": "swashbuckle.aspnetcore.swaggerui/4.0.1", + "hashPath": "swashbuckle.aspnetcore.swaggerui.4.0.1.nupkg.sha512" + }, + "System.AppContext/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "path": "system.appcontext/4.3.0", + "hashPath": "system.appcontext.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xpHYjjtyTEpzMwtSQBWdVc3dPjLdQtvyUg6fBlBqcLl1r2Y7gDG/W/enAYOB98nG3oD3Q153Y2FBO8JDWd+0Xw==", + "path": "system.buffers/4.5.0", + "hashPath": "system.buffers.4.5.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.Immutable/1.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RGxi2aQoXgZ5ge0zxrKqI4PU9LrYYoLC+cnEnWXKsSduCOUhE1GEAAoTexUVT8RZOILQyy1B27HC8Xw/XLGzdQ==", + "path": "system.collections.immutable/1.5.0", + "hashPath": "system.collections.immutable.1.5.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/D3jtX0+u5+6rS3RGvTMyICPpIuzBgqtUYLjK1aXLua0nWH4JpM1H/tRk1Uxs6Fo0fe22jyJaTpoXPSu0il8Ug==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Annotations/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IjDa643EO77A4CL9dhxfZ6zzGu+pM8Ar0NYPRMN3TvDiga4uGDzFHOj/ArpyNxxKyO5IFT2LZ0rK3kUog7g3jA==", + "path": "system.componentmodel.annotations/4.5.0", + "hashPath": "system.componentmodel.annotations.4.5.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Console/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "path": "system.console/4.3.0", + "hashPath": "system.console.4.3.0.nupkg.sha512" + }, + "System.Data.SqlClient/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuMDT9o4j0n3XnH7o7EYliyjUYPQ4RBo9tTNA+M6/KQKMcKXKGqHoq2gCb2sEHCRs5HjTwRlwT/F1JVdYaNaDA==", + "path": "system.data.sqlclient/4.4.0", + "hashPath": "system.data.sqlclient.4.4.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UumL3CJklk5WyEt0eImPmjeuyY1JgJ7Thmg2hAeZGKCv+9iuuAsoc2wcXjypdo3J8VNEmVCH2Bgn/kIw8NI2bA==", + "path": "system.diagnostics.diagnosticsource/4.5.0", + "hashPath": "system.diagnostics.diagnosticsource.4.5.0.nupkg.sha512" + }, + "System.Diagnostics.FileVersionInfo/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OEshwk5wkdxtGkFZYSErv6dnUuz0z8C01htylGwOwFnCVFRcrvleBtplMDCk9nMyWP41cbMZGEIBfy7HV1Loug==", + "path": "system.diagnostics.fileversioninfo/4.3.0", + "hashPath": "system.diagnostics.fileversioninfo.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.StackTrace/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiHg0vgtd35/DM9jvtaC1eKRpWZxr0gcQd643ABG7GnvSlf5pOkY2uyd42mMOJoOmKvnpNj0F4tuoS1pacTwYw==", + "path": "system.diagnostics.stacktrace/4.3.0", + "hashPath": "system.diagnostics.stacktrace.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Drawing.Common/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m3c7Fe/CS/jZ/nLBrxCCh52dYiC33GPbGfcF4CiVukb8+p121XUTHxs6sYKbWfvDVD8JssHcM+HVFLtzl3X3Xw==", + "path": "system.drawing.common/4.5.1", + "hashPath": "system.drawing.common.4.5.1.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.Interactive.Async/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-T3nigy9yShklMyVu7I2TvlVMRy2vUn9oQeBaRy0KZcOptyy+rUbekYaXxoa3s0h2tWT3UVtzrGkQC89CBbCtlg==", + "path": "system.interactive.async/3.2.0", + "hashPath": "system.interactive.async.3.2.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "path": "system.io.compression/4.3.0", + "hashPath": "system.io.compression.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.IO.Pipelines/4.5.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hKbZx0AW9N6OLeXrgdrKJH5k8goImfd89EuvRtZRv6v7qBhwRX1mXEASYkoYIenmNrVtj0HYv4/Rk68t1e3agA==", + "path": "system.io.pipelines/4.5.2", + "hashPath": "system.io.pipelines.4.5.2.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Linq.Queryable/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", + "path": "system.linq.queryable/4.0.1", + "hashPath": "system.linq.queryable.4.0.1.nupkg.sha512" + }, + "System.Memory/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vcG3/MbfpxznMkkkaAblJi7RHOmuP7kawQMhDgLSuA1tRpRQYsFSCTxRSINDUgn2QNn2jWeLxv8er5BXbyACkw==", + "path": "system.memory/4.5.1", + "hashPath": "system.memory.4.5.1.nupkg.sha512" + }, + "System.Net.NameResolution/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DPvMSdd32CbEOCTtOpO4nY9UvbP6LJe375F1yEQjy667WT5LEh1Ek2T4DSVw1STR0K3LSawWfBFwoeSG0TXFeA==", + "path": "system.net.nameresolution/4.3.0", + "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "System.Net.Security/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SSkQ3Hsy8kvhET4fY8vu+cWkfx2lcZDDUSuzr+3hzRgHM6jtwm3nZXqIPCYcnDl4eL/i/ECmruCXdAiXaIrc4Q==", + "path": "system.net.security/4.3.2", + "hashPath": "system.net.security.4.3.2.nupkg.sha512" + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebHeaderCollection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/aQLXlO/M2SjvKjMyX15IRHK/BJgb4qE1FZGZPjnFxhE7jHwduu65TMuVsyKxUOhYQg/2cr9zpm0olhD1icjTw==", + "path": "system.net.webheadercollection/4.3.0", + "hashPath": "system.net.webheadercollection.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K92jUrnqIfzBr8IssbulQetz8f2gAs2XC2jyVWbUvr+804YWv6LIksBIz84WV7HStpluw3RQTcHxd3+C5zIewA==", + "path": "system.net.websockets/4.3.0", + "hashPath": "system.net.websockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets.Client/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wmWSeBJ+7j7cWyTInHZ5OXzRuKh+2LDZ9psG1UYw1BzNZcbYBxe7KBMaDLSIOD1wn1uFDLRGG4+vLqKj7n/Z+w==", + "path": "system.net.websockets.client/4.3.2", + "hashPath": "system.net.websockets.client.4.3.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gdRrUJs1RrjW3JB5p82hYjA67xoeFLvh0SdSIWjTiN8qExlbFt/RtXwVYNc5BukJ/f9OKzQQS6gakzbJeHTqHg==", + "path": "system.numerics.vectors/4.4.0", + "hashPath": "system.numerics.vectors.4.4.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Metadata/1.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I4aWCii7N1bmn43vviRfJQYW6UAco1G/CcjJouvgGdb/sr2BRTSnddhaPMg2oxu9VHFn8T1z3dTLq0pna8zmtA==", + "path": "system.reflection.metadata/1.6.0", + "hashPath": "system.reflection.metadata.1.6.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oRC4IBj4y7gcY9UXxTcIvBLhRJuntL6CfPWazTmtY4dXoXpRS6pI2Y+tu07+p2bUn5abyd5wf5LvpnyrDZdTsQ==", + "path": "system.reflection.typeextensions/4.5.1", + "hashPath": "system.reflection.typeextensions.4.5.1.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hMkdWxksypQlFXB7JamQegDscxEAQO4FHd/lw/zlSZU9dZgAij65xjCrXer183wvoNAzJic5zzjj2oc9/dloWg==", + "path": "system.runtime.compilerservices.unsafe/4.5.2", + "hashPath": "system.runtime.compilerservices.unsafe.4.5.2.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", + "path": "system.runtime.interopservices.runtimeinformation/4.0.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6RQtcT+TyDgLUFsAnmmdfRRGdLYKxSZGkSPOd052tvYFxOTMaQb6ANlwhGqZtNO52PosaCoXu7uatFneujAxmA==", + "path": "system.security.accesscontrol/4.5.0", + "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" + }, + "System.Security.Claims/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "path": "system.security.claims/4.3.0", + "hashPath": "system.security.claims.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-07fZJgFAgCati1lQEbO67EMEhm+fPenFqiSjwCwFssnmYQrLGA48lqiWilGLbuwb+nmflfodj1jgIQYI4g7LXA==", + "path": "system.security.cryptography.cng/4.4.0", + "hashPath": "system.security.cryptography.cng.4.4.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Pkcs/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1vv2x8cok3NAolee/nb6X/6PnTx+OBKUM3kt1Rlgg04uQ+IMwjc88xFIfJdwbYcvjlOtzT7CHba1pqVAu9tj/w==", + "path": "system.security.cryptography.pkcs/4.5.0", + "hashPath": "system.security.cryptography.pkcs.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Xml/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X+/taLXTKYziKvWE4ZEyhpY0QQ17fm9eW70cvMCE6LAsWYqdv708i0HJeSVy7/5R5547GR/CEGOjUkYq6bJfPg==", + "path": "system.security.cryptography.xml/4.5.0", + "hashPath": "system.security.cryptography.xml.4.5.0.nupkg.sha512" + }, + "System.Security.Permissions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-O+e9qamSTJ4YOJCpnLgsf9FTGfsxJv2On1OdYkhmd/XA5AYRvUatkz7Rp3dS9XR7rhVuklnjST1dRoMK7N4cGw==", + "path": "system.security.permissions/4.5.0", + "hashPath": "system.security.permissions.4.5.0.nupkg.sha512" + }, + "System.Security.Principal/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "path": "system.security.principal/4.3.0", + "hashPath": "system.security.principal.4.3.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WA9ETb/pY3BjnxKjBUHEgO59B7d/nnmjHFsqjJ2eDT780nD769CT1/bw2ia0Z6W7NqlcqokE6sKGKa6uw88XGA==", + "path": "system.security.principal.windows/4.5.0", + "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Eu3dyUUqDFkuskrrK54VLWC41EVANJNo5vzjojnGAphH+FV63NJg3zs5x0TvRaYDTZ2y+86eIOK43Hg2NXiw7w==", + "path": "system.text.encoding.codepages/4.5.1", + "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JF+wDdfFiRl3rz3dPMfR6aR568AW2J5CUMmhSflgHDz4zbVK4/00ax8UHnHyEMvblPewgNugjuA4oyoL8Pex2g==", + "path": "system.text.encodings.web/4.5.0", + "hashPath": "system.text.encodings.web.4.5.0.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rckdhLJtzQ3EI+0BGuq7dUVtCSnerqAoAmL3S6oMRZ4VMZTL3Rq9DS8IDW57c6PYVebA4O0NbSA1BDvyE18UMA==", + "path": "system.threading.tasks.extensions/4.5.1", + "hashPath": "system.threading.tasks.extensions.4.5.1.nupkg.sha512" + }, + "System.Threading.Tasks.Parallel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wn3GV5YIWjxvv9muD9FSZxH4PLx98Y4D1Z5mpYTowK1RLPtFvusnVKnT0OzmzEpYCMtVNgqfk3kPc9xRGsWrLA==", + "path": "system.threading.tasks.parallel/4.3.0", + "hashPath": "system.threading.tasks.parallel.4.3.0.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + }, + "System.ValueTuple/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xZtSZNEHGa+tGsKuP4sh257vxJ/yemShz4EusmomkynMzuEDDjVaErBNewpzEF6swUgbcrSQAX3ELsEp1zCOwA==", + "path": "system.valuetuple/4.5.0", + "hashPath": "system.valuetuple.4.5.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xsnq6w3/S+NeYkUtxoCEDAn2Z+AkgvGLvJnslrTRte4jEU+fkR3DVG+s0sBmQYQ4c3r8949PaGg8AnRb9bBc2w==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XPath/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8Eo7vuasWRqXfiBRCIKz20Rq1h6n+NMp6nW2RmyUwF4VDekg8xbRZu8S3N21P5XGAhv+kaqUwI3xydEkcw+D5w==", + "path": "system.xml.xpath/4.3.0", + "hashPath": "system.xml.xpath.4.3.0.nupkg.sha512" + }, + "System.Xml.XPath.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jw9oHHEIVW53mHY9PgrQa98Xo2IZ0ZjrpdOTmtvk+Rvg4tq7dydmxdNqUvJ5YwjDqhn75mBXWttWjiKhWP53LQ==", + "path": "system.xml.xpath.xdocument/4.3.0", + "hashPath": "system.xml.xpath.xdocument.4.3.0.nupkg.sha512" + }, + "TinyMapper/3.0.2-beta": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2vo0gmu2XO6zvCfBIdtNeSF6LnohI28gb72T5pXjxJgtagLx+u0aR88zc85zxyexNfOBHzuH/LoMAAtWovQI9Q==", + "path": "tinymapper/3.0.2-beta", + "hashPath": "tinymapper.3.0.2-beta.nupkg.sha512" + }, + "TinyPinyin.Core.Standard/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m2T+sm1fY5eOVmI+wo1NPdmryHSoY91x4IWzcvbD1m9wep5iIe74nnpUnujQZX6zV0PMHTIUhMmyXAISqVoAbw==", + "path": "tinypinyin.core.standard/1.0.0", + "hashPath": "tinypinyin.core.standard.1.0.0.nupkg.sha512" + }, + "xunit/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OwBhpez9SRZvEjqic3WVbACu2wsi9u5qi+YpzVg6BTL3R25R/6ytM4UkUTnx+dSZDJ3IUPx+99CX/YXnxrQAWA==", + "path": "xunit/2.4.1", + "hashPath": "xunit.2.4.1.nupkg.sha512" + }, + "xunit.abstractions/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PKJri5f0qEQPFvgY6CZR9XG8JROlWSdC/ZYLkkDQuID++Egn+yWjB+Yf57AZ8U6GRlP7z33uDQ4/r5BZPer2JA==", + "path": "xunit.abstractions/2.0.3", + "hashPath": "xunit.abstractions.2.0.3.nupkg.sha512" + }, + "xunit.analyzers/0.10.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Uw6EqkOmt0IystUtzkU4U8ixCEz+piqgczyoPT00RwPDsWHtWwzedjsBQTS6P1h2+uwDF6w5UpYt5/SSE7eexQ==", + "path": "xunit.analyzers/0.10.0", + "hashPath": "xunit.analyzers.0.10.0.nupkg.sha512" + }, + "xunit.assert/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xWgCZQSBeM9C7Ak+VuzGsQr7K5ODLVsXK3g2sDD38/3Ljom2IbWJPudG8+IsspgvfpGh0g9Oe5vLc8U+izjieQ==", + "path": "xunit.assert/2.4.1", + "hashPath": "xunit.assert.2.4.1.nupkg.sha512" + }, + "xunit.core/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8taMlAQy9qQ7Tbiqr2TAwGkU+X0sckQ+96j7R9OX/Ut1gmHEa4QYIrI8c15j3iKTj3XzyQMVohkTMWa80BRf6w==", + "path": "xunit.core/2.4.1", + "hashPath": "xunit.core.2.4.1.nupkg.sha512" + }, + "xunit.extensibility.core/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qkdxGfxdsAurEFsr8z6LfoBRVb4Vcbeyk1wF+MRrObruwOtl7O+ihQUEHX8fnZnlUFsY6kR+9tcweomLsocR1A==", + "path": "xunit.extensibility.core/2.4.1", + "hashPath": "xunit.extensibility.core.2.4.1.nupkg.sha512" + }, + "xunit.extensibility.execution/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gc8TxVPew3+Hy6qJTs70JHirtSt5ky380gxC8QF+VmWOs6EdWGlo9xm3URkm+gPbE9roVVfnrw5AuqFNr4R52Q==", + "path": "xunit.extensibility.execution/2.4.1", + "hashPath": "xunit.extensibility.execution.2.4.1.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/bin/Debug/netstandard2.0/nlog.config b/Infrastructure/Hncore.Infrastructure/bin/Debug/netstandard2.0/nlog.config new file mode 100644 index 0000000..8ea310b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/bin/Debug/netstandard2.0/nlog.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/bin/Release/netstandard2.0/Hncore.Infrastructure.deps.json b/Infrastructure/Hncore.Infrastructure/bin/Release/netstandard2.0/Hncore.Infrastructure.deps.json new file mode 100644 index 0000000..7a07a9c --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/bin/Release/netstandard2.0/Hncore.Infrastructure.deps.json @@ -0,0 +1,4454 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "6680795e45975f734958454ef71d3d2dcf20ef6b" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Hncore.Infrastructure/1.0.0": { + "dependencies": { + "AngleSharp": "0.12.1", + "Autofac": "4.9.1", + "Autofac.Extensions.DependencyInjection": "4.4.0", + "Bogus": "26.0.1", + "CSRedisCore": "3.0.60", + "Dapper": "1.60.6", + "DotNetCore.NPOI": "1.2.1", + "JWT": "5.0.1", + "MQTTnet": "2.8.5", + "MQiniu.Core": "1.0.1", + "Microsoft.AspNetCore.Mvc": "2.2.0", + "Microsoft.AspNetCore.Mvc.Versioning": "3.1.2", + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": "3.2.0", + "Microsoft.AspNetCore.TestHost": "2.2.0", + "Microsoft.EntityFrameworkCore": "2.2.0", + "Microsoft.EntityFrameworkCore.Relational": "2.2.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "2.2.0", + "Microsoft.Extensions.Configuration.Json": "2.2.0", + "Microsoft.Extensions.Http": "2.2.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "2.2.0", + "Microsoft.NET.Test.Sdk": "16.0.1", + "MySqlConnector": "0.56.0", + "NETStandard.Library": "2.0.3", + "NLog.Extensions.Logging": "1.4.0", + "Polly": "7.1.0", + "Swashbuckle.AspNetCore": "4.0.1", + "System.Drawing.Common": "4.5.1", + "System.Text.Encoding.CodePages": "4.5.1", + "TinyMapper": "3.0.2-beta", + "TinyPinyin.Core.Standard": "1.0.0", + "aliyun-net-sdk-core": "1.5.3", + "xunit": "2.4.1" + }, + "runtime": { + "Hncore.Infrastructure.dll": {} + } + }, + "aliyun-net-sdk-core/1.5.3": { + "runtime": { + "lib/netstandard2.0/aliyun-net-sdk-core.dll": { + "assemblyVersion": "1.5.3.0", + "fileVersion": "1.5.3.0" + } + } + }, + "AngleSharp/0.12.1": { + "dependencies": { + "System.Text.Encoding.CodePages": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/AngleSharp.dll": { + "assemblyVersion": "0.12.1.0", + "fileVersion": "0.12.1.0" + } + } + }, + "Autofac/4.9.1": { + "runtime": { + "lib/netstandard2.0/Autofac.dll": { + "assemblyVersion": "4.9.1.0", + "fileVersion": "4.9.1.0" + } + } + }, + "Autofac.Extensions.DependencyInjection/4.4.0": { + "dependencies": { + "Autofac": "4.9.1", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.dll": { + "assemblyVersion": "4.4.0.0", + "fileVersion": "4.4.0.0" + } + } + }, + "Bogus/26.0.1": { + "runtime": { + "lib/netstandard2.0/Bogus.dll": { + "assemblyVersion": "26.0.1.0", + "fileVersion": "26.0.1.0" + } + } + }, + "CSRedisCore/3.0.60": { + "dependencies": { + "Newtonsoft.Json": "12.0.2", + "SafeObjectPool": "2.0.2", + "System.ValueTuple": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/CSRedisCore.dll": { + "assemblyVersion": "3.0.60.0", + "fileVersion": "3.0.60.0" + } + } + }, + "Dapper/1.60.6": { + "dependencies": { + "System.Data.SqlClient": "4.4.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/Dapper.dll": { + "assemblyVersion": "1.60.0.0", + "fileVersion": "1.60.6.27094" + } + } + }, + "DotNetCore.NPOI/1.2.1": { + "dependencies": { + "DotNetCore.NPOI.Core": "1.2.1", + "DotNetCore.NPOI.OpenXml4Net": "1.2.1", + "DotNetCore.NPOI.OpenXmlFormats": "1.2.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.OOXML.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "DotNetCore.NPOI.Core/1.2.1": { + "dependencies": { + "SharpZipLib": "1.0.0", + "System.Drawing.Common": "4.5.1", + "System.Text.Encoding.CodePages": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "DotNetCore.NPOI.OpenXml4Net/1.2.1": { + "dependencies": { + "DotNetCore.NPOI.Core": "1.2.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.OpenXml4Net.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "DotNetCore.NPOI.OpenXmlFormats/1.2.1": { + "dependencies": { + "DotNetCore.NPOI.OpenXml4Net": "1.2.1" + }, + "runtime": { + "lib/netstandard2.0/NPOI.OpenXmlFormats.dll": { + "assemblyVersion": "1.2.1.0", + "fileVersion": "1.2.1.0" + } + } + }, + "JWT/5.0.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "12.0.2", + "System.ComponentModel.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Security.Cryptography.Csp": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/JWT.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "Microsoft.AspNetCore.Antiforgery/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.DataProtection": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Cors/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Cryptography.Internal/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.DataProtection/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Cryptography.Internal": "2.2.0", + "Microsoft.AspNetCore.DataProtection.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Win32.Registry": "4.5.0", + "System.Security.Cryptography.Xml": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Hosting/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "2.2.0", + "Microsoft.Extensions.Configuration.FileExtensions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.FileProviders.Physical": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Reflection.Metadata": "1.6.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Html.Abstractions/2.2.0": { + "dependencies": { + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Localization/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Localization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Mvc/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Analyzers": "2.2.0", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Cors": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.AspNetCore.Mvc.Localization": "2.2.0", + "Microsoft.AspNetCore.Mvc.Razor.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.RazorPages": "2.2.0", + "Microsoft.AspNetCore.Mvc.TagHelpers": "2.2.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "2.2.0", + "Microsoft.AspNetCore.Razor.Design": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Analyzers/2.2.0": {}, + "Microsoft.AspNetCore.Mvc.ApiExplorer/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Authentication.Core": "2.2.0", + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.DependencyModel": "2.1.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Cors/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Cors": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Cors.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Localization/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Localization": "2.2.0", + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Localization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Razor/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "2.2.0", + "Microsoft.AspNetCore.Razor.Runtime": "2.2.0", + "Microsoft.CodeAnalysis.CSharp": "2.8.0", + "Microsoft.CodeAnalysis.Razor": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.FileProviders.Composite": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Razor.Extensions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Razor.Language": "2.2.0", + "Microsoft.CodeAnalysis.Razor": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Mvc.RazorPages/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.RazorPages.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0", + "Microsoft.AspNetCore.Razor.Runtime": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.TagHelpers.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Mvc.Versioning/3.1.2": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.dll": { + "assemblyVersion": "3.1.0.0", + "fileVersion": "3.1.6968.34335" + } + } + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer/3.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Versioning": "3.1.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.dll": { + "assemblyVersion": "3.2.0.0", + "fileVersion": "3.2.6968.34357" + } + } + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Antiforgery": "2.2.0", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.Extensions.WebEncoders": "2.2.0", + "Newtonsoft.Json.Bson": "1.0.1" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.0" + } + } + }, + "Microsoft.AspNetCore.Razor/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Razor.Design/2.2.0": {}, + "Microsoft.AspNetCore.Razor.Language/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Razor.Runtime/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Razor": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Runtime.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.StaticFiles/2.0.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.WebEncoders": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.StaticFiles.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.17205" + } + } + }, + "Microsoft.AspNetCore.TestHost/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting": "2.2.0", + "System.IO.Pipelines": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.TestHost.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/1.1.0": {}, + "Microsoft.CodeAnalysis.Common/2.8.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "1.1.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Collections.Immutable": "1.5.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.FileVersionInfo": "4.3.0", + "System.Diagnostics.StackTrace": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.6.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Parallel": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.ValueTuple": "4.5.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XPath.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.dll": { + "assemblyVersion": "2.8.0.0", + "fileVersion": "2.8.0.62830" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/2.8.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Common": "2.8.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll": { + "assemblyVersion": "2.8.0.0", + "fileVersion": "2.8.0.62830" + } + } + }, + "Microsoft.CodeAnalysis.Razor/2.2.0": { + "dependencies": { + "Microsoft.AspNetCore.Razor.Language": "2.2.0", + "Microsoft.CodeAnalysis.CSharp": "2.8.0", + "Microsoft.CodeAnalysis.Common": "2.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.CodeCoverage/16.0.1": {}, + "Microsoft.CSharp/4.5.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "Microsoft.DotNet.PlatformAbstractions/2.1.0": { + "dependencies": { + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Microsoft.EntityFrameworkCore/2.2.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "2.2.0", + "Microsoft.EntityFrameworkCore.Analyzers": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Remotion.Linq": "2.2.0", + "System.Collections.Immutable": "1.5.0", + "System.ComponentModel.Annotations": "4.5.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Interactive.Async": "3.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/2.2.0": {}, + "Microsoft.EntityFrameworkCore.Relational/2.2.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Caching.Memory/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.FileProviders.Physical": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Configuration.Json/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.Configuration.FileExtensions": "2.2.0", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.DependencyInjection/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.DependencyModel/2.1.0": { + "dependencies": { + "Microsoft.DotNet.PlatformAbstractions": "2.1.0", + "Newtonsoft.Json": "12.0.2", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Linq": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.FileProviders.Composite/2.2.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Composite.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.FileProviders.Embedded/2.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.17205" + } + } + }, + "Microsoft.Extensions.FileProviders.Physical/2.2.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.FileSystemGlobbing/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Http/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Http.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Localization/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Extensions.Logging/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Binder": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Options/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.Configuration.Binder": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.Primitives/2.2.0": { + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18315" + } + } + }, + "Microsoft.Extensions.WebEncoders/2.2.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.WebEncoders.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.18316" + } + } + }, + "Microsoft.NET.Test.Sdk/16.0.1": { + "dependencies": { + "Microsoft.CodeCoverage": "16.0.1" + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.NETCore.Targets/1.1.0": {}, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.5.0": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Security.AccessControl": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "MQiniu.Core/1.0.1": { + "dependencies": { + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/MQiniu.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MQTTnet/2.8.5": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Net.Security": "4.3.2", + "System.Net.WebSockets": "4.3.0", + "System.Net.WebSockets.Client": "4.3.2" + }, + "runtime": { + "lib/netstandard2.0/MQTTnet.dll": { + "assemblyVersion": "2.8.5.0", + "fileVersion": "2.8.5.0" + } + } + }, + "MySqlConnector/0.56.0": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/MySqlConnector.dll": { + "assemblyVersion": "0.56.0.0", + "fileVersion": "0.56.0.0" + } + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json/12.0.2": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "12.0.0.0", + "fileVersion": "12.0.2.23222" + } + } + }, + "Newtonsoft.Json.Bson/1.0.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.Bson.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.1.20722" + } + } + }, + "NLog/4.5.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.5.11.8645" + } + } + }, + "NLog.Extensions.Logging/1.4.0": { + "dependencies": { + "Microsoft.Extensions.Logging": "2.2.0", + "NLog": "4.5.11" + }, + "runtime": { + "lib/netstandard2.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.4.0.867" + } + } + }, + "Polly/7.1.0": { + "runtime": { + "lib/netstandard2.0/Polly.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.1.0.0" + } + } + }, + "Remotion.Linq/2.2.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Linq.Queryable": "4.0.1", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Remotion.Linq.dll": { + "assemblyVersion": "2.2.0.0", + "fileVersion": "2.2.0.30000" + } + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Data.SqlClient.sni/4.4.0": { + "dependencies": { + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" + } + }, + "runtime.native.System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Security/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {}, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {}, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {}, + "SafeObjectPool/2.0.2": { + "runtime": { + "lib/netstandard2.0/SafeObjectPool.dll": { + "assemblyVersion": "2.0.2.0", + "fileVersion": "2.0.2.0" + } + } + }, + "SharpZipLib/1.0.0": { + "runtime": { + "lib/netstandard2.0/ICSharpCode.SharpZipLib.dll": { + "assemblyVersion": "1.0.0.999", + "fileVersion": "1.0.0.999" + } + } + }, + "Swashbuckle.AspNetCore/4.0.1": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "4.0.1", + "Swashbuckle.AspNetCore.SwaggerGen": "4.0.1", + "Swashbuckle.AspNetCore.SwaggerUI": "4.0.1" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "Swashbuckle.AspNetCore.Swagger/4.0.1": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/4.0.1": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Swashbuckle.AspNetCore.Swagger": "4.0.1" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/4.0.1": { + "dependencies": { + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.StaticFiles": "2.0.0", + "Microsoft.Extensions.FileProviders.Embedded": "2.0.0", + "Newtonsoft.Json": "12.0.2" + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.0.1.0" + } + } + }, + "System.AppContext/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.AppContext.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Buffers/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Immutable/1.5.0": { + "runtime": { + "lib/netstandard2.0/System.Collections.Immutable.dll": { + "assemblyVersion": "1.2.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.Annotations/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.ComponentModel.Annotations.dll": { + "assemblyVersion": "4.2.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Console/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Data.SqlClient/4.4.0": { + "dependencies": { + "Microsoft.Win32.Registry": "4.5.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Security.Principal.Windows": "4.5.0", + "System.Text.Encoding.CodePages": "4.5.1", + "runtime.native.System.Data.SqlClient.sni": "4.4.0" + }, + "runtime": { + "lib/netstandard2.0/System.Data.SqlClient.dll": { + "assemblyVersion": "4.2.0.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Diagnostics.FileVersionInfo/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.Diagnostics.StackTrace/4.3.0": { + "dependencies": { + "System.IO.FileSystem": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.6.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.StackTrace.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Drawing.Common/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Drawing.Common.dll": { + "assemblyVersion": "4.0.0.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.Interactive.Async/3.2.0": { + "runtime": { + "lib/netstandard2.0/System.Interactive.Async.dll": { + "assemblyVersion": "3.2.0.0", + "fileVersion": "3.2.0.702" + } + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.5.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.IO.Pipelines/4.5.2": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard2.0/System.IO.Pipelines.dll": { + "assemblyVersion": "4.0.0.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Queryable/4.0.1": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Linq.Queryable.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Memory/4.5.1": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Numerics.Vectors": "4.4.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26606.5" + } + } + }, + "System.Net.NameResolution/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.5.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Net.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Net.Security/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Security": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.WebHeaderCollection/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets/4.3.0": { + "dependencies": { + "Microsoft.Win32.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebSockets.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets.Client/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Security": "4.3.2", + "System.Net.Sockets": "4.3.0", + "System.Net.WebHeaderCollection": "4.3.0", + "System.Net.WebSockets": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0" + } + }, + "System.Numerics.Vectors/4.4.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.3.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Metadata/1.6.0": { + "dependencies": { + "System.Collections.Immutable": "1.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.Metadata.dll": { + "assemblyVersion": "1.4.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "4.1.3.0", + "fileVersion": "4.6.26725.5" + } + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.4.1", + "fileVersion": "4.6.26919.2" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.AccessControl/4.5.0": { + "dependencies": { + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.AccessControl.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Claims/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Cng/4.4.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.6.25519.3" + } + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Pkcs/4.5.0": { + "dependencies": { + "System.Buffers": "4.5.0", + "System.Memory": "4.5.1", + "System.Security.Cryptography.Cng": "4.4.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Pkcs.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.4.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Xml/4.5.0": { + "dependencies": { + "System.Security.Cryptography.Pkcs": "4.5.0", + "System.Security.Permissions": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Xml.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Permissions/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Permissions.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Principal/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Principal.Windows/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages/4.5.1": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.27129.4" + } + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.1": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.0", + "fileVersion": "4.6.26606.5" + } + } + }, + "System.Threading.Tasks.Parallel/4.3.0": { + "dependencies": { + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.ValueTuple/4.5.0": {}, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XPath/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XPath.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XPath.XDocument/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XPath": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XPath.XDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "TinyMapper/3.0.2-beta": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1" + }, + "runtime": { + "lib/netstandard1.3/TinyMapper.dll": { + "assemblyVersion": "3.0.0.8", + "fileVersion": "3.0.0.8" + } + } + }, + "TinyPinyin.Core.Standard/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/TinyPinyin.Core.Standard.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "xunit/2.4.1": { + "dependencies": { + "xunit.analyzers": "0.10.0", + "xunit.assert": "2.4.1", + "xunit.core": "2.4.1" + } + }, + "xunit.abstractions/2.0.3": { + "runtime": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + }, + "xunit.analyzers/0.10.0": {}, + "xunit.assert/2.4.1": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "lib/netstandard1.1/xunit.assert.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + }, + "xunit.core/2.4.1": { + "dependencies": { + "xunit.extensibility.core": "2.4.1", + "xunit.extensibility.execution": "2.4.1" + } + }, + "xunit.extensibility.core/2.4.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "xunit.abstractions": "2.0.3" + }, + "runtime": { + "lib/netstandard1.1/xunit.core.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + }, + "xunit.extensibility.execution/2.4.1": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "xunit.extensibility.core": "2.4.1" + }, + "runtime": { + "lib/netstandard1.1/xunit.execution.dotnet.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + } + } + }, + "libraries": { + "Hncore.Infrastructure/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "aliyun-net-sdk-core/1.5.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-x3xiyoX+ZXSEGnHoPONBeMeDetpEe4DWQuKPRQjM7eOd5O2CSUjuJhD5+DVE2NTH7MAnt/svMuJVVUgFK/SiCQ==", + "path": "aliyun-net-sdk-core/1.5.3", + "hashPath": "aliyun-net-sdk-core.1.5.3.nupkg.sha512" + }, + "AngleSharp/0.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ANb5hGAdRXRRfNkT/04uE8xcK96nrBGBrFp4b5cPxY3n/KSAh+PuaJ/ct0VyxUMRku0JE4wtleXFY+sskOdDZQ==", + "path": "anglesharp/0.12.1", + "hashPath": "anglesharp.0.12.1.nupkg.sha512" + }, + "Autofac/4.9.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Dk3UQD94XM2HBjquOZoPWrQBUcv9G/K24K/qTiUJi13Fz/0X/wxcQi8z3K1ProCPxuZvadSgrzbpbni2HX1YTg==", + "path": "autofac/4.9.1", + "hashPath": "autofac.4.9.1.nupkg.sha512" + }, + "Autofac.Extensions.DependencyInjection/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XO9Zk1zIUv9FyuGg9biGlGTPrSamdZKSZ+lHGTxnOaKkTmW1iWP276nlQ/l2V3XoVk86+SHyRnzH5MmhULGamg==", + "path": "autofac.extensions.dependencyinjection/4.4.0", + "hashPath": "autofac.extensions.dependencyinjection.4.4.0.nupkg.sha512" + }, + "Bogus/26.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ObKuXPq5MpiMX4PAhRvmkj8S2JmPrQVDO8XCMMIsHyban4mv7qtpaSNGhndsZyW+o2lHX2gjLqK++7YoRHUgJA==", + "path": "bogus/26.0.1", + "hashPath": "bogus.26.0.1.nupkg.sha512" + }, + "CSRedisCore/3.0.60": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/oOYfWAeqA6jsAeBCubsGJlq24QxS0nk55u5gsQPF5pDR/oExcBDQ1Wh0PciBPUePie+/iu9pMWbL5xIU6ze1g==", + "path": "csrediscore/3.0.60", + "hashPath": "csrediscore.3.0.60.nupkg.sha512" + }, + "Dapper/1.60.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZqK3znlm8dapfO8M0vCgV5+wJrl5Uv00WYmj27wQ6zufSLcklVNJ2fdVMUj59o89p+lmRD6QivTRe0Gdfm6UAQ==", + "path": "dapper/1.60.6", + "hashPath": "dapper.1.60.6.nupkg.sha512" + }, + "DotNetCore.NPOI/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5M2x2mt+JOTByhzSH6PtcDOepZswmb6Uu2rjiOx5l3lKc7AP9kbmhN7WLKakGVSNhnOMgXbFXulIRRflPeNb/g==", + "path": "dotnetcore.npoi/1.2.1", + "hashPath": "dotnetcore.npoi.1.2.1.nupkg.sha512" + }, + "DotNetCore.NPOI.Core/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K8hlUP5yCxCK2JNROBBGAM50EtRshBe+RglFrrJkrbygR3o1HsruvHk6NlEFI+pYV9brDVqRc8xsYz5ZfeLfgQ==", + "path": "dotnetcore.npoi.core/1.2.1", + "hashPath": "dotnetcore.npoi.core.1.2.1.nupkg.sha512" + }, + "DotNetCore.NPOI.OpenXml4Net/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LxHszYfzPwg+ibE70gR7HrLlOtMHhWWEXLOTcW6KkwyJJ9eisCfrSkfbGvJnvfQHxmL9RXfZ+KV+B0/OeZ7kmw==", + "path": "dotnetcore.npoi.openxml4net/1.2.1", + "hashPath": "dotnetcore.npoi.openxml4net.1.2.1.nupkg.sha512" + }, + "DotNetCore.NPOI.OpenXmlFormats/1.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bim3nwQ5b/6bAoWa7DhHTYwz9w5dmMDwqn27LgcE8Sa/eYh672BOfT6SaKFuxQT1+X0Au3WhTwH1RgO/4aTNtg==", + "path": "dotnetcore.npoi.openxmlformats/1.2.1", + "hashPath": "dotnetcore.npoi.openxmlformats.1.2.1.nupkg.sha512" + }, + "JWT/5.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0rDXizf96UrvR15jNwWgkM91JHgZ8SZnGDQIDzGw7c4rfdwcLvp0ZLXLTwIxwij7ywV+Ufb5iHPpyB5Na1n6SQ==", + "path": "jwt/5.0.1", + "hashPath": "jwt.5.0.1.nupkg.sha512" + }, + "Microsoft.AspNetCore.Antiforgery/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1eMLxqY2DqvkMqpw8FZtGLPWGLm8lEMTZ9tc0Gmr7PlBGuaPODHu8LjTxy+G0lthBLKhVzrbf8SC57vYGKKMvg==", + "path": "microsoft.aspnetcore.antiforgery/2.2.0", + "hashPath": "microsoft.aspnetcore.antiforgery.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i4LQHuX8gYwti1V7CEM+5ZnExTjEUcd6SylM+euuMTLSry8vkaU/qXr/ZoGKs27TD6PiIPNi+6arDk6zLXWDRA==", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HpxpAAuEgWGSLPdzsBjPHrxFS/Up7jTRa4WQGcqWrOg52+A7qx1UbNlNPnV+nYk3mk1AZ1besmTlNz0TE8nOvA==", + "path": "microsoft.aspnetcore.authentication.core/2.2.0", + "hashPath": "microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-suxW8TRGnI8aaRTB0NNHZ0scC7VBk3spNrwNHufiLOlS44PXTpLzK7mDUpte6B3uuWY00e+8FSudQWu92Be8Pg==", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "hashPath": "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t1pMuggj4d/NqMa/lwyTCKfdtDSShefHQg4K4PpeYMZPXH1Im7VQB2F3HaPSYOubNXv8Vhk//C1dJI5LkJNgEg==", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "hashPath": "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Cors/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YFStDzy8d4YgY09eY3pdWzQ/uVaqufxDF3Lax5N6gaDWIkTcflAAEbIxzeuVtalzyBSRqgOKIsmqYMoXsQYPvg==", + "path": "microsoft.aspnetcore.cors/2.2.0", + "hashPath": "microsoft.aspnetcore.cors.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Cryptography.Internal/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a/xQhLXGoW+A1mcAmvIYu3M1KcqsCTxDw+UHesVX7U5CYrvb9NaZ47Zol8DyVDO1S3SJnx7hDLGwXz13gbpGxQ==", + "path": "microsoft.aspnetcore.cryptography.internal/2.2.0", + "hashPath": "microsoft.aspnetcore.cryptography.internal.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.DataProtection/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4TLOD40F/4iJhgvOsl8oSqtu4iuNK3wfpXHUis/MPpkky+/EE1+IrYIRI6B12QPp8HnRC85E6D4k2EVTF2hRww==", + "path": "microsoft.aspnetcore.dataprotection/2.2.0", + "hashPath": "microsoft.aspnetcore.dataprotection.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o0ySexk/hnc5msskptLoE5mc1D7NTA4NSpGDFypGaU0/Z2L9zzFzWQThA2dPre7Y+U4Qz2Vx4msF5Q8xLZTVjQ==", + "path": "microsoft.aspnetcore.dataprotection.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.dataprotection.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nK/ttSLBOI3DiYiT1qRxnU/KN5Y2iQNht3sBd0NCjP5d2kVlkjRxIGKgiEjV6W3QX45kpD84A3fZ6h2ENHbn7A==", + "path": "microsoft.aspnetcore.diagnostics.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.diagnostics.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ryzJBUA3QL3BP9lR1Hk2wL2FZ7zgSaeaT7dQBX+fbHxirwvq5wArQW6kGzo8aoOGAqME7wYu5woaAVGz5Ozhgw==", + "path": "microsoft.aspnetcore.hosting/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pVGrKK652a4lFcve2393473ojKfiSbDGpmnKyHT+RIYU+V93fSQafRitkJSh9ldNNIm9kjKZ8WuKRF8IMMi7Vg==", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BeNdIx9jGr/WGa0bqZhkBLQMfevgNr6KItXy9IhZKnGRjkbmOb5wUKGtHHiKRV2JvJlBwCl0+NL1IDLc+40PdA==", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Html.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z08ZN/kjJ15AQyNY349dpTPJdpdVJ/RYLLJjY9sf6VoHBf3vRBSCBx6orXMspMeRJrhHultPTP0IKVK2g4KZxg==", + "path": "microsoft.aspnetcore.html.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.html.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1jsV5N1hykNJN1uIY+DI4C0zrnBzsJ/dNkwCLuGNcxTAkXcQzxGclSqi45KTm/0Og2kOss4BZGDHQboB9D4gGA==", + "path": "microsoft.aspnetcore.http/2.2.0", + "hashPath": "microsoft.aspnetcore.http.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IkuRKkTFEbO30FwfCVuL0piikRBK/kgsaLbfbeUg8Rejpe5nCRUDZ3RDLzaW0FPMZxdb1opQ/zBYibItL1AezQ==", + "path": "microsoft.aspnetcore.http.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lyEExtXdag+/tGhJVJgU6s2LOEUO3Uex4bDjN2RWuOYPe0l4rTDFv8B1WJO3EnnFrcCbbhATEc+3y3ntzSZKqw==", + "path": "microsoft.aspnetcore.http.extensions/2.2.0", + "hashPath": "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0GNO7G290ULLrFcL7Yig7EYNpWF0ZisATpoPGszArH7wtuDDNt97o3vr4CANPzxAcJuXlhIPKuAhk+GPKm6AHg==", + "path": "microsoft.aspnetcore.http.features/2.2.0", + "hashPath": "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wC/QmeleRUhzJRVFJrjWM88qObvvWe8WiQHvS4I+hUOvbexakzYH+5Z+CLoGf8T+xegkpLNqjGIr+stK4B9cDg==", + "path": "microsoft.aspnetcore.jsonpatch/2.2.0", + "hashPath": "microsoft.aspnetcore.jsonpatch.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UEozmI0b5w8mecvTX9usbXV3ee3T5ogro86hWg5wEmxScdn8K1/rds75LBYMmhpMjG8UZINYfamRa3AF3RTo2w==", + "path": "microsoft.aspnetcore.localization/2.2.0", + "hashPath": "microsoft.aspnetcore.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59NchgRWqXmXdmY8W4O6qda4odf0Fc5UgVsUj57Nr5IMMQ2MKNDMeoBE6VjDQiNP5Oteu15qj3FfrbuwwgYa1Q==", + "path": "microsoft.aspnetcore.mvc/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KvSgkNkWnK4Ikmz1QmFOD32PynAvVibY6piwcRysgWFLuzkjgERVJ6YNOR6/Tegnb79+xG7GzP92bA7RKFl+sw==", + "path": "microsoft.aspnetcore.mvc.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Analyzers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k8IjX6M0Hsxzh5+u2tjyLJDrMPN8xhpMxjBTEsQFgWUpkshbxjVp1Ra5wmpuPXjrYGHwqmTRpuoUhUysXu0oYw==", + "path": "microsoft.aspnetcore.mvc.analyzers/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.analyzers.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WlTqPGGTPku8hNBaT+xEXRjAXe5MsqpGn02rnm8Td8ua4rXVifchVWio+DP9LlFlWBwF58dDhkuDAvSSWMW0Lw==", + "path": "microsoft.aspnetcore.mvc.apiexplorer/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.apiexplorer.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wh2wexgnnkn/f2cKSiGi/TDTMCe7KI5MgzYLAAjohkQu1oWlHWVMwlkMr5mJVZA3Es+msmKT9ogjfTt+KWq1uQ==", + "path": "microsoft.aspnetcore.mvc.core/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.core.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Cors/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V4EBkDS1fvfWYKy6RrJbfVqQ8JLUMBh5yoLzJvSCizWea6Q5Z7PwVApBXf2/TXweiWi4JTmYya3rj7vU/LLgFw==", + "path": "microsoft.aspnetcore.mvc.cors/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.cors.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C6NxfP/WBLeJuEN1OCUjcb4KsDOwAiOrM2gJ80DrRD5QYP5R8tCJm4udHIFRrUI8jQ324sGSJ5xpV800BgHAFQ==", + "path": "microsoft.aspnetcore.mvc.dataannotations/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.dataannotations.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BN+6Hp61H5pZz4Ig6WRu/726YV7LS2aaD4jBqeMJEeid4ePCRSqmIGwlRvE8Vs0eglQle+W+MorUlS1Sha4G8A==", + "path": "microsoft.aspnetcore.mvc.formatters.json/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.formatters.json.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ieDy2hjfcWq3qGLVI26Hs/EmA44F9QggrrNM5BPVq8LxhUhw41IvzZDWCHDNzYERCJYN9YorzqDZ7Utvlm8LiA==", + "path": "microsoft.aspnetcore.mvc.localization/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Razor/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OmuXoNnP5FqlhL+suepCWmkXKqnMGS/N0hkqWVupsXkPbpQRU9YvWY6yzUtvlJEKFLD8IulJ2PSXsHsfWZu7Hw==", + "path": "microsoft.aspnetcore.mvc.razor/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.razor.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Razor.Extensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JkmYRcoVjoTCk3I6uvsbRRqiuATet/lVsP24e02sPvA7d7iC4GoUECYbSGe2jsI4YHvXBptaxwLjfYVIRfeK1w==", + "path": "microsoft.aspnetcore.mvc.razor.extensions/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.razor.extensions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.RazorPages/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QYhojBGEx9xdB7G0UR9j4Jxz8jfRKngAR4suFofBJx0Qho1gCeWCq180m43+EjUJkfZMpoC4BYi4jx5dDT3BxA==", + "path": "microsoft.aspnetcore.mvc.razorpages/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.razorpages.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EZZ/aWmSfca/Ub91bf8bFeZXTxeSD8nHTdRBAq8vOZOIpz0rgQOVJVs/qIEUm5Di4qrRfib9bc5E6IeAnDH0xw==", + "path": "microsoft.aspnetcore.mvc.taghelpers/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.taghelpers.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Versioning/3.1.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XcPWILCgNXwQoCAaEZGByQc5aDbZv/CSAH4e85+c8Pd11tNOFY+na8vPP/97UT2S9fkAS2UPi28Ut2mv3DeL7w==", + "path": "microsoft.aspnetcore.mvc.versioning/3.1.2", + "hashPath": "microsoft.aspnetcore.mvc.versioning.3.1.2.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0aRm5yE5Her8OpgP3vb3jt2o0EB15Sb6WxPxR36kXz+VkOX3Z5Oy7rsRW9ZnYgx/WlR+yjQTJrt1TUv02fJwwA==", + "path": "microsoft.aspnetcore.mvc.versioning.apiexplorer/3.2.0", + "hashPath": "microsoft.aspnetcore.mvc.versioning.apiexplorer.3.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DenwEe843h6JO18/VQCoSfGupGKjws9wHzzkSZ8BM/yZXVIGJJtIVm28mjGJKAT0xf2dsQVal1To4JU4hTP1nA==", + "path": "microsoft.aspnetcore.mvc.viewfeatures/2.2.0", + "hashPath": "microsoft.aspnetcore.mvc.viewfeatures.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aM2aGQQh/kVOdgThej+4+ypFU8jSp2Dq/wZg9+e6/7RVAwlk8lQp8n2iYV9ltsSycE/4EU+LIMHegzaGBLOmsA==", + "path": "microsoft.aspnetcore.razor/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor.Design/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ex8MZwgoyqHim1L6/65FnfjdSMtSKSuSU3DVoiCADZACc05T7f8uRB7SnDIP5LPQKLUBLilfNkd1p14RLyfdQA==", + "path": "microsoft.aspnetcore.razor.design/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.design.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor.Language/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zW2jJWCnijyoZqL3a4W5zuvObFluZ7dvZeasbZVhBc8h1ZD4INufdpWXgtxceiu5wqfnedH+mzGTUdM4jNccUQ==", + "path": "microsoft.aspnetcore.razor.language/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.language.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Razor.Runtime/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UMBfVgxYVH0/OYNleZGCEsLHK8X5j80dU5hqYYBoTm2TfUoBkXDecuODtDAf5x0KfKZLKHnDT4+5lcIKKthQog==", + "path": "microsoft.aspnetcore.razor.runtime/2.2.0", + "hashPath": "microsoft.aspnetcore.razor.runtime.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2dnJ/buvvPVxqz2G0wQGTyJRodqRbD2PyUIqFJW2WQd9a6q4pE8SmSUVrkhke3DKiDUheeJc0t7sqTomImCfRg==", + "path": "microsoft.aspnetcore.responsecaching.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-blQPe49jTy6pK8VZ6vinCD8upuUs7FdXVbuZa+IjsXOpxdMYBCVFvXUrJBl87kXuaTi0M8fQuERamMF6a/eskA==", + "path": "microsoft.aspnetcore.routing/2.2.0", + "hashPath": "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dqnRARq+DBBH0mgYStRhKyapkPnIu1+sTgesv9dFVrsbN3IKlpTuAaRwAC1G9sHo2MVi5J5EMOtscDgmqnjhUg==", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "hashPath": "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.StaticFiles/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NRmJzeejrGjdEKstUV5S6k2W3yY+JjrHoPmBHwUTMVi93e4w4iur4pDhBWgbzj5nRVupt0gergUQbE969+Yccw==", + "path": "microsoft.aspnetcore.staticfiles/2.0.0", + "hashPath": "microsoft.aspnetcore.staticfiles.2.0.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.TestHost/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7yoAnQ+n1+PxigrY8td9eHULYwEuAuSHraDCYJQYTMRbu0G7XIDU6nzBMStoS/vOtU+eFja6EKuqS5JdASW49w==", + "path": "microsoft.aspnetcore.testhost/2.2.0", + "hashPath": "microsoft.aspnetcore.testhost.2.2.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oPl52Mxm8MTP3jHw+bQQ6UUOFYiaHDK4gU4cHGjH/yIZDn3vdPH5jV6ONZQJQJAQBqBYKZX28sH8NyYmsFRupw==", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "hashPath": "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Analyzers/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HS3iRWZKcUw/8eZ/08GXKY2Bn7xNzQPzf8gRPHGSowX7u7XXu9i9YEaBeBNKUXWfI7qjvT2zXtLUvbN0hds8vg==", + "path": "microsoft.codeanalysis.analyzers/1.1.0", + "hashPath": "microsoft.codeanalysis.analyzers.1.1.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Common/2.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A2a4NejNvWVz+8FPXkZK/cd2j4/P3laHwpz56UU3fDcOAVu4Xb98T6FXGAIgqE/LzSVpHnn9Cgg7rhT59qsO8w==", + "path": "microsoft.codeanalysis.common/2.8.0", + "hashPath": "microsoft.codeanalysis.common.2.8.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp/2.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+GGCTxkBjf9lFEZhVOG4iEO5YkuWCO5q+kUF787NJ8Twy3EOyLrjtZ8K7q+kH/PnSjSkN0AvWwL2NQCmT1H6mA==", + "path": "microsoft.codeanalysis.csharp/2.8.0", + "hashPath": "microsoft.codeanalysis.csharp.2.8.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Razor/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JyNMoRRCug7MdLmW+F4EHtXRgX7wFn1h40/+/XbPscNUPs9mPKBNha5WbWL7tKgirRX5nJIosAXx4Eb+ULtrMg==", + "path": "microsoft.codeanalysis.razor/2.2.0", + "hashPath": "microsoft.codeanalysis.razor.2.2.0.nupkg.sha512" + }, + "Microsoft.CodeCoverage/16.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HEdO9Lyje8ehjMU985e6vZFETAv337R7wukZXng35hhVdTDoSs3OLC/h5guQWhdDyQ+cN9uKUTK3H1GUKTjrYA==", + "path": "microsoft.codecoverage/16.0.1", + "hashPath": "microsoft.codecoverage.16.0.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EGoBmf3Na2ppbhPePDE9PlX81r1HuOZH5twBrq7couJZiPTjUnD3648balerQJO6EJ8Sj+43+XuRwQ7r+3tE3w==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.DotNet.PlatformAbstractions/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wkCXkBS0q+5hsbeikjfsHCGP3nNe1L1MrDEBPCBKm+4UH8nXqHLxDZuBrTYaVY85CGIx2y1qW90nO6b+ORAfrA==", + "path": "microsoft.dotnet.platformabstractions/2.1.0", + "hashPath": "microsoft.dotnet.platformabstractions.2.1.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sShQ1XMPv3HS6UJjtUs8AsZ1hEFUzwRpeRP9uavrfkaoWGOXwe4Klt131A+i9+/drnzbbEdzrhFkUiMWbzc4cg==", + "path": "microsoft.entityframeworkcore/2.2.0", + "hashPath": "microsoft.entityframeworkcore.2.2.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aBDhI9ltp7m4BaoH7LhH1p/DiO95rpAgDD09JX3W9VAmEgTaamXzlbc1W6BhQhs9ScMDbi5HoJw+LQCAVUfV9w==", + "path": "microsoft.entityframeworkcore.abstractions/2.2.0", + "hashPath": "microsoft.entityframeworkcore.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DYK/p3Fn7gz8bg8UelTRyJ9aH+i4bAQxeQ5YJTgCkNeTnyftHlw0ru1wZ/tUFlM27Cq2u5EYbvWBpefPo0izuw==", + "path": "microsoft.entityframeworkcore.analyzers/2.2.0", + "hashPath": "microsoft.entityframeworkcore.analyzers.2.2.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCmBWVP5ZJGC4eKQg2GYJs0W9RMQdSZ6jsWh9zZk2fuxpGJuVKTFy4eFAHq9dgKu7N07IW+CPkNBA8LthS3q0A==", + "path": "microsoft.entityframeworkcore.relational/2.2.0", + "hashPath": "microsoft.entityframeworkcore.relational.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3phHFN5lXktB6Id1D0tvojf9GohSyoTwCadVZmCeKEDVj2u2xR3hLtj+lf9mpmCC5FuLbcyVjepZgFFHazHjIA==", + "path": "microsoft.extensions.caching.abstractions/2.2.0", + "hashPath": "microsoft.extensions.caching.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dPJ4f6vOg9WdgWyrMMU5rRhOyQ7DxM7Ivxx8z80NeF2Xygi9g51MuxMOaZwxNClDcxvJ6ZsPKBH61B54LrnYRA==", + "path": "microsoft.extensions.caching.memory/2.2.0", + "hashPath": "microsoft.extensions.caching.memory.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Be1LEgclOQthHN7tksm79bGbXNJ0yuewEBiIzPSePwDwt2AGqLLx5iXv6BfjVZGztxKQCngz+X8IRw/kOz+CwA==", + "path": "microsoft.extensions.configuration/2.2.0", + "hashPath": "microsoft.extensions.configuration.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HT/cMUOHvJ29Z5VIlWp6Zd1F63k5CbpGisNk8ayP35GwKwX5IDsJL8hWMoBesz5WPK8ZfW4f47kyVAhfCD/PAw==", + "path": "microsoft.extensions.configuration.abstractions/2.2.0", + "hashPath": "microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MsSglnpg/8FoukGJ5CBKFxs2enCwrRd3ORx8bmhe3PHekeJeUzqhkQoOaAqyAt9wcF+myRTe1JcHLul4zj+zPA==", + "path": "microsoft.extensions.configuration.binder/2.2.0", + "hashPath": "microsoft.extensions.configuration.binder.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nIQTzgq/qwRTDvAP299SSrFeqXJHhPzw+a6tDPwhvWwcA095KrJYGhAwYy/aer6UB4Q9T7s5va6q7MhgrelrAg==", + "path": "microsoft.extensions.configuration.environmentvariables/2.2.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1cO9Ca+lLh7mRTbJYEXnGPqoVMt/71BM7zmcZx6VOFLEBAfpOej/isDtgqRYhDcMkLaS9vn9pXerp41fTO9y1w==", + "path": "microsoft.extensions.configuration.fileextensions/2.2.0", + "hashPath": "microsoft.extensions.configuration.fileextensions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vqJEFHHDVTDhjTTdX8QZWF75Hw9bFLbmRcjRbXtmQLrFBvcTzuS9w1jJGWjrgR1UQ7YpuJdhcDXzhxorqkR1Ig==", + "path": "microsoft.extensions.configuration.json/2.2.0", + "hashPath": "microsoft.extensions.configuration.json.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7JzIJyfA1Wr19ibRr67CoG3lFklnTkzhkJ6thWFcNrmZCgLf9oEqrED4Tz08y7F18wTWsWUnI52BCjraBGtPIA==", + "path": "microsoft.extensions.dependencyinjection/2.2.0", + "hashPath": "microsoft.extensions.dependencyinjection.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YZcHF0/+XeKv12ZEo+OmrAa6rNayjye0qvEjYSDIhN99StqxnS2gZpwkcCrH/8JuXxzzcDSVpZw5Bruz8xYfXQ==", + "path": "microsoft.extensions.dependencyinjection.abstractions/2.2.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KPT6CLH0VEGr2um9aG1rYTmqfMVlkRuueFpN6AxeIKpcMA4OVHf4aNpgYXZ6oF+x4uh9VhK/66FgPCd1mMlnQ==", + "path": "microsoft.extensions.dependencymodel/2.1.0", + "hashPath": "microsoft.extensions.dependencymodel.2.1.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zt//yhxTTxUMb70b44ZdUQiV/SLa+3xbVZuz/IzKloOX8rlUoU6itkhVC3gryos9ojAuPYwc2aiqejJLdqRDZA==", + "path": "microsoft.extensions.fileproviders.abstractions/2.2.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Composite/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztUs3ENypYt7tBh2hS1Vaq0kaJ3AoA6FERfFvK9chdQtk3KW7PfcDsJ14/q6JsEiPhLdtM8x1Afod+dNfaD3iA==", + "path": "microsoft.extensions.fileproviders.composite/2.2.0", + "hashPath": "microsoft.extensions.fileproviders.composite.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Embedded/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZgtUWhP8bsbiG62WoRvHZPzrxePv68z+jJ8W2rBLgiUv1QnopriVvM5+L/qsBZ7QXQJBnof/Rucd67RMRqhEXw==", + "path": "microsoft.extensions.fileproviders.embedded/2.0.0", + "hashPath": "microsoft.extensions.fileproviders.embedded.2.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lFYs3tCesMedXt/sUHIUlByH20qxi6DjSxOTyRvqT3YUMteqsVIGgjcF8zoVWMfvlv9/418Uk3eC3bFn8Qc+rA==", + "path": "microsoft.extensions.fileproviders.physical/2.2.0", + "hashPath": "microsoft.extensions.fileproviders.physical.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LcDxBQvSCyvYZqAncoXJmbueO7DbHyMzu/kwGwC8oyghBXkzHG69iT4IEO63EO3R5mylbhTyydAIyQC4rt/weQ==", + "path": "microsoft.extensions.filesystemglobbing/2.2.0", + "hashPath": "microsoft.extensions.filesystemglobbing.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tqXaCEeEeuDchJ482wwU2bHyu5UUksVrLyLsrvE9kPFYyPz7Hq17Ryq+faQP/zBCpnnqP/wqf3oSR0q60Py3HA==", + "path": "microsoft.extensions.hosting.abstractions/2.2.0", + "hashPath": "microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Http/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TKybhXvvLH2JAW+wPGVhEW2eRMHr1vm11m4OiikcZBFeqB+qrc6TPiZ5qVXyorlron5yk86s945yTIc+Zv2b3g==", + "path": "microsoft.extensions.http/2.2.0", + "hashPath": "microsoft.extensions.http.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTFKFSEPCni5Wq3/CamUtt52/BcJW+sRLevSEWci9vPB/0UVS225MeddXIeePsySLK/g/4w/hS7qaYsLbqe68w==", + "path": "microsoft.extensions.localization/2.2.0", + "hashPath": "microsoft.extensions.localization.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+hSkcuST/PvRHFfNUyVn/v0JreREgAfTVWaqNVoz9qrVw2pD1bw4Sq9B+TKl3qBT+7c2p+TAir54VtXcF9BzMg==", + "path": "microsoft.extensions.localization.abstractions/2.2.0", + "hashPath": "microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K90QPI39Sq4mNb0Femo/xV/YGj8KHpAOyqEqChloxteM021SAnFV+kxjUKMJqrvpTcMJiGPmv1Yj03QeiXatRg==", + "path": "microsoft.extensions.logging/2.2.0", + "hashPath": "microsoft.extensions.logging.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9/ERS0/w8MRdWYC9Nv230+2DIYbCv+jr5JwlVyFXrNRerKN9mHShlSfCUjq2S9Wa8ORsztbe5Txz2CuA8pr2bA==", + "path": "microsoft.extensions.logging.abstractions/2.2.0", + "hashPath": "microsoft.extensions.logging.abstractions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-82ySQcYum1Y/bOxhD3xbr5HYowt4wO+rn0Gh+qQ7W1VSwq4gEcHS9e0jJ8wW18BL3N3xTKxkfMvEjS5Zm3wTyg==", + "path": "microsoft.extensions.objectpool/2.2.0", + "hashPath": "microsoft.extensions.objectpool.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-onhaA2X0DkQmyybJhbTHO+63NnO90nIPHTC9a+1QLTM1hT934DM80OvgwKubEIQuPyvSHD6X1Q01PSTJRNHo8w==", + "path": "microsoft.extensions.options/2.2.0", + "hashPath": "microsoft.extensions.options.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-D+KBXqy9m+64xmVb5SK6rgiq79eYMeJOrQ1OdJRpkcEDiUhKuc9NfewLvRVZUfNDXC3KeZeaSkOPwi51dPf9wg==", + "path": "microsoft.extensions.options.configurationextensions/2.2.0", + "hashPath": "microsoft.extensions.options.configurationextensions.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Sv8EDHvN2852bE5G1yosKCa7sUw/x0Z/rCaI5LIWHseAXprG1h9oberAh3NRBO7w2zTZq79WPeQDMsPBVSf99w==", + "path": "microsoft.extensions.primitives/2.2.0", + "hashPath": "microsoft.extensions.primitives.2.2.0.nupkg.sha512" + }, + "Microsoft.Extensions.WebEncoders/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ln302kWXi6HbrUxCuU9MIFviUAVBIiWL69Cte47cSholoqn+EQytBEF+jPx0x5d+he/btmomvWC10LS7AKWHGQ==", + "path": "microsoft.extensions.webencoders/2.2.0", + "hashPath": "microsoft.extensions.webencoders.2.2.0.nupkg.sha512" + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yFn57woR2lfjUfcoqrc+F8hbmsjTLNu+14FIiGGMUTfvQtZE6xJRwFntp4oMJi99KpMHYX5MOS0mmjRSEwGtLw==", + "path": "microsoft.net.http.headers/2.2.0", + "hashPath": "microsoft.net.http.headers.2.2.0.nupkg.sha512" + }, + "Microsoft.NET.Test.Sdk/16.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DaUwam5OX68Roubcr76OQ8Cb9Rkq5BOL3/NUtgFWfqJ+9ceiLqtvOClgobx1HTNhKZ62driQUikqv++vnSs4mA==", + "path": "microsoft.net.test.sdk/16.0.1", + "hashPath": "microsoft.net.test.sdk.16.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bLpT1f/SFlO1CzqXG12KnJzpZs6lv24uX2Rzi4Fmm0noJpNlnWRVryuO3yK18Ca04t/YHcO1e1Z0WDfjseqNzw==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vduxuHEqRgRrTE8wYG8Wxj/+6wwzddOmZzjKZx6rFMc/91aUBxI5etAFYxesoNaIja5NpgSTcnk6cN8BeYXf9A==", + "path": "microsoft.win32.registry/4.5.0", + "hashPath": "microsoft.win32.registry.4.5.0.nupkg.sha512" + }, + "MQiniu.Core/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAmfkDi2H3qnNzyYBFqyvK8SbTENg5cMaMD/ZV+HLW/yuXQo4yhREvWrTQ5QuzVmAgJt9SNEgDVV6oJdupKHYw==", + "path": "mqiniu.core/1.0.1", + "hashPath": "mqiniu.core.1.0.1.nupkg.sha512" + }, + "MQTTnet/2.8.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-scNRIWxjuceFixHkwUkofWw354Az/95T8SW3eAk+edH2caMzihDbzdl3IWQf/mSiEB+5pVnOEWMNMnAZ8d4YHA==", + "path": "mqttnet/2.8.5", + "hashPath": "mqttnet.2.8.5.nupkg.sha512" + }, + "MySqlConnector/0.56.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Y21/6GzG6AD6xWNWn2vzQPCc3t3ahg4U1M1qJpYpyj7zjMB0qDnPoa5amwpz9fKuEHmKrkp4rDv77xhrSPlC+g==", + "path": "mysqlconnector/0.56.0", + "hashPath": "mysqlconnector.0.56.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/12.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mtweBXPWhp1CMQATtBT7ZfMZrbZBTKfjGwz6Y75NwGjx/GztDaUnfw8GK9KZ2T4fDIqKJyDjc9Rxlw5+G2FcVA==", + "path": "newtonsoft.json/12.0.2", + "hashPath": "newtonsoft.json.12.0.2.nupkg.sha512" + }, + "Newtonsoft.Json.Bson/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W5Ke5xei9yS0ljQZuT75VgSp5M43eCPm5hHAelvKyGGU4dV7hYCmtwdsxoADb/exO6pYHeu/Iki43TdYPzfESQ==", + "path": "newtonsoft.json.bson/1.0.1", + "hashPath": "newtonsoft.json.bson.1.0.1.nupkg.sha512" + }, + "NLog/4.5.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7TI+dYvEIOcCN6fjr3yjMN5AtPBSbHNxKGmn/5rkqbBk81MGsnQBkParoGOidibDIe3dwThJJndxl7O3zmd3rA==", + "path": "nlog/4.5.11", + "hashPath": "nlog.4.5.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FvCGr0FSntm9a8z/QaZv9+01LmEXh9NZ44BExArAn+kwyhPJCze5lnPekoHo0iWUKnwNtJFUo/9XOjFfIs0GXQ==", + "path": "nlog.extensions.logging/1.4.0", + "hashPath": "nlog.extensions.logging.1.4.0.nupkg.sha512" + }, + "Polly/7.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NeiMizU89Ga9BSnYDHduzPNxd0JvmLqEPgPtsJHXVg6kvAUpif08rUZtWq9q+6vrbEPdofC7nKr0HTbA+sU4DA==", + "path": "polly/7.1.0", + "hashPath": "polly.7.1.0.nupkg.sha512" + }, + "Remotion.Linq/2.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-twDAH8dAXXCAf3sRv1Tf94u66eEHvgU75hfn1nn2v4fSWXD50XoDOAk8WpSrbViNuMkB4kN1ElnOGm1c519IHg==", + "path": "remotion.linq/2.2.0", + "hashPath": "remotion.linq.2.2.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jwcVUu4ELwy6ObG6ChIFz3PeRH1mKZW65o+FellG99FUwCmnnjdGkIFnVoeHPIvyue/lf1y9Zgw2axylGCP38g==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oTXKD09aSTGbWlK39DOPil/EOH7fJvKebL9jo8OjeytcUcnK9WLsQeRw+6KBBgNiRlvFaRW+eC1sdXeKphleRg==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LyTiy6iKlrsjhI4UBIeORHimVkI4e3t2qkAHWH/nxNggjL3lPT7WX40Ncc1oi/wWvmbcX3vPhMeyzPGzxQWwtA==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xu7AUFtXuxEspQPI5nKCDEiEcbRmE5FTIO0qE1r0qA9v1OoawQZnbWmsnrdYaO8vlSixXMedPv1U6916STjPnQ==", + "path": "runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "runtime.native.System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "path": "runtime.native.system.io.compression/4.3.0", + "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Security/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-M2nN92ePS8BgQ2oi6Jj3PlTUzadYSIWLdZrHY1n1ZcW9o4wAQQ6W+aQ2lfq1ysZQfVCgDwY58alUdowrzezztg==", + "path": "runtime.native.system.net.security/4.3.0", + "hashPath": "runtime.native.system.net.security.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o0rS2+Z+/K6X/L6levOGswZgqYq4IppWwNyiQTFuZzz3om4Zxu+2txF8wnH98gh0G6b4RHriVMkay6Pdt9KSOg==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zghz4HAA35jmQL0mXpadSpI2U1zuJpnFNj86spdVew11YmBVeZXy7hY8/wX8K6ki1mug5MsoUh+EHn1UarO2Pg==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v3VMGmbNcNwb041U/mdendRwQX67pi4veeJ4vo8GzDSW/1jtkNMLXdTT7+qazL0J6xfNh76IKVHA/fuDPDcfcA==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CjjyXodztYFVtdP5T4SbkzU9CAnaViKLjrq1yXbmRYylDrWjisykyJQGeObpUh+1euSHM398vy6niTrp4/Q5NQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KunbS3GbMfp+QMYPUscAOPyGaOApz04dEg/ejClWMdawggfXAYoik3t5VGAWxWDIlOJ91uvAHV4PZ3Vn5rLE8g==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zUt7p0TegAhlIatnytLbMIXUiDiNPZy4PZlGOJ8PTHhFOb86T/uNTzNHxceBOq3vlbNV/SVj4wyUiog8J7lShw==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1/woqfYA5HHtzgmJwBxIXU4qfplVH1MUE6+nUDmkAE1OLCfoiXbWVDJjWjIdhjFqPGza68ey/vpCFBtk9PENZg==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X+DmqHjv9Zz+JKjVevURQFdtjg/sSYjkiSwjPEezo+7SfewHKmwNVd1hV3fNnOP+VFxTU7SpUok3atC5QI7Uvg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==", + "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==", + "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==", + "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0", + "hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512" + }, + "SafeObjectPool/2.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9RW1PHNsZSX8GRxJPHspvA3AyV61iv4cDUKrtjJS2I61rV+e3G8s3hDoHQgo0XkeNSYbI1n4UmPX6VpAeofjQA==", + "path": "safeobjectpool/2.0.2", + "hashPath": "safeobjectpool.2.0.2.nupkg.sha512" + }, + "SharpZipLib/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-38egGevtPMQn/6olZZUteKUC7+BD47LdCGKo9Vyj17+HWDwiqPXsyJu55q9WSybhwVKwt0q2FLhiuJjZfQpsHw==", + "path": "sharpziplib/1.0.0", + "hashPath": "sharpziplib.1.0.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k8TzWTpjwO+4xXsMaaAsAPAdYKyM5wuRvSP+ZmgtyXwhW45ChBVq3xdVJ8Tz+hQ0ziBZSh5p6r2dkRN6SyasVA==", + "path": "swashbuckle.aspnetcore/4.0.1", + "hashPath": "swashbuckle.aspnetcore.4.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2+dXBiOvwjNmkMkBOqGU9ShBJXQp6+UN/Kxfk3HLxwsof9zzgRZ+3rOdjHQuYiY7t1Nl7wlCgn9HbmJyZGhdaQ==", + "path": "swashbuckle.aspnetcore.swagger/4.0.1", + "hashPath": "swashbuckle.aspnetcore.swagger.4.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-opm/wgG8u987ZuAUtL1E8XrJig+UbGYbFmz8VnA8Vn3AqZyQZy4k243X9egz1iWl/B6sNcgMlFyv3wkdmjJX6g==", + "path": "swashbuckle.aspnetcore.swaggergen/4.0.1", + "hashPath": "swashbuckle.aspnetcore.swaggergen.4.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EjPeIYSMLr5FrY4sVJiWrzIQe07Hriv8tOztJa7US88im/tO+tX70y7OJ2Cr8QYojc7IotjZSH1lD8j44DLnrQ==", + "path": "swashbuckle.aspnetcore.swaggerui/4.0.1", + "hashPath": "swashbuckle.aspnetcore.swaggerui.4.0.1.nupkg.sha512" + }, + "System.AppContext/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "path": "system.appcontext/4.3.0", + "hashPath": "system.appcontext.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xpHYjjtyTEpzMwtSQBWdVc3dPjLdQtvyUg6fBlBqcLl1r2Y7gDG/W/enAYOB98nG3oD3Q153Y2FBO8JDWd+0Xw==", + "path": "system.buffers/4.5.0", + "hashPath": "system.buffers.4.5.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.Immutable/1.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RGxi2aQoXgZ5ge0zxrKqI4PU9LrYYoLC+cnEnWXKsSduCOUhE1GEAAoTexUVT8RZOILQyy1B27HC8Xw/XLGzdQ==", + "path": "system.collections.immutable/1.5.0", + "hashPath": "system.collections.immutable.1.5.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/D3jtX0+u5+6rS3RGvTMyICPpIuzBgqtUYLjK1aXLua0nWH4JpM1H/tRk1Uxs6Fo0fe22jyJaTpoXPSu0il8Ug==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Annotations/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IjDa643EO77A4CL9dhxfZ6zzGu+pM8Ar0NYPRMN3TvDiga4uGDzFHOj/ArpyNxxKyO5IFT2LZ0rK3kUog7g3jA==", + "path": "system.componentmodel.annotations/4.5.0", + "hashPath": "system.componentmodel.annotations.4.5.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Console/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "path": "system.console/4.3.0", + "hashPath": "system.console.4.3.0.nupkg.sha512" + }, + "System.Data.SqlClient/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuMDT9o4j0n3XnH7o7EYliyjUYPQ4RBo9tTNA+M6/KQKMcKXKGqHoq2gCb2sEHCRs5HjTwRlwT/F1JVdYaNaDA==", + "path": "system.data.sqlclient/4.4.0", + "hashPath": "system.data.sqlclient.4.4.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UumL3CJklk5WyEt0eImPmjeuyY1JgJ7Thmg2hAeZGKCv+9iuuAsoc2wcXjypdo3J8VNEmVCH2Bgn/kIw8NI2bA==", + "path": "system.diagnostics.diagnosticsource/4.5.0", + "hashPath": "system.diagnostics.diagnosticsource.4.5.0.nupkg.sha512" + }, + "System.Diagnostics.FileVersionInfo/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OEshwk5wkdxtGkFZYSErv6dnUuz0z8C01htylGwOwFnCVFRcrvleBtplMDCk9nMyWP41cbMZGEIBfy7HV1Loug==", + "path": "system.diagnostics.fileversioninfo/4.3.0", + "hashPath": "system.diagnostics.fileversioninfo.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.StackTrace/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiHg0vgtd35/DM9jvtaC1eKRpWZxr0gcQd643ABG7GnvSlf5pOkY2uyd42mMOJoOmKvnpNj0F4tuoS1pacTwYw==", + "path": "system.diagnostics.stacktrace/4.3.0", + "hashPath": "system.diagnostics.stacktrace.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Drawing.Common/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m3c7Fe/CS/jZ/nLBrxCCh52dYiC33GPbGfcF4CiVukb8+p121XUTHxs6sYKbWfvDVD8JssHcM+HVFLtzl3X3Xw==", + "path": "system.drawing.common/4.5.1", + "hashPath": "system.drawing.common.4.5.1.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.Interactive.Async/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-T3nigy9yShklMyVu7I2TvlVMRy2vUn9oQeBaRy0KZcOptyy+rUbekYaXxoa3s0h2tWT3UVtzrGkQC89CBbCtlg==", + "path": "system.interactive.async/3.2.0", + "hashPath": "system.interactive.async.3.2.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "path": "system.io.compression/4.3.0", + "hashPath": "system.io.compression.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.IO.Pipelines/4.5.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hKbZx0AW9N6OLeXrgdrKJH5k8goImfd89EuvRtZRv6v7qBhwRX1mXEASYkoYIenmNrVtj0HYv4/Rk68t1e3agA==", + "path": "system.io.pipelines/4.5.2", + "hashPath": "system.io.pipelines.4.5.2.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Linq.Queryable/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", + "path": "system.linq.queryable/4.0.1", + "hashPath": "system.linq.queryable.4.0.1.nupkg.sha512" + }, + "System.Memory/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vcG3/MbfpxznMkkkaAblJi7RHOmuP7kawQMhDgLSuA1tRpRQYsFSCTxRSINDUgn2QNn2jWeLxv8er5BXbyACkw==", + "path": "system.memory/4.5.1", + "hashPath": "system.memory.4.5.1.nupkg.sha512" + }, + "System.Net.NameResolution/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DPvMSdd32CbEOCTtOpO4nY9UvbP6LJe375F1yEQjy667WT5LEh1Ek2T4DSVw1STR0K3LSawWfBFwoeSG0TXFeA==", + "path": "system.net.nameresolution/4.3.0", + "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "System.Net.Security/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SSkQ3Hsy8kvhET4fY8vu+cWkfx2lcZDDUSuzr+3hzRgHM6jtwm3nZXqIPCYcnDl4eL/i/ECmruCXdAiXaIrc4Q==", + "path": "system.net.security/4.3.2", + "hashPath": "system.net.security.4.3.2.nupkg.sha512" + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebHeaderCollection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/aQLXlO/M2SjvKjMyX15IRHK/BJgb4qE1FZGZPjnFxhE7jHwduu65TMuVsyKxUOhYQg/2cr9zpm0olhD1icjTw==", + "path": "system.net.webheadercollection/4.3.0", + "hashPath": "system.net.webheadercollection.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K92jUrnqIfzBr8IssbulQetz8f2gAs2XC2jyVWbUvr+804YWv6LIksBIz84WV7HStpluw3RQTcHxd3+C5zIewA==", + "path": "system.net.websockets/4.3.0", + "hashPath": "system.net.websockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets.Client/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wmWSeBJ+7j7cWyTInHZ5OXzRuKh+2LDZ9psG1UYw1BzNZcbYBxe7KBMaDLSIOD1wn1uFDLRGG4+vLqKj7n/Z+w==", + "path": "system.net.websockets.client/4.3.2", + "hashPath": "system.net.websockets.client.4.3.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gdRrUJs1RrjW3JB5p82hYjA67xoeFLvh0SdSIWjTiN8qExlbFt/RtXwVYNc5BukJ/f9OKzQQS6gakzbJeHTqHg==", + "path": "system.numerics.vectors/4.4.0", + "hashPath": "system.numerics.vectors.4.4.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Metadata/1.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I4aWCii7N1bmn43vviRfJQYW6UAco1G/CcjJouvgGdb/sr2BRTSnddhaPMg2oxu9VHFn8T1z3dTLq0pna8zmtA==", + "path": "system.reflection.metadata/1.6.0", + "hashPath": "system.reflection.metadata.1.6.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oRC4IBj4y7gcY9UXxTcIvBLhRJuntL6CfPWazTmtY4dXoXpRS6pI2Y+tu07+p2bUn5abyd5wf5LvpnyrDZdTsQ==", + "path": "system.reflection.typeextensions/4.5.1", + "hashPath": "system.reflection.typeextensions.4.5.1.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hMkdWxksypQlFXB7JamQegDscxEAQO4FHd/lw/zlSZU9dZgAij65xjCrXer183wvoNAzJic5zzjj2oc9/dloWg==", + "path": "system.runtime.compilerservices.unsafe/4.5.2", + "hashPath": "system.runtime.compilerservices.unsafe.4.5.2.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", + "path": "system.runtime.interopservices.runtimeinformation/4.0.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6RQtcT+TyDgLUFsAnmmdfRRGdLYKxSZGkSPOd052tvYFxOTMaQb6ANlwhGqZtNO52PosaCoXu7uatFneujAxmA==", + "path": "system.security.accesscontrol/4.5.0", + "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" + }, + "System.Security.Claims/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "path": "system.security.claims/4.3.0", + "hashPath": "system.security.claims.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-07fZJgFAgCati1lQEbO67EMEhm+fPenFqiSjwCwFssnmYQrLGA48lqiWilGLbuwb+nmflfodj1jgIQYI4g7LXA==", + "path": "system.security.cryptography.cng/4.4.0", + "hashPath": "system.security.cryptography.cng.4.4.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Pkcs/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1vv2x8cok3NAolee/nb6X/6PnTx+OBKUM3kt1Rlgg04uQ+IMwjc88xFIfJdwbYcvjlOtzT7CHba1pqVAu9tj/w==", + "path": "system.security.cryptography.pkcs/4.5.0", + "hashPath": "system.security.cryptography.pkcs.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Xml/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X+/taLXTKYziKvWE4ZEyhpY0QQ17fm9eW70cvMCE6LAsWYqdv708i0HJeSVy7/5R5547GR/CEGOjUkYq6bJfPg==", + "path": "system.security.cryptography.xml/4.5.0", + "hashPath": "system.security.cryptography.xml.4.5.0.nupkg.sha512" + }, + "System.Security.Permissions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-O+e9qamSTJ4YOJCpnLgsf9FTGfsxJv2On1OdYkhmd/XA5AYRvUatkz7Rp3dS9XR7rhVuklnjST1dRoMK7N4cGw==", + "path": "system.security.permissions/4.5.0", + "hashPath": "system.security.permissions.4.5.0.nupkg.sha512" + }, + "System.Security.Principal/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "path": "system.security.principal/4.3.0", + "hashPath": "system.security.principal.4.3.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WA9ETb/pY3BjnxKjBUHEgO59B7d/nnmjHFsqjJ2eDT780nD769CT1/bw2ia0Z6W7NqlcqokE6sKGKa6uw88XGA==", + "path": "system.security.principal.windows/4.5.0", + "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Eu3dyUUqDFkuskrrK54VLWC41EVANJNo5vzjojnGAphH+FV63NJg3zs5x0TvRaYDTZ2y+86eIOK43Hg2NXiw7w==", + "path": "system.text.encoding.codepages/4.5.1", + "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JF+wDdfFiRl3rz3dPMfR6aR568AW2J5CUMmhSflgHDz4zbVK4/00ax8UHnHyEMvblPewgNugjuA4oyoL8Pex2g==", + "path": "system.text.encodings.web/4.5.0", + "hashPath": "system.text.encodings.web.4.5.0.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rckdhLJtzQ3EI+0BGuq7dUVtCSnerqAoAmL3S6oMRZ4VMZTL3Rq9DS8IDW57c6PYVebA4O0NbSA1BDvyE18UMA==", + "path": "system.threading.tasks.extensions/4.5.1", + "hashPath": "system.threading.tasks.extensions.4.5.1.nupkg.sha512" + }, + "System.Threading.Tasks.Parallel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wn3GV5YIWjxvv9muD9FSZxH4PLx98Y4D1Z5mpYTowK1RLPtFvusnVKnT0OzmzEpYCMtVNgqfk3kPc9xRGsWrLA==", + "path": "system.threading.tasks.parallel/4.3.0", + "hashPath": "system.threading.tasks.parallel.4.3.0.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + }, + "System.ValueTuple/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xZtSZNEHGa+tGsKuP4sh257vxJ/yemShz4EusmomkynMzuEDDjVaErBNewpzEF6swUgbcrSQAX3ELsEp1zCOwA==", + "path": "system.valuetuple/4.5.0", + "hashPath": "system.valuetuple.4.5.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xsnq6w3/S+NeYkUtxoCEDAn2Z+AkgvGLvJnslrTRte4jEU+fkR3DVG+s0sBmQYQ4c3r8949PaGg8AnRb9bBc2w==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XPath/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8Eo7vuasWRqXfiBRCIKz20Rq1h6n+NMp6nW2RmyUwF4VDekg8xbRZu8S3N21P5XGAhv+kaqUwI3xydEkcw+D5w==", + "path": "system.xml.xpath/4.3.0", + "hashPath": "system.xml.xpath.4.3.0.nupkg.sha512" + }, + "System.Xml.XPath.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jw9oHHEIVW53mHY9PgrQa98Xo2IZ0ZjrpdOTmtvk+Rvg4tq7dydmxdNqUvJ5YwjDqhn75mBXWttWjiKhWP53LQ==", + "path": "system.xml.xpath.xdocument/4.3.0", + "hashPath": "system.xml.xpath.xdocument.4.3.0.nupkg.sha512" + }, + "TinyMapper/3.0.2-beta": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2vo0gmu2XO6zvCfBIdtNeSF6LnohI28gb72T5pXjxJgtagLx+u0aR88zc85zxyexNfOBHzuH/LoMAAtWovQI9Q==", + "path": "tinymapper/3.0.2-beta", + "hashPath": "tinymapper.3.0.2-beta.nupkg.sha512" + }, + "TinyPinyin.Core.Standard/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m2T+sm1fY5eOVmI+wo1NPdmryHSoY91x4IWzcvbD1m9wep5iIe74nnpUnujQZX6zV0PMHTIUhMmyXAISqVoAbw==", + "path": "tinypinyin.core.standard/1.0.0", + "hashPath": "tinypinyin.core.standard.1.0.0.nupkg.sha512" + }, + "xunit/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OwBhpez9SRZvEjqic3WVbACu2wsi9u5qi+YpzVg6BTL3R25R/6ytM4UkUTnx+dSZDJ3IUPx+99CX/YXnxrQAWA==", + "path": "xunit/2.4.1", + "hashPath": "xunit.2.4.1.nupkg.sha512" + }, + "xunit.abstractions/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PKJri5f0qEQPFvgY6CZR9XG8JROlWSdC/ZYLkkDQuID++Egn+yWjB+Yf57AZ8U6GRlP7z33uDQ4/r5BZPer2JA==", + "path": "xunit.abstractions/2.0.3", + "hashPath": "xunit.abstractions.2.0.3.nupkg.sha512" + }, + "xunit.analyzers/0.10.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Uw6EqkOmt0IystUtzkU4U8ixCEz+piqgczyoPT00RwPDsWHtWwzedjsBQTS6P1h2+uwDF6w5UpYt5/SSE7eexQ==", + "path": "xunit.analyzers/0.10.0", + "hashPath": "xunit.analyzers.0.10.0.nupkg.sha512" + }, + "xunit.assert/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xWgCZQSBeM9C7Ak+VuzGsQr7K5ODLVsXK3g2sDD38/3Ljom2IbWJPudG8+IsspgvfpGh0g9Oe5vLc8U+izjieQ==", + "path": "xunit.assert/2.4.1", + "hashPath": "xunit.assert.2.4.1.nupkg.sha512" + }, + "xunit.core/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8taMlAQy9qQ7Tbiqr2TAwGkU+X0sckQ+96j7R9OX/Ut1gmHEa4QYIrI8c15j3iKTj3XzyQMVohkTMWa80BRf6w==", + "path": "xunit.core/2.4.1", + "hashPath": "xunit.core.2.4.1.nupkg.sha512" + }, + "xunit.extensibility.core/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qkdxGfxdsAurEFsr8z6LfoBRVb4Vcbeyk1wF+MRrObruwOtl7O+ihQUEHX8fnZnlUFsY6kR+9tcweomLsocR1A==", + "path": "xunit.extensibility.core/2.4.1", + "hashPath": "xunit.extensibility.core.2.4.1.nupkg.sha512" + }, + "xunit.extensibility.execution/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gc8TxVPew3+Hy6qJTs70JHirtSt5ky380gxC8QF+VmWOs6EdWGlo9xm3URkm+gPbE9roVVfnrw5AuqFNr4R52Q==", + "path": "xunit.extensibility.execution/2.4.1", + "hashPath": "xunit.extensibility.execution.2.4.1.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/bin/Release/netstandard2.0/nlog.config b/Infrastructure/Hncore.Infrastructure/bin/Release/netstandard2.0/nlog.config new file mode 100644 index 0000000..8ea310b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/bin/Release/netstandard2.0/nlog.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/nlog.config b/Infrastructure/Hncore.Infrastructure/nlog.config new file mode 100644 index 0000000..8ea310b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/nlog.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs new file mode 100644 index 0000000..8bf3a42 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")] diff --git a/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.AssemblyInfo.cs b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.AssemblyInfo.cs new file mode 100644 index 0000000..e1f4052 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Hncore.Infrastructure")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+100b484a3ddcc1398a9ee6e4abc79c3dbc55f444")] +[assembly: System.Reflection.AssemblyProductAttribute("Hncore.Infrastructure")] +[assembly: System.Reflection.AssemblyTitleAttribute("Hncore.Infrastructure")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// 由 MSBuild WriteCodeFragment 类生成。 + diff --git a/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..fbf6a23 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,5 @@ +is_global = true +build_property.RootNamespace = Hncore.Infrastructure +build_property.ProjectDir = d:\www\juipnet\Infrastructure\Hncore.Infrastructure\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.csproj.FileListAbsolute.txt b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..85e371c --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Debug/netstandard2.0/Hncore.Infrastructure.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\nlog.config +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\Hncore.Infrastructure.deps.json +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\Hncore.Infrastructure.dll +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\Hncore.Infrastructure.pdb +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.csprojAssemblyReference.cache +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.csproj.CoreCompileInputs.cache +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.AssemblyInfoInputs.cache +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.AssemblyInfo.cs +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.dll +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.pdb +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\nlog.config +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\Hncore.Infrastructure.deps.json +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\Hncore.Infrastructure.dll +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Debug\netstandard2.0\Hncore.Infrastructure.pdb +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.csproj.CoreCompileInputs.cache +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.AssemblyInfoInputs.cache +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.AssemblyInfo.cs +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.dll +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.pdb +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Debug\netstandard2.0\Hncore.Infrastructure.csprojAssemblyReference.cache diff --git a/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.dgspec.json b/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.dgspec.json new file mode 100644 index 0000000..729dc4e --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.dgspec.json @@ -0,0 +1,200 @@ +{ + "format": 1, + "restore": { + "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj": {} + }, + "projects": { + "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj", + "projectName": "Hncore.Infrastructure", + "projectPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj", + "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", + "outputPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], + "configFilePaths": [ + "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "AngleSharp": { + "target": "Package", + "version": "[0.12.1, )" + }, + "Autofac": { + "target": "Package", + "version": "[4.9.1, )" + }, + "Autofac.Extensions.DependencyInjection": { + "target": "Package", + "version": "[4.4.0, )" + }, + "Bogus": { + "target": "Package", + "version": "[26.0.1, )" + }, + "CSRedisCore": { + "target": "Package", + "version": "[3.0.60, )" + }, + "Dapper": { + "target": "Package", + "version": "[1.60.6, )" + }, + "DotNetCore.NPOI": { + "target": "Package", + "version": "[1.2.1, )" + }, + "JWT": { + "target": "Package", + "version": "[5.0.1, )" + }, + "MQTTnet": { + "target": "Package", + "version": "[2.8.5, )" + }, + "MQiniu.Core": { + "target": "Package", + "version": "[1.0.1, )" + }, + "Microsoft.AspNetCore.Mvc": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.Mvc.Versioning": { + "target": "Package", + "version": "[3.1.2, )" + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": { + "target": "Package", + "version": "[3.2.0, )" + }, + "Microsoft.AspNetCore.TestHost": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Configuration.Json": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Http": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.NET.Test.Sdk": { + "target": "Package", + "version": "[16.0.1, )" + }, + "MySqlConnector": { + "target": "Package", + "version": "[0.56.0, )" + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "NLog.Extensions.Logging": { + "target": "Package", + "version": "[1.4.0, )" + }, + "Polly": { + "target": "Package", + "version": "[7.1.0, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[4.0.1, )" + }, + "System.Drawing.Common": { + "target": "Package", + "version": "[4.5.1, )" + }, + "System.Text.Encoding.CodePages": { + "target": "Package", + "version": "[4.5.1, )" + }, + "TinyMapper": { + "target": "Package", + "version": "[3.0.2-beta, )" + }, + "TinyPinyin.Core.Standard": { + "target": "Package", + "version": "[1.0.0, )" + }, + "aliyun-net-sdk-core": { + "target": "Package", + "version": "[1.5.3, )" + }, + "xunit": { + "target": "Package", + "version": "[2.4.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.g.props b/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.g.props new file mode 100644 index 0000000..4c8e944 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.g.props @@ -0,0 +1,28 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Administrator\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files\dotnet\sdk\NuGetFallbackFolder + PackageReference + 6.9.1 + + + + + + + + + + + + + + C:\Users\Administrator\.nuget\packages\xunit.analyzers\0.10.0 + C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.codeanalysis.analyzers\1.1.0 + C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.razor.design\2.2.0 + + \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.g.targets b/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.g.targets new file mode 100644 index 0000000..bac1e40 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Hncore.Infrastructure.csproj.nuget.g.targets @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs b/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs new file mode 100644 index 0000000..45b1ca0 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] diff --git a/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/Hncore.Infrastructure.AssemblyInfo.cs b/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/Hncore.Infrastructure.AssemblyInfo.cs new file mode 100644 index 0000000..fe983f0 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/Hncore.Infrastructure.AssemblyInfo.cs @@ -0,0 +1,16 @@ +//------------------------------------------------------------------------------ +// +// 由 MSBuild WriteCodeFragment 类生成。 +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Hncore.Infrastructure")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Hncore.Infrastructure")] +[assembly: System.Reflection.AssemblyTitleAttribute("Hncore.Infrastructure")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/Hncore.Infrastructure.csproj.FileListAbsolute.txt b/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/Hncore.Infrastructure.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..2b21d09 --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/Release/netstandard2.0/Hncore.Infrastructure.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\nlog.config +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\Hncore.Infrastructure.deps.json +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\Hncore.Infrastructure.dll +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\Hncore.Infrastructure.pdb +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.csprojAssemblyReference.cache +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.csproj.CoreCompileInputs.cache +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.AssemblyInfoInputs.cache +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.AssemblyInfo.cs +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.dll +D:\test\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.pdb +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\nlog.config +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\Hncore.Infrastructure.deps.json +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\Hncore.Infrastructure.dll +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\bin\Release\netstandard2.0\Hncore.Infrastructure.pdb +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.csproj.CoreCompileInputs.cache +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.AssemblyInfoInputs.cache +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.AssemblyInfo.cs +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.dll +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.pdb +D:\www\juipnet\Infrastructure\Hncore.Infrastructure\obj\Release\netstandard2.0\Hncore.Infrastructure.csprojAssemblyReference.cache diff --git a/Infrastructure/Hncore.Infrastructure/obj/project.assets.json b/Infrastructure/Hncore.Infrastructure/obj/project.assets.json new file mode 100644 index 0000000..cc1ad5b --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/obj/project.assets.json @@ -0,0 +1,11096 @@ +{ + "version": 3, + "targets": { + ".NETStandard,Version=v2.0": { + "aliyun-net-sdk-core/1.5.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/aliyun-net-sdk-core.dll": {} + }, + "runtime": { + "lib/netstandard2.0/aliyun-net-sdk-core.dll": {} + } + }, + "AngleSharp/0.12.1": { + "type": "package", + "dependencies": { + "System.Text.Encoding.CodePages": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/AngleSharp.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/AngleSharp.dll": { + "related": ".xml" + } + } + }, + "Autofac/4.9.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Autofac.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Autofac.dll": { + "related": ".pdb;.xml" + } + } + }, + "Autofac.Extensions.DependencyInjection/4.4.0": { + "type": "package", + "dependencies": { + "Autofac": "4.9.1", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.1.0" + }, + "compile": { + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.dll": { + "related": ".pdb;.xml" + } + } + }, + "Bogus/26.0.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Bogus.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Bogus.dll": { + "related": ".pdb;.xml" + } + } + }, + "CSRedisCore/3.0.60": { + "type": "package", + "dependencies": { + "Newtonsoft.Json": "12.0.2", + "SafeObjectPool": "2.0.2", + "System.ValueTuple": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/CSRedisCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/CSRedisCore.dll": { + "related": ".xml" + } + } + }, + "Dapper/1.60.6": { + "type": "package", + "dependencies": { + "System.Data.SqlClient": "4.4.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.TypeExtensions": "4.4.0" + }, + "compile": { + "lib/netstandard2.0/Dapper.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Dapper.dll": { + "related": ".xml" + } + } + }, + "DotNetCore.NPOI/1.2.1": { + "type": "package", + "dependencies": { + "DotNetCore.NPOI.Core": "1.2.1", + "DotNetCore.NPOI.OpenXml4Net": "1.2.1", + "DotNetCore.NPOI.OpenXmlFormats": "1.2.1" + }, + "compile": { + "lib/netstandard2.0/NPOI.OOXML.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NPOI.OOXML.dll": {} + } + }, + "DotNetCore.NPOI.Core/1.2.1": { + "type": "package", + "dependencies": { + "SharpZipLib": "1.0.0", + "System.Drawing.Common": "4.5.0", + "System.Text.Encoding.CodePages": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/NPOI.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NPOI.dll": {} + } + }, + "DotNetCore.NPOI.OpenXml4Net/1.2.1": { + "type": "package", + "dependencies": { + "DotNetCore.NPOI.Core": "1.2.1" + }, + "compile": { + "lib/netstandard2.0/NPOI.OpenXml4Net.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NPOI.OpenXml4Net.dll": {} + } + }, + "DotNetCore.NPOI.OpenXmlFormats/1.2.1": { + "type": "package", + "dependencies": { + "DotNetCore.NPOI.OpenXml4Net": "1.2.1" + }, + "compile": { + "lib/netstandard2.0/NPOI.OpenXmlFormats.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NPOI.OpenXmlFormats.dll": {} + } + }, + "JWT/5.0.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.ComponentModel.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.5.1", + "System.Security.Cryptography.Csp": "4.3.0" + }, + "compile": { + "lib/netstandard1.3/JWT.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/JWT.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Antiforgery/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.DataProtection": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Cors/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Cryptography.Internal/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.DataProtection/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Cryptography.Internal": "2.2.0", + "Microsoft.AspNetCore.DataProtection.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Win32.Registry": "4.5.0", + "System.Security.Cryptography.Xml": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Hosting/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "2.2.0", + "Microsoft.Extensions.Configuration.FileExtensions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.FileProviders.Physical": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Reflection.Metadata": "1.6.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Html.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Newtonsoft.Json": "11.0.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Localization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Localization.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Localization.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Analyzers": "2.2.0", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.2.0", + "Microsoft.AspNetCore.Mvc.Cors": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.AspNetCore.Mvc.Localization": "2.2.0", + "Microsoft.AspNetCore.Mvc.Razor.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.RazorPages": "2.2.0", + "Microsoft.AspNetCore.Mvc.TagHelpers": "2.2.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "2.2.0", + "Microsoft.AspNetCore.Razor.Design": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Analyzers/2.2.0": { + "type": "package" + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Core": "2.2.0", + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.DependencyModel": "2.1.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Cors/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Cors": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Cors.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Cors.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Localization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Localization": "2.2.0", + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Localization": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Localization.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Localization.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Razor/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "2.2.0", + "Microsoft.AspNetCore.Razor.Runtime": "2.2.0", + "Microsoft.CodeAnalysis.CSharp": "2.8.0", + "Microsoft.CodeAnalysis.Razor": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.FileProviders.Composite": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Razor.Extensions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Razor.Language": "2.2.0", + "Microsoft.CodeAnalysis.Razor": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll": { + "related": ".xml" + } + }, + "build": { + "build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.props": {}, + "build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.targets": {} + } + }, + "Microsoft.AspNetCore.Mvc.RazorPages/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.RazorPages.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.RazorPages.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Razor": "2.2.0", + "Microsoft.AspNetCore.Razor.Runtime": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.TagHelpers.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.TagHelpers.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Versioning/3.1.2": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "[2.2.0, 3.0.0)" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer/3.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "[2.2.0, 3.0.0)", + "Microsoft.AspNetCore.Mvc.Versioning": "3.1.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Antiforgery": "2.2.0", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.Extensions.WebEncoders": "2.2.0", + "Newtonsoft.Json.Bson": "1.0.1" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Razor/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Razor.Design/2.2.0": { + "type": "package", + "build": { + "build/netstandard2.0/Microsoft.AspNetCore.Razor.Design.props": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.AspNetCore.Razor.Design.props": {} + } + }, + "Microsoft.AspNetCore.Razor.Language/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Razor.Runtime/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Html.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Razor": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Runtime.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Runtime.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.StaticFiles/2.0.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "2.0.0", + "Microsoft.AspNetCore.Http.Extensions": "2.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.0.0", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "Microsoft.Extensions.WebEncoders": "2.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.StaticFiles.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.StaticFiles.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.TestHost/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Hosting": "2.2.0", + "System.IO.Pipelines": "4.5.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.TestHost.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.TestHost.dll": { + "related": ".xml" + } + } + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CodeAnalysis.Analyzers/1.1.0": { + "type": "package" + }, + "Microsoft.CodeAnalysis.Common/2.8.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "1.1.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Collections.Immutable": "1.3.1", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.FileVersionInfo": "4.3.0", + "System.Diagnostics.StackTrace": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.4.2", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.CodePages": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Parallel": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.ValueTuple": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XPath.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "compile": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.CodeAnalysis.CSharp/2.8.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeAnalysis.Common": "[2.8.0]" + }, + "compile": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.CodeAnalysis.Razor/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Razor.Language": "2.2.0", + "Microsoft.CodeAnalysis.CSharp": "2.8.0", + "Microsoft.CodeAnalysis.Common": "2.8.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CodeCoverage/16.0.1": { + "type": "package", + "build": { + "build/netstandard1.0/Microsoft.CodeCoverage.props": {}, + "build/netstandard1.0/Microsoft.CodeCoverage.targets": {} + } + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/Microsoft.CSharp.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": {} + } + }, + "Microsoft.DotNet.PlatformAbstractions/2.1.0": { + "type": "package", + "dependencies": { + "System.AppContext": "4.1.0", + "System.Collections": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.0.0" + }, + "compile": { + "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll": {} + }, + "runtime": { + "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll": {} + } + }, + "Microsoft.EntityFrameworkCore/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "2.2.0", + "Microsoft.EntityFrameworkCore.Analyzers": "2.2.0", + "Microsoft.Extensions.Caching.Memory": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Remotion.Linq": "2.2.0", + "System.Collections.Immutable": "1.5.0", + "System.ComponentModel.Annotations": "4.5.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Interactive.Async": "3.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/2.2.0": { + "type": "package" + }, + "Microsoft.EntityFrameworkCore.Relational/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Memory/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.FileProviders.Physical": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration.Json/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "2.2.0", + "Microsoft.Extensions.Configuration.FileExtensions": "2.2.0", + "Newtonsoft.Json": "11.0.2" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.DependencyInjection/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.DependencyModel/2.1.0": { + "type": "package", + "dependencies": { + "Microsoft.DotNet.PlatformAbstractions": "2.1.0", + "Newtonsoft.Json": "9.0.1", + "System.Diagnostics.Debug": "4.0.11", + "System.Dynamic.Runtime": "4.0.11", + "System.Linq": "4.1.0" + }, + "compile": { + "lib/netstandard1.6/Microsoft.Extensions.DependencyModel.dll": {} + }, + "runtime": { + "lib/netstandard1.6/Microsoft.Extensions.DependencyModel.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.FileProviders.Composite/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Composite.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Composite.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.FileProviders.Embedded/2.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.FileProviders.Physical/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.FileSystemGlobbing": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.FileSystemGlobbing/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Http/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Http.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Http.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Localization/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Localization.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Logging/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Binder": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Options/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0", + "Microsoft.Extensions.Configuration.Binder": "2.2.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Primitives/2.2.0": { + "type": "package", + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.1" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.WebEncoders/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.WebEncoders.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.WebEncoders.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll": { + "related": ".xml" + } + } + }, + "Microsoft.NET.Test.Sdk/16.0.1": { + "type": "package", + "dependencies": { + "Microsoft.CodeCoverage": "16.0.1" + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.NET.Test.Sdk.props": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + } + }, + "Microsoft.Win32.Registry/4.5.0": { + "type": "package", + "dependencies": { + "System.Buffers": "4.4.0", + "System.Memory": "4.5.0", + "System.Security.AccessControl": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + }, + "compile": { + "ref/netstandard2.0/Microsoft.Win32.Registry.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.Registry.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "MQiniu.Core/1.0.1": { + "type": "package", + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "compile": { + "lib/netstandard2.0/MQiniu.Core.dll": {} + }, + "runtime": { + "lib/netstandard2.0/MQiniu.Core.dll": {} + } + }, + "MQTTnet/2.8.5": { + "type": "package", + "dependencies": { + "NETStandard.Library": "2.0.0", + "System.Net.Security": "4.3.2", + "System.Net.WebSockets": "4.3.0", + "System.Net.WebSockets.Client": "4.3.2" + }, + "compile": { + "lib/netstandard2.0/MQTTnet.dll": { + "related": ".deps.json" + } + }, + "runtime": { + "lib/netstandard2.0/MQTTnet.dll": { + "related": ".deps.json" + } + } + }, + "MySqlConnector/0.56.0": { + "type": "package", + "dependencies": { + "System.Buffers": "4.4.0", + "System.Memory": "4.5.0", + "System.Threading.Tasks.Extensions": "4.3.0" + }, + "compile": { + "lib/netstandard2.0/MySqlConnector.dll": {} + }, + "runtime": { + "lib/netstandard2.0/MySqlConnector.dll": {} + } + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + }, + "build": { + "build/netstandard2.0/NETStandard.Library.targets": {} + } + }, + "Newtonsoft.Json/12.0.2": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, + "Newtonsoft.Json.Bson/1.0.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + }, + "compile": { + "lib/netstandard1.3/Newtonsoft.Json.Bson.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.Bson.dll": { + "related": ".xml" + } + } + }, + "NLog/4.5.11": { + "type": "package", + "compile": { + "lib/netstandard2.0/NLog.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "related": ".xml" + } + } + }, + "NLog.Extensions.Logging/1.4.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging": "2.1.0", + "NLog": "[4.5.11, 5.0.0-beta01)" + }, + "compile": { + "lib/netstandard2.0/NLog.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/NLog.Extensions.Logging.dll": { + "related": ".xml" + } + } + }, + "Polly/7.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Polly.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Polly.dll": { + "related": ".xml" + } + } + }, + "Remotion.Linq/2.2.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.Linq.Queryable": "4.0.1", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + }, + "compile": { + "lib/netstandard1.0/Remotion.Linq.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.0/Remotion.Linq.dll": { + "related": ".xml" + } + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/debian.8-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "debian.8-x64" + } + } + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/fedora.23-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "fedora.23-x64" + } + } + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/fedora.24-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "fedora.24-x64" + } + } + }, + "runtime.native.System/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "dependencies": { + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" + } + }, + "runtime.native.System.IO.Compression/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Net.Security/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/opensuse.13.2-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "opensuse.13.2-x64" + } + } + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/opensuse.42.1-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "opensuse.42.1-x64" + } + } + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "runtimeTargets": { + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.Apple.dylib": { + "assetType": "native", + "rid": "osx.10.10-x64" + } + } + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib": { + "assetType": "native", + "rid": "osx.10.10-x64" + } + } + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/rhel.7-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "rhel.7-x64" + } + } + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/ubuntu.14.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "ubuntu.14.04-x64" + } + } + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/ubuntu.16.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "ubuntu.16.04-x64" + } + } + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "runtimeTargets": { + "runtimes/ubuntu.16.10-x64/native/System.Security.Cryptography.Native.OpenSsl.so": { + "assetType": "native", + "rid": "ubuntu.16.10-x64" + } + } + }, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "runtimeTargets": { + "runtimes/win-arm64/native/sni.dll": { + "assetType": "native", + "rid": "win-arm64" + } + } + }, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "runtimeTargets": { + "runtimes/win-x64/native/sni.dll": { + "assetType": "native", + "rid": "win-x64" + } + } + }, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "type": "package", + "runtimeTargets": { + "runtimes/win-x86/native/sni.dll": { + "assetType": "native", + "rid": "win-x86" + } + } + }, + "SafeObjectPool/2.0.2": { + "type": "package", + "compile": { + "lib/netstandard2.0/SafeObjectPool.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/SafeObjectPool.dll": { + "related": ".xml" + } + } + }, + "SharpZipLib/1.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/ICSharpCode.SharpZipLib.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/ICSharpCode.SharpZipLib.dll": { + "related": ".xml" + } + } + }, + "Swashbuckle.AspNetCore/4.0.1": { + "type": "package", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "4.0.1", + "Swashbuckle.AspNetCore.SwaggerGen": "4.0.1", + "Swashbuckle.AspNetCore.SwaggerUI": "4.0.1" + }, + "compile": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.dll": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/4.0.1": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "2.0.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.0.0" + }, + "compile": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".xml" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/4.0.1": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "2.0.0", + "Microsoft.AspNetCore.Mvc.Core": "2.0.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "2.0.0", + "Swashbuckle.AspNetCore.Swagger": "4.0.1" + }, + "compile": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".xml" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/4.0.1": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Routing": "2.0.0", + "Microsoft.AspNetCore.StaticFiles": "2.0.0", + "Microsoft.Extensions.FileProviders.Embedded": "2.0.0", + "Newtonsoft.Json": "9.0.1" + }, + "compile": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".xml" + } + } + }, + "System.AppContext/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.AppContext.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.6/System.AppContext.dll": {} + } + }, + "System.Buffers/4.5.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Buffers.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "related": ".xml" + } + } + }, + "System.Collections/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Collections.dll": { + "related": ".xml" + } + } + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Collections.Concurrent.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": {} + } + }, + "System.Collections.Immutable/1.5.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Collections.NonGeneric.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": {} + } + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": {} + } + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.ComponentModel.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": {} + } + }, + "System.ComponentModel.Annotations/4.5.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.ComponentModel.Annotations.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.ComponentModel.Annotations.dll": {} + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.ComponentModel.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": {} + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} + } + }, + "System.Console/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Console.dll": { + "related": ".xml" + } + } + }, + "System.Data.SqlClient/4.4.0": { + "type": "package", + "dependencies": { + "Microsoft.Win32.Registry": "4.4.0", + "System.Diagnostics.DiagnosticSource": "4.4.1", + "System.Security.Principal.Windows": "4.4.0", + "System.Text.Encoding.CodePages": "4.4.0", + "runtime.native.System.Data.SqlClient.sni": "4.4.0" + }, + "compile": { + "ref/netstandard2.0/System.Data.SqlClient.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Data.SqlClient.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Diagnostics.Debug.dll": { + "related": ".xml" + } + } + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "type": "package", + "compile": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + } + }, + "System.Diagnostics.FileVersionInfo/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Reflection.Metadata": "1.4.1", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Diagnostics.StackTrace/4.3.0": { + "type": "package", + "dependencies": { + "System.IO.FileSystem": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Metadata": "1.4.1", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.StackTrace.dll": {} + } + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Diagnostics.Tools.dll": { + "related": ".xml" + } + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/_._": { + "related": ".xml" + } + } + }, + "System.Drawing.Common/4.5.1": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Drawing.Common.dll": {} + }, + "runtime": { + "lib/netstandard2.0/System.Drawing.Common.dll": {} + } + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Dynamic.Runtime.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} + } + }, + "System.Globalization/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Globalization.dll": { + "related": ".xml" + } + } + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + } + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Interactive.Async/3.2.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/System.Interactive.Async.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Interactive.Async.dll": { + "related": ".xml" + } + } + }, + "System.IO/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.IO.dll": { + "related": ".xml" + } + } + }, + "System.IO.Compression/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.IO.Compression.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.IO.FileSystem.dll": { + "related": ".xml" + } + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.IO.Pipelines/4.5.2": { + "type": "package", + "dependencies": { + "System.Buffers": "4.4.0", + "System.Memory": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.1" + }, + "compile": { + "ref/netstandard1.3/System.IO.Pipelines.dll": {} + }, + "runtime": { + "lib/netstandard2.0/System.IO.Pipelines.dll": { + "related": ".xml" + } + } + }, + "System.Linq/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Linq.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": {} + } + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Linq.Expressions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": {} + } + }, + "System.Linq.Queryable/4.0.1": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + }, + "compile": { + "ref/netstandard1.0/System.Linq.Queryable.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Linq.Queryable.dll": {} + } + }, + "System.Memory/4.5.1": { + "type": "package", + "dependencies": { + "System.Buffers": "4.4.0", + "System.Numerics.Vectors": "4.4.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.0" + }, + "compile": { + "ref/netstandard2.0/System.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "related": ".xml" + } + } + }, + "System.Net.NameResolution/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Net.NameResolution.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Net.NameResolution.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Net.Primitives.dll": { + "related": ".xml" + } + } + }, + "System.Net.Security/4.3.2": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Security": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + }, + "compile": { + "ref/netstandard1.3/System.Net.Security.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/System.Net.Security.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Net.Security.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + } + }, + "System.Net.WebHeaderCollection/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": {} + } + }, + "System.Net.WebSockets/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.Win32.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Net.WebSockets.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebSockets.dll": {} + } + }, + "System.Net.WebSockets.Client/4.3.2": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Security": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.Net.WebHeaderCollection": "4.3.0", + "System.Net.WebSockets": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Net.WebSockets.Client.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Numerics.Vectors/4.4.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "related": ".xml" + } + } + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.ObjectModel.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": {} + } + }, + "System.Reflection/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Reflection.dll": { + "related": ".xml" + } + } + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Reflection.Emit.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": {} + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} + } + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Extensions.dll": { + "related": ".xml" + } + } + }, + "System.Reflection.Metadata/1.6.0": { + "type": "package", + "dependencies": { + "System.Collections.Immutable": "1.5.0" + }, + "compile": { + "lib/netstandard2.0/System.Reflection.Metadata.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.Metadata.dll": { + "related": ".xml" + } + } + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Primitives.dll": { + "related": ".xml" + } + } + }, + "System.Reflection.TypeExtensions/4.5.1": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Reflection.TypeExtensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.TypeExtensions.dll": {} + } + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Resources.ResourceManager.dll": { + "related": ".xml" + } + } + }, + "System.Runtime/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.dll": { + "related": ".xml" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.Extensions.dll": { + "related": ".xml" + } + } + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Runtime.Handles.dll": { + "related": ".xml" + } + } + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.InteropServices.dll": { + "related": ".xml" + } + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0" + }, + "compile": { + "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Runtime.Numerics.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": {} + } + }, + "System.Security.AccessControl/4.5.0": { + "type": "package", + "dependencies": { + "System.Security.Principal.Windows": "4.5.0" + }, + "compile": { + "ref/netstandard2.0/System.Security.AccessControl.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.AccessControl.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard1.3/System.Security.AccessControl.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Claims/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": {} + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll": {} + }, + "runtimeTargets": { + "runtimes/osx/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { + "assetType": "runtime", + "rid": "osx" + }, + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Cng/4.4.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Security.Cryptography.Csp.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/_._": {} + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assetType": "runtime", + "rid": "unix" + } + } + }, + "System.Security.Cryptography.Pkcs/4.5.0": { + "type": "package", + "dependencies": { + "System.Buffers": "4.4.0", + "System.Memory": "4.5.0", + "System.Security.Cryptography.Cng": "4.4.0" + }, + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Pkcs.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.Pkcs.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "compile": { + "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Xml/4.5.0": { + "type": "package", + "dependencies": { + "System.Security.Cryptography.Pkcs": "4.5.0", + "System.Security.Permissions": "4.5.0" + }, + "compile": { + "ref/netstandard2.0/System.Security.Cryptography.Xml.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.Xml.dll": {} + } + }, + "System.Security.Permissions/4.5.0": { + "type": "package", + "dependencies": { + "System.Security.AccessControl": "4.5.0" + }, + "compile": { + "ref/netstandard2.0/System.Security.Permissions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Permissions.dll": {} + } + }, + "System.Security.Principal/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Security.Principal.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": {} + } + }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/System.Security.Principal.Windows.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Text.Encoding.dll": { + "related": ".xml" + } + } + }, + "System.Text.Encoding.CodePages/4.5.1": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.2" + }, + "compile": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {} + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Text.Encoding.Extensions.dll": { + "related": ".xml" + } + } + }, + "System.Text.Encodings.Web/4.5.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} + } + }, + "System.Threading/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.Tasks.dll": { + "related": ".xml" + } + } + }, + "System.Threading.Tasks.Extensions/4.5.1": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.0" + }, + "compile": { + "ref/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "related": ".xml" + } + } + }, + "System.Threading.Tasks.Parallel/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Threading.Tasks.Parallel.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {} + } + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": {} + } + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} + } + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.2/_._": { + "related": ".xml" + } + } + }, + "System.ValueTuple/4.5.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Xml.ReaderWriter.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} + } + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Xml.XDocument.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": {} + } + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": {} + } + }, + "System.Xml.XPath/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XPath.dll": {} + } + }, + "System.Xml.XPath.XDocument/4.3.0": { + "type": "package", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XPath": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XPath.XDocument.dll": {} + } + }, + "TinyMapper/3.0.2-beta": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Collections.NonGeneric": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0" + }, + "compile": { + "lib/netstandard1.3/TinyMapper.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.3/TinyMapper.dll": { + "related": ".xml" + } + } + }, + "TinyPinyin.Core.Standard/1.0.0": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Runtime": "4.3.0" + }, + "compile": { + "lib/netstandard1.6/TinyPinyin.Core.Standard.dll": {} + }, + "runtime": { + "lib/netstandard1.6/TinyPinyin.Core.Standard.dll": {} + } + }, + "xunit/2.4.1": { + "type": "package", + "dependencies": { + "xunit.analyzers": "0.10.0", + "xunit.assert": "[2.4.1]", + "xunit.core": "[2.4.1]" + } + }, + "xunit.abstractions/2.0.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "related": ".xml" + } + } + }, + "xunit.analyzers/0.10.0": { + "type": "package" + }, + "xunit.assert/2.4.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1" + }, + "compile": { + "lib/netstandard1.1/xunit.assert.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.1/xunit.assert.dll": { + "related": ".xml" + } + } + }, + "xunit.core/2.4.1": { + "type": "package", + "dependencies": { + "xunit.extensibility.core": "[2.4.1]", + "xunit.extensibility.execution": "[2.4.1]" + }, + "build": { + "build/xunit.core.props": {}, + "build/xunit.core.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/xunit.core.props": {}, + "buildMultiTargeting/xunit.core.targets": {} + } + }, + "xunit.extensibility.core/2.4.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + }, + "compile": { + "lib/netstandard1.1/xunit.core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.1/xunit.core.dll": { + "related": ".xml" + } + } + }, + "xunit.extensibility.execution/2.4.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.1]" + }, + "compile": { + "lib/netstandard1.1/xunit.execution.dotnet.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.1/xunit.execution.dotnet.dll": { + "related": ".xml" + } + } + } + } + }, + "libraries": { + "aliyun-net-sdk-core/1.5.3": { + "sha512": "x3xiyoX+ZXSEGnHoPONBeMeDetpEe4DWQuKPRQjM7eOd5O2CSUjuJhD5+DVE2NTH7MAnt/svMuJVVUgFK/SiCQ==", + "type": "package", + "path": "aliyun-net-sdk-core/1.5.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "aliyun-net-sdk-core.1.5.3.nupkg.sha512", + "aliyun-net-sdk-core.nuspec", + "lib/net45/aliyun-net-sdk-core.dll", + "lib/netstandard2.0/aliyun-net-sdk-core.dll" + ] + }, + "AngleSharp/0.12.1": { + "sha512": "ANb5hGAdRXRRfNkT/04uE8xcK96nrBGBrFp4b5cPxY3n/KSAh+PuaJ/ct0VyxUMRku0JE4wtleXFY+sskOdDZQ==", + "type": "package", + "path": "anglesharp/0.12.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "anglesharp.0.12.1.nupkg.sha512", + "anglesharp.nuspec", + "lib/net46/AngleSharp.dll", + "lib/net46/AngleSharp.xml", + "lib/netstandard1.3/AngleSharp.dll", + "lib/netstandard1.3/AngleSharp.xml", + "lib/netstandard2.0/AngleSharp.dll", + "lib/netstandard2.0/AngleSharp.xml" + ] + }, + "Autofac/4.9.1": { + "sha512": "Dk3UQD94XM2HBjquOZoPWrQBUcv9G/K24K/qTiUJi13Fz/0X/wxcQi8z3K1ProCPxuZvadSgrzbpbni2HX1YTg==", + "type": "package", + "path": "autofac/4.9.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "autofac.4.9.1.nupkg.sha512", + "autofac.nuspec", + "lib/net45/Autofac.dll", + "lib/net45/Autofac.pdb", + "lib/net45/Autofac.xml", + "lib/netstandard1.1/Autofac.dll", + "lib/netstandard1.1/Autofac.pdb", + "lib/netstandard1.1/Autofac.xml", + "lib/netstandard2.0/Autofac.dll", + "lib/netstandard2.0/Autofac.pdb", + "lib/netstandard2.0/Autofac.xml" + ] + }, + "Autofac.Extensions.DependencyInjection/4.4.0": { + "sha512": "XO9Zk1zIUv9FyuGg9biGlGTPrSamdZKSZ+lHGTxnOaKkTmW1iWP276nlQ/l2V3XoVk86+SHyRnzH5MmhULGamg==", + "type": "package", + "path": "autofac.extensions.dependencyinjection/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "autofac.extensions.dependencyinjection.4.4.0.nupkg.sha512", + "autofac.extensions.dependencyinjection.nuspec", + "lib/netstandard1.1/Autofac.Extensions.DependencyInjection.dll", + "lib/netstandard1.1/Autofac.Extensions.DependencyInjection.pdb", + "lib/netstandard1.1/Autofac.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.pdb", + "lib/netstandard2.0/Autofac.Extensions.DependencyInjection.xml" + ] + }, + "Bogus/26.0.1": { + "sha512": "ObKuXPq5MpiMX4PAhRvmkj8S2JmPrQVDO8XCMMIsHyban4mv7qtpaSNGhndsZyW+o2lHX2gjLqK++7YoRHUgJA==", + "type": "package", + "path": "bogus/26.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "bogus.26.0.1.nupkg.sha512", + "bogus.nuspec", + "lib/net40/Bogus.dll", + "lib/net40/Bogus.pdb", + "lib/net40/Bogus.xml", + "lib/netstandard1.3/Bogus.dll", + "lib/netstandard1.3/Bogus.pdb", + "lib/netstandard1.3/Bogus.xml", + "lib/netstandard2.0/Bogus.dll", + "lib/netstandard2.0/Bogus.pdb", + "lib/netstandard2.0/Bogus.xml" + ] + }, + "CSRedisCore/3.0.60": { + "sha512": "/oOYfWAeqA6jsAeBCubsGJlq24QxS0nk55u5gsQPF5pDR/oExcBDQ1Wh0PciBPUePie+/iu9pMWbL5xIU6ze1g==", + "type": "package", + "path": "csrediscore/3.0.60", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "csrediscore.3.0.60.nupkg.sha512", + "csrediscore.nuspec", + "lib/net45/CSRedisCore.dll", + "lib/net45/CSRedisCore.xml", + "lib/netstandard2.0/CSRedisCore.dll", + "lib/netstandard2.0/CSRedisCore.xml" + ] + }, + "Dapper/1.60.6": { + "sha512": "ZqK3znlm8dapfO8M0vCgV5+wJrl5Uv00WYmj27wQ6zufSLcklVNJ2fdVMUj59o89p+lmRD6QivTRe0Gdfm6UAQ==", + "type": "package", + "path": "dapper/1.60.6", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "dapper.1.60.6.nupkg.sha512", + "dapper.nuspec", + "lib/net451/Dapper.dll", + "lib/net451/Dapper.xml", + "lib/netstandard1.3/Dapper.dll", + "lib/netstandard1.3/Dapper.xml", + "lib/netstandard2.0/Dapper.dll", + "lib/netstandard2.0/Dapper.xml" + ] + }, + "DotNetCore.NPOI/1.2.1": { + "sha512": "5M2x2mt+JOTByhzSH6PtcDOepZswmb6Uu2rjiOx5l3lKc7AP9kbmhN7WLKakGVSNhnOMgXbFXulIRRflPeNb/g==", + "type": "package", + "path": "dotnetcore.npoi/1.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "dotnetcore.npoi.1.2.1.nupkg.sha512", + "dotnetcore.npoi.nuspec", + "lib/net461/NPOI.OOXML.dll", + "lib/netstandard2.0/NPOI.OOXML.dll" + ] + }, + "DotNetCore.NPOI.Core/1.2.1": { + "sha512": "K8hlUP5yCxCK2JNROBBGAM50EtRshBe+RglFrrJkrbygR3o1HsruvHk6NlEFI+pYV9brDVqRc8xsYz5ZfeLfgQ==", + "type": "package", + "path": "dotnetcore.npoi.core/1.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "dotnetcore.npoi.core.1.2.1.nupkg.sha512", + "dotnetcore.npoi.core.nuspec", + "lib/net461/NPOI.dll", + "lib/netstandard2.0/NPOI.dll" + ] + }, + "DotNetCore.NPOI.OpenXml4Net/1.2.1": { + "sha512": "LxHszYfzPwg+ibE70gR7HrLlOtMHhWWEXLOTcW6KkwyJJ9eisCfrSkfbGvJnvfQHxmL9RXfZ+KV+B0/OeZ7kmw==", + "type": "package", + "path": "dotnetcore.npoi.openxml4net/1.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "dotnetcore.npoi.openxml4net.1.2.1.nupkg.sha512", + "dotnetcore.npoi.openxml4net.nuspec", + "lib/net461/NPOI.OpenXml4Net.dll", + "lib/netstandard2.0/NPOI.OpenXml4Net.dll" + ] + }, + "DotNetCore.NPOI.OpenXmlFormats/1.2.1": { + "sha512": "bim3nwQ5b/6bAoWa7DhHTYwz9w5dmMDwqn27LgcE8Sa/eYh672BOfT6SaKFuxQT1+X0Au3WhTwH1RgO/4aTNtg==", + "type": "package", + "path": "dotnetcore.npoi.openxmlformats/1.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "dotnetcore.npoi.openxmlformats.1.2.1.nupkg.sha512", + "dotnetcore.npoi.openxmlformats.nuspec", + "lib/net461/NPOI.OpenXmlFormats.dll", + "lib/netstandard2.0/NPOI.OpenXmlFormats.dll" + ] + }, + "JWT/5.0.1": { + "sha512": "0rDXizf96UrvR15jNwWgkM91JHgZ8SZnGDQIDzGw7c4rfdwcLvp0ZLXLTwIxwij7ywV+Ufb5iHPpyB5Na1n6SQ==", + "type": "package", + "path": "jwt/5.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "jwt.5.0.1.nupkg.sha512", + "jwt.nuspec", + "lib/net46/JWT.dll", + "lib/net46/JWT.xml", + "lib/netstandard1.3/JWT.dll", + "lib/netstandard1.3/JWT.xml" + ] + }, + "Microsoft.AspNetCore.Antiforgery/2.2.0": { + "sha512": "1eMLxqY2DqvkMqpw8FZtGLPWGLm8lEMTZ9tc0Gmr7PlBGuaPODHu8LjTxy+G0lthBLKhVzrbf8SC57vYGKKMvg==", + "type": "package", + "path": "microsoft.aspnetcore.antiforgery/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.xml", + "microsoft.aspnetcore.antiforgery.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.antiforgery.nuspec" + ] + }, + "Microsoft.AspNetCore.Authentication.Abstractions/2.2.0": { + "sha512": "i4LQHuX8gYwti1V7CEM+5ZnExTjEUcd6SylM+euuMTLSry8vkaU/qXr/ZoGKs27TD6PiIPNi+6arDk6zLXWDRA==", + "type": "package", + "path": "microsoft.aspnetcore.authentication.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Abstractions.xml", + "microsoft.aspnetcore.authentication.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authentication.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Authentication.Core/2.2.0": { + "sha512": "HpxpAAuEgWGSLPdzsBjPHrxFS/Up7jTRa4WQGcqWrOg52+A7qx1UbNlNPnV+nYk3mk1AZ1besmTlNz0TE8nOvA==", + "type": "package", + "path": "microsoft.aspnetcore.authentication.core/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.Core.xml", + "microsoft.aspnetcore.authentication.core.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authentication.core.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization/2.2.0": { + "sha512": "suxW8TRGnI8aaRTB0NNHZ0scC7VBk3spNrwNHufiLOlS44PXTpLzK7mDUpte6B3uuWY00e+8FSudQWu92Be8Pg==", + "type": "package", + "path": "microsoft.aspnetcore.authorization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml", + "microsoft.aspnetcore.authorization.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.nuspec" + ] + }, + "Microsoft.AspNetCore.Authorization.Policy/2.2.0": { + "sha512": "t1pMuggj4d/NqMa/lwyTCKfdtDSShefHQg4K4PpeYMZPXH1Im7VQB2F3HaPSYOubNXv8Vhk//C1dJI5LkJNgEg==", + "type": "package", + "path": "microsoft.aspnetcore.authorization.policy/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.Policy.xml", + "microsoft.aspnetcore.authorization.policy.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.authorization.policy.nuspec" + ] + }, + "Microsoft.AspNetCore.Cors/2.2.0": { + "sha512": "YFStDzy8d4YgY09eY3pdWzQ/uVaqufxDF3Lax5N6gaDWIkTcflAAEbIxzeuVtalzyBSRqgOKIsmqYMoXsQYPvg==", + "type": "package", + "path": "microsoft.aspnetcore.cors/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Cors.xml", + "microsoft.aspnetcore.cors.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.cors.nuspec" + ] + }, + "Microsoft.AspNetCore.Cryptography.Internal/2.2.0": { + "sha512": "a/xQhLXGoW+A1mcAmvIYu3M1KcqsCTxDw+UHesVX7U5CYrvb9NaZ47Zol8DyVDO1S3SJnx7hDLGwXz13gbpGxQ==", + "type": "package", + "path": "microsoft.aspnetcore.cryptography.internal/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.xml", + "microsoft.aspnetcore.cryptography.internal.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.cryptography.internal.nuspec" + ] + }, + "Microsoft.AspNetCore.DataProtection/2.2.0": { + "sha512": "4TLOD40F/4iJhgvOsl8oSqtu4iuNK3wfpXHUis/MPpkky+/EE1+IrYIRI6B12QPp8HnRC85E6D4k2EVTF2hRww==", + "type": "package", + "path": "microsoft.aspnetcore.dataprotection/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.xml", + "microsoft.aspnetcore.dataprotection.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.dataprotection.nuspec" + ] + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/2.2.0": { + "sha512": "o0ySexk/hnc5msskptLoE5mc1D7NTA4NSpGDFypGaU0/Z2L9zzFzWQThA2dPre7Y+U4Qz2Vx4msF5Q8xLZTVjQ==", + "type": "package", + "path": "microsoft.aspnetcore.dataprotection.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.DataProtection.Abstractions.xml", + "microsoft.aspnetcore.dataprotection.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.dataprotection.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/2.2.0": { + "sha512": "nK/ttSLBOI3DiYiT1qRxnU/KN5Y2iQNht3sBd0NCjP5d2kVlkjRxIGKgiEjV6W3QX45kpD84A3fZ6h2ENHbn7A==", + "type": "package", + "path": "microsoft.aspnetcore.diagnostics.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Diagnostics.Abstractions.xml", + "microsoft.aspnetcore.diagnostics.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.diagnostics.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting/2.2.0": { + "sha512": "ryzJBUA3QL3BP9lR1Hk2wL2FZ7zgSaeaT7dQBX+fbHxirwvq5wArQW6kGzo8aoOGAqME7wYu5woaAVGz5Ozhgw==", + "type": "package", + "path": "microsoft.aspnetcore.hosting/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.xml", + "microsoft.aspnetcore.hosting.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Abstractions/2.2.0": { + "sha512": "pVGrKK652a4lFcve2393473ojKfiSbDGpmnKyHT+RIYU+V93fSQafRitkJSh9ldNNIm9kjKZ8WuKRF8IMMi7Vg==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Abstractions.xml", + "microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/2.2.0": { + "sha512": "BeNdIx9jGr/WGa0bqZhkBLQMfevgNr6KItXy9IhZKnGRjkbmOb5wUKGtHHiKRV2JvJlBwCl0+NL1IDLc+40PdA==", + "type": "package", + "path": "microsoft.aspnetcore.hosting.server.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", + "microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.hosting.server.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Html.Abstractions/2.2.0": { + "sha512": "Z08ZN/kjJ15AQyNY349dpTPJdpdVJ/RYLLJjY9sf6VoHBf3vRBSCBx6orXMspMeRJrhHultPTP0IKVK2g4KZxg==", + "type": "package", + "path": "microsoft.aspnetcore.html.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Html.Abstractions.xml", + "microsoft.aspnetcore.html.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.html.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http/2.2.0": { + "sha512": "1jsV5N1hykNJN1uIY+DI4C0zrnBzsJ/dNkwCLuGNcxTAkXcQzxGclSqi45KTm/0Og2kOss4BZGDHQboB9D4gGA==", + "type": "package", + "path": "microsoft.aspnetcore.http/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.xml", + "microsoft.aspnetcore.http.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Abstractions/2.2.0": { + "sha512": "IkuRKkTFEbO30FwfCVuL0piikRBK/kgsaLbfbeUg8Rejpe5nCRUDZ3RDLzaW0FPMZxdb1opQ/zBYibItL1AezQ==", + "type": "package", + "path": "microsoft.aspnetcore.http.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.xml", + "microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Extensions/2.2.0": { + "sha512": "lyEExtXdag+/tGhJVJgU6s2LOEUO3Uex4bDjN2RWuOYPe0l4rTDFv8B1WJO3EnnFrcCbbhATEc+3y3ntzSZKqw==", + "type": "package", + "path": "microsoft.aspnetcore.http.extensions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Extensions.xml", + "microsoft.aspnetcore.http.extensions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.extensions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Features/2.2.0": { + "sha512": "0GNO7G290ULLrFcL7Yig7EYNpWF0ZisATpoPGszArH7wtuDDNt97o3vr4CANPzxAcJuXlhIPKuAhk+GPKm6AHg==", + "type": "package", + "path": "microsoft.aspnetcore.http.features/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", + "microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.http.features.nuspec" + ] + }, + "Microsoft.AspNetCore.JsonPatch/2.2.0": { + "sha512": "wC/QmeleRUhzJRVFJrjWM88qObvvWe8WiQHvS4I+hUOvbexakzYH+5Z+CLoGf8T+xegkpLNqjGIr+stK4B9cDg==", + "type": "package", + "path": "microsoft.aspnetcore.jsonpatch/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.xml", + "microsoft.aspnetcore.jsonpatch.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.jsonpatch.nuspec" + ] + }, + "Microsoft.AspNetCore.Localization/2.2.0": { + "sha512": "UEozmI0b5w8mecvTX9usbXV3ee3T5ogro86hWg5wEmxScdn8K1/rds75LBYMmhpMjG8UZINYfamRa3AF3RTo2w==", + "type": "package", + "path": "microsoft.aspnetcore.localization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Localization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Localization.xml", + "microsoft.aspnetcore.localization.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.localization.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc/2.2.0": { + "sha512": "59NchgRWqXmXdmY8W4O6qda4odf0Fc5UgVsUj57Nr5IMMQ2MKNDMeoBE6VjDQiNP5Oteu15qj3FfrbuwwgYa1Q==", + "type": "package", + "path": "microsoft.aspnetcore.mvc/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.xml", + "microsoft.aspnetcore.mvc.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Abstractions/2.2.0": { + "sha512": "KvSgkNkWnK4Ikmz1QmFOD32PynAvVibY6piwcRysgWFLuzkjgERVJ6YNOR6/Tegnb79+xG7GzP92bA7RKFl+sw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.xml", + "microsoft.aspnetcore.mvc.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Analyzers/2.2.0": { + "sha512": "k8IjX6M0Hsxzh5+u2tjyLJDrMPN8xhpMxjBTEsQFgWUpkshbxjVp1Ra5wmpuPXjrYGHwqmTRpuoUhUysXu0oYw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.analyzers/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/Microsoft.AspNetCore.Mvc.Analyzers.dll", + "microsoft.aspnetcore.mvc.analyzers.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.analyzers.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer/2.2.0": { + "sha512": "WlTqPGGTPku8hNBaT+xEXRjAXe5MsqpGn02rnm8Td8ua4rXVifchVWio+DP9LlFlWBwF58dDhkuDAvSSWMW0Lw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.apiexplorer/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ApiExplorer.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ApiExplorer.xml", + "microsoft.aspnetcore.mvc.apiexplorer.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.apiexplorer.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Core/2.2.0": { + "sha512": "Wh2wexgnnkn/f2cKSiGi/TDTMCe7KI5MgzYLAAjohkQu1oWlHWVMwlkMr5mJVZA3Es+msmKT9ogjfTt+KWq1uQ==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.core/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Core.xml", + "microsoft.aspnetcore.mvc.core.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.core.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Cors/2.2.0": { + "sha512": "V4EBkDS1fvfWYKy6RrJbfVqQ8JLUMBh5yoLzJvSCizWea6Q5Z7PwVApBXf2/TXweiWi4JTmYya3rj7vU/LLgFw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.cors/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Cors.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Cors.xml", + "microsoft.aspnetcore.mvc.cors.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.cors.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/2.2.0": { + "sha512": "C6NxfP/WBLeJuEN1OCUjcb4KsDOwAiOrM2gJ80DrRD5QYP5R8tCJm4udHIFRrUI8jQ324sGSJ5xpV800BgHAFQ==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.dataannotations/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.DataAnnotations.xml", + "microsoft.aspnetcore.mvc.dataannotations.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.dataannotations.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0": { + "sha512": "BN+6Hp61H5pZz4Ig6WRu/726YV7LS2aaD4jBqeMJEeid4ePCRSqmIGwlRvE8Vs0eglQle+W+MorUlS1Sha4G8A==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.formatters.json/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Formatters.Json.xml", + "microsoft.aspnetcore.mvc.formatters.json.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.formatters.json.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Localization/2.2.0": { + "sha512": "ieDy2hjfcWq3qGLVI26Hs/EmA44F9QggrrNM5BPVq8LxhUhw41IvzZDWCHDNzYERCJYN9YorzqDZ7Utvlm8LiA==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.localization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Localization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Localization.xml", + "microsoft.aspnetcore.mvc.localization.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.localization.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Razor/2.2.0": { + "sha512": "OmuXoNnP5FqlhL+suepCWmkXKqnMGS/N0hkqWVupsXkPbpQRU9YvWY6yzUtvlJEKFLD8IulJ2PSXsHsfWZu7Hw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.razor/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.xml", + "microsoft.aspnetcore.mvc.razor.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.razor.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Razor.Extensions/2.2.0": { + "sha512": "JkmYRcoVjoTCk3I6uvsbRRqiuATet/lVsP24e02sPvA7d7iC4GoUECYbSGe2jsI4YHvXBptaxwLjfYVIRfeK1w==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.razor.extensions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.props", + "build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.targets", + "lib/net46/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll", + "lib/net46/Microsoft.AspNetCore.Mvc.Razor.Extensions.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.xml", + "microsoft.aspnetcore.mvc.razor.extensions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.razor.extensions.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.RazorPages/2.2.0": { + "sha512": "QYhojBGEx9xdB7G0UR9j4Jxz8jfRKngAR4suFofBJx0Qho1gCeWCq180m43+EjUJkfZMpoC4BYi4jx5dDT3BxA==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.razorpages/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.RazorPages.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.RazorPages.xml", + "microsoft.aspnetcore.mvc.razorpages.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.razorpages.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/2.2.0": { + "sha512": "EZZ/aWmSfca/Ub91bf8bFeZXTxeSD8nHTdRBAq8vOZOIpz0rgQOVJVs/qIEUm5Di4qrRfib9bc5E6IeAnDH0xw==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.taghelpers/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.TagHelpers.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.TagHelpers.xml", + "microsoft.aspnetcore.mvc.taghelpers.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.taghelpers.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Versioning/3.1.2": { + "sha512": "XcPWILCgNXwQoCAaEZGByQc5aDbZv/CSAH4e85+c8Pd11tNOFY+na8vPP/97UT2S9fkAS2UPi28Ut2mv3DeL7w==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.versioning/3.1.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.pdb", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.xml", + "microsoft.aspnetcore.mvc.versioning.3.1.2.nupkg.sha512", + "microsoft.aspnetcore.mvc.versioning.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer/3.2.0": { + "sha512": "0aRm5yE5Her8OpgP3vb3jt2o0EB15Sb6WxPxR36kXz+VkOX3Z5Oy7rsRW9ZnYgx/WlR+yjQTJrt1TUv02fJwwA==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.versioning.apiexplorer/3.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.pdb", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.xml", + "microsoft.aspnetcore.mvc.versioning.apiexplorer.3.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.versioning.apiexplorer.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/2.2.0": { + "sha512": "DenwEe843h6JO18/VQCoSfGupGKjws9wHzzkSZ8BM/yZXVIGJJtIVm28mjGJKAT0xf2dsQVal1To4JU4hTP1nA==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.viewfeatures/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ViewFeatures.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Mvc.ViewFeatures.xml", + "microsoft.aspnetcore.mvc.viewfeatures.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.mvc.viewfeatures.nuspec" + ] + }, + "Microsoft.AspNetCore.Razor/2.2.0": { + "sha512": "aM2aGQQh/kVOdgThej+4+ypFU8jSp2Dq/wZg9+e6/7RVAwlk8lQp8n2iYV9ltsSycE/4EU+LIMHegzaGBLOmsA==", + "type": "package", + "path": "microsoft.aspnetcore.razor/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.xml", + "microsoft.aspnetcore.razor.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.razor.nuspec" + ] + }, + "Microsoft.AspNetCore.Razor.Design/2.2.0": { + "sha512": "ex8MZwgoyqHim1L6/65FnfjdSMtSKSuSU3DVoiCADZACc05T7f8uRB7SnDIP5LPQKLUBLilfNkd1p14RLyfdQA==", + "type": "package", + "path": "microsoft.aspnetcore.razor.design/2.2.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/netstandard2.0/Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets", + "build/netstandard2.0/Microsoft.AspNetCore.Razor.Design.props", + "buildMultiTargeting/Microsoft.AspNetCore.Razor.Design.props", + "microsoft.aspnetcore.razor.design.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.razor.design.nuspec", + "tools/Microsoft.AspNetCore.Razor.Language.dll", + "tools/Microsoft.CodeAnalysis.CSharp.dll", + "tools/Microsoft.CodeAnalysis.Razor.dll", + "tools/Microsoft.CodeAnalysis.dll", + "tools/Newtonsoft.Json.dll", + "tools/runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll", + "tools/runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll", + "tools/rzc.deps.json", + "tools/rzc.dll", + "tools/rzc.runtimeconfig.json" + ] + }, + "Microsoft.AspNetCore.Razor.Language/2.2.0": { + "sha512": "zW2jJWCnijyoZqL3a4W5zuvObFluZ7dvZeasbZVhBc8h1ZD4INufdpWXgtxceiu5wqfnedH+mzGTUdM4jNccUQ==", + "type": "package", + "path": "microsoft.aspnetcore.razor.language/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net46/Microsoft.AspNetCore.Razor.Language.dll", + "lib/net46/Microsoft.AspNetCore.Razor.Language.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Language.xml", + "microsoft.aspnetcore.razor.language.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.razor.language.nuspec" + ] + }, + "Microsoft.AspNetCore.Razor.Runtime/2.2.0": { + "sha512": "UMBfVgxYVH0/OYNleZGCEsLHK8X5j80dU5hqYYBoTm2TfUoBkXDecuODtDAf5x0KfKZLKHnDT4+5lcIKKthQog==", + "type": "package", + "path": "microsoft.aspnetcore.razor.runtime/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Runtime.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Razor.Runtime.xml", + "microsoft.aspnetcore.razor.runtime.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.razor.runtime.nuspec" + ] + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0": { + "sha512": "2dnJ/buvvPVxqz2G0wQGTyJRodqRbD2PyUIqFJW2WQd9a6q4pE8SmSUVrkhke3DKiDUheeJc0t7sqTomImCfRg==", + "type": "package", + "path": "microsoft.aspnetcore.responsecaching.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.ResponseCaching.Abstractions.xml", + "microsoft.aspnetcore.responsecaching.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.responsecaching.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing/2.2.0": { + "sha512": "blQPe49jTy6pK8VZ6vinCD8upuUs7FdXVbuZa+IjsXOpxdMYBCVFvXUrJBl87kXuaTi0M8fQuERamMF6a/eskA==", + "type": "package", + "path": "microsoft.aspnetcore.routing/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.dll", + "lib/netcoreapp2.2/Microsoft.AspNetCore.Routing.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.xml", + "microsoft.aspnetcore.routing.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.nuspec" + ] + }, + "Microsoft.AspNetCore.Routing.Abstractions/2.2.0": { + "sha512": "dqnRARq+DBBH0mgYStRhKyapkPnIu1+sTgesv9dFVrsbN3IKlpTuAaRwAC1G9sHo2MVi5J5EMOtscDgmqnjhUg==", + "type": "package", + "path": "microsoft.aspnetcore.routing.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Routing.Abstractions.xml", + "microsoft.aspnetcore.routing.abstractions.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.routing.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.StaticFiles/2.0.0": { + "sha512": "NRmJzeejrGjdEKstUV5S6k2W3yY+JjrHoPmBHwUTMVi93e4w4iur4pDhBWgbzj5nRVupt0gergUQbE969+Yccw==", + "type": "package", + "path": "microsoft.aspnetcore.staticfiles/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.StaticFiles.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.StaticFiles.xml", + "microsoft.aspnetcore.staticfiles.2.0.0.nupkg.sha512", + "microsoft.aspnetcore.staticfiles.nuspec" + ] + }, + "Microsoft.AspNetCore.TestHost/2.2.0": { + "sha512": "7yoAnQ+n1+PxigrY8td9eHULYwEuAuSHraDCYJQYTMRbu0G7XIDU6nzBMStoS/vOtU+eFja6EKuqS5JdASW49w==", + "type": "package", + "path": "microsoft.aspnetcore.testhost/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.TestHost.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.TestHost.xml", + "microsoft.aspnetcore.testhost.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.testhost.nuspec" + ] + }, + "Microsoft.AspNetCore.WebUtilities/2.2.0": { + "sha512": "oPl52Mxm8MTP3jHw+bQQ6UUOFYiaHDK4gU4cHGjH/yIZDn3vdPH5jV6ONZQJQJAQBqBYKZX28sH8NyYmsFRupw==", + "type": "package", + "path": "microsoft.aspnetcore.webutilities/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.WebUtilities.xml", + "microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512", + "microsoft.aspnetcore.webutilities.nuspec" + ] + }, + "Microsoft.CodeAnalysis.Analyzers/1.1.0": { + "sha512": "HS3iRWZKcUw/8eZ/08GXKY2Bn7xNzQPzf8gRPHGSowX7u7XXu9i9YEaBeBNKUXWfI7qjvT2zXtLUvbN0hds8vg==", + "type": "package", + "path": "microsoft.codeanalysis.analyzers/1.1.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.rtf", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", + "microsoft.codeanalysis.analyzers.1.1.0.nupkg.sha512", + "microsoft.codeanalysis.analyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Microsoft.CodeAnalysis.Common/2.8.0": { + "sha512": "A2a4NejNvWVz+8FPXkZK/cd2j4/P3laHwpz56UU3fDcOAVu4Xb98T6FXGAIgqE/LzSVpHnn9Cgg7rhT59qsO8w==", + "type": "package", + "path": "microsoft.codeanalysis.common/2.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard1.3/Microsoft.CodeAnalysis.dll", + "lib/netstandard1.3/Microsoft.CodeAnalysis.pdb", + "lib/netstandard1.3/Microsoft.CodeAnalysis.xml", + "microsoft.codeanalysis.common.2.8.0.nupkg.sha512", + "microsoft.codeanalysis.common.nuspec" + ] + }, + "Microsoft.CodeAnalysis.CSharp/2.8.0": { + "sha512": "+GGCTxkBjf9lFEZhVOG4iEO5YkuWCO5q+kUF787NJ8Twy3EOyLrjtZ8K7q+kH/PnSjSkN0AvWwL2NQCmT1H6mA==", + "type": "package", + "path": "microsoft.codeanalysis.csharp/2.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll", + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.pdb", + "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.xml", + "microsoft.codeanalysis.csharp.2.8.0.nupkg.sha512", + "microsoft.codeanalysis.csharp.nuspec" + ] + }, + "Microsoft.CodeAnalysis.Razor/2.2.0": { + "sha512": "JyNMoRRCug7MdLmW+F4EHtXRgX7wFn1h40/+/XbPscNUPs9mPKBNha5WbWL7tKgirRX5nJIosAXx4Eb+ULtrMg==", + "type": "package", + "path": "microsoft.codeanalysis.razor/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net46/Microsoft.CodeAnalysis.Razor.dll", + "lib/net46/Microsoft.CodeAnalysis.Razor.xml", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.dll", + "lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.xml", + "microsoft.codeanalysis.razor.2.2.0.nupkg.sha512", + "microsoft.codeanalysis.razor.nuspec" + ] + }, + "Microsoft.CodeCoverage/16.0.1": { + "sha512": "HEdO9Lyje8ehjMU985e6vZFETAv337R7wukZXng35hhVdTDoSs3OLC/h5guQWhdDyQ+cN9uKUTK3H1GUKTjrYA==", + "type": "package", + "path": "microsoft.codecoverage/16.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/netstandard1.0/CodeCoverage/CodeCoverage.config", + "build/netstandard1.0/CodeCoverage/CodeCoverage.exe", + "build/netstandard1.0/CodeCoverage/amd64/covrun64.dll", + "build/netstandard1.0/CodeCoverage/amd64/msdia140.dll", + "build/netstandard1.0/CodeCoverage/codecoveragemessages.dll", + "build/netstandard1.0/CodeCoverage/covrun32.dll", + "build/netstandard1.0/CodeCoverage/msdia140.dll", + "build/netstandard1.0/Microsoft.CodeCoverage.props", + "build/netstandard1.0/Microsoft.CodeCoverage.targets", + "build/netstandard1.0/Microsoft.VisualStudio.TraceDataCollector.dll", + "build/netstandard1.0/cs/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/de/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/es/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/fr/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/it/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/ja/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/ko/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/pl/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/pt-BR/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/ru/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/tr/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "lib/net45/Microsoft.VisualStudio.CodeCoverage.Shim.dll", + "lib/netcoreapp1.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll", + "microsoft.codecoverage.16.0.1.nupkg.sha512", + "microsoft.codecoverage.nuspec" + ] + }, + "Microsoft.CSharp/4.5.0": { + "sha512": "EGoBmf3Na2ppbhPePDE9PlX81r1HuOZH5twBrq7couJZiPTjUnD3648balerQJO6EJ8Sj+43+XuRwQ7r+3tE3w==", + "type": "package", + "path": "microsoft.csharp/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.csharp.4.5.0.nupkg.sha512", + "microsoft.csharp.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/netcore50/Microsoft.CSharp.xml", + "ref/netcore50/de/Microsoft.CSharp.xml", + "ref/netcore50/es/Microsoft.CSharp.xml", + "ref/netcore50/fr/Microsoft.CSharp.xml", + "ref/netcore50/it/Microsoft.CSharp.xml", + "ref/netcore50/ja/Microsoft.CSharp.xml", + "ref/netcore50/ko/Microsoft.CSharp.xml", + "ref/netcore50/ru/Microsoft.CSharp.xml", + "ref/netcore50/zh-hans/Microsoft.CSharp.xml", + "ref/netcore50/zh-hant/Microsoft.CSharp.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/Microsoft.CSharp.dll", + "ref/netstandard1.0/Microsoft.CSharp.xml", + "ref/netstandard1.0/de/Microsoft.CSharp.xml", + "ref/netstandard1.0/es/Microsoft.CSharp.xml", + "ref/netstandard1.0/fr/Microsoft.CSharp.xml", + "ref/netstandard1.0/it/Microsoft.CSharp.xml", + "ref/netstandard1.0/ja/Microsoft.CSharp.xml", + "ref/netstandard1.0/ko/Microsoft.CSharp.xml", + "ref/netstandard1.0/ru/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.DotNet.PlatformAbstractions/2.1.0": { + "sha512": "wkCXkBS0q+5hsbeikjfsHCGP3nNe1L1MrDEBPCBKm+4UH8nXqHLxDZuBrTYaVY85CGIx2y1qW90nO6b+ORAfrA==", + "type": "package", + "path": "microsoft.dotnet.platformabstractions/2.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net45/Microsoft.DotNet.PlatformAbstractions.dll", + "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll", + "microsoft.dotnet.platformabstractions.2.1.0.nupkg.sha512", + "microsoft.dotnet.platformabstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore/2.2.0": { + "sha512": "sShQ1XMPv3HS6UJjtUs8AsZ1hEFUzwRpeRP9uavrfkaoWGOXwe4Klt131A+i9+/drnzbbEdzrhFkUiMWbzc4cg==", + "type": "package", + "path": "microsoft.entityframeworkcore/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.dll", + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.2.2.0.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/2.2.0": { + "sha512": "aBDhI9ltp7m4BaoH7LhH1p/DiO95rpAgDD09JX3W9VAmEgTaamXzlbc1W6BhQhs9ScMDbi5HoJw+LQCAVUfV9w==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.2.2.0.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/2.2.0": { + "sha512": "DYK/p3Fn7gz8bg8UelTRyJ9aH+i4bAQxeQ5YJTgCkNeTnyftHlw0ru1wZ/tUFlM27Cq2u5EYbvWBpefPo0izuw==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "microsoft.entityframeworkcore.analyzers.2.2.0.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/2.2.0": { + "sha512": "JCmBWVP5ZJGC4eKQg2GYJs0W9RMQdSZ6jsWh9zZk2fuxpGJuVKTFy4eFAHq9dgKu7N07IW+CPkNBA8LthS3q0A==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/netstandard2.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.2.2.0.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/2.2.0": { + "sha512": "3phHFN5lXktB6Id1D0tvojf9GohSyoTwCadVZmCeKEDVj2u2xR3hLtj+lf9mpmCC5FuLbcyVjepZgFFHazHjIA==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Memory/2.2.0": { + "sha512": "dPJ4f6vOg9WdgWyrMMU5rRhOyQ7DxM7Ivxx8z80NeF2Xygi9g51MuxMOaZwxNClDcxvJ6ZsPKBH61B54LrnYRA==", + "type": "package", + "path": "microsoft.extensions.caching.memory/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.2.2.0.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec" + ] + }, + "Microsoft.Extensions.Configuration/2.2.0": { + "sha512": "Be1LEgclOQthHN7tksm79bGbXNJ0yuewEBiIzPSePwDwt2AGqLLx5iXv6BfjVZGztxKQCngz+X8IRw/kOz+CwA==", + "type": "package", + "path": "microsoft.extensions.configuration/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml", + "microsoft.extensions.configuration.2.2.0.nupkg.sha512", + "microsoft.extensions.configuration.nuspec" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/2.2.0": { + "sha512": "HT/cMUOHvJ29Z5VIlWp6Zd1F63k5CbpGisNk8ayP35GwKwX5IDsJL8hWMoBesz5WPK8ZfW4f47kyVAhfCD/PAw==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.Configuration.Binder/2.2.0": { + "sha512": "MsSglnpg/8FoukGJ5CBKFxs2enCwrRd3ORx8bmhe3PHekeJeUzqhkQoOaAqyAt9wcF+myRTe1JcHLul4zj+zPA==", + "type": "package", + "path": "microsoft.extensions.configuration.binder/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml", + "microsoft.extensions.configuration.binder.2.2.0.nupkg.sha512", + "microsoft.extensions.configuration.binder.nuspec" + ] + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/2.2.0": { + "sha512": "nIQTzgq/qwRTDvAP299SSrFeqXJHhPzw+a6tDPwhvWwcA095KrJYGhAwYy/aer6UB4Q9T7s5va6q7MhgrelrAg==", + "type": "package", + "path": "microsoft.extensions.configuration.environmentvariables/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", + "microsoft.extensions.configuration.environmentvariables.2.2.0.nupkg.sha512", + "microsoft.extensions.configuration.environmentvariables.nuspec" + ] + }, + "Microsoft.Extensions.Configuration.FileExtensions/2.2.0": { + "sha512": "1cO9Ca+lLh7mRTbJYEXnGPqoVMt/71BM7zmcZx6VOFLEBAfpOej/isDtgqRYhDcMkLaS9vn9pXerp41fTO9y1w==", + "type": "package", + "path": "microsoft.extensions.configuration.fileextensions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml", + "microsoft.extensions.configuration.fileextensions.2.2.0.nupkg.sha512", + "microsoft.extensions.configuration.fileextensions.nuspec" + ] + }, + "Microsoft.Extensions.Configuration.Json/2.2.0": { + "sha512": "vqJEFHHDVTDhjTTdX8QZWF75Hw9bFLbmRcjRbXtmQLrFBvcTzuS9w1jJGWjrgR1UQ7YpuJdhcDXzhxorqkR1Ig==", + "type": "package", + "path": "microsoft.extensions.configuration.json/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml", + "microsoft.extensions.configuration.json.2.2.0.nupkg.sha512", + "microsoft.extensions.configuration.json.nuspec" + ] + }, + "Microsoft.Extensions.DependencyInjection/2.2.0": { + "sha512": "7JzIJyfA1Wr19ibRr67CoG3lFklnTkzhkJ6thWFcNrmZCgLf9oEqrED4Tz08y7F18wTWsWUnI52BCjraBGtPIA==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", + "lib/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.2.2.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0": { + "sha512": "YZcHF0/+XeKv12ZEo+OmrAa6rNayjye0qvEjYSDIhN99StqxnS2gZpwkcCrH/8JuXxzzcDSVpZw5Bruz8xYfXQ==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.DependencyModel/2.1.0": { + "sha512": "3KPT6CLH0VEGr2um9aG1rYTmqfMVlkRuueFpN6AxeIKpcMA4OVHf4aNpgYXZ6oF+x4uh9VhK/66FgPCd1mMlnQ==", + "type": "package", + "path": "microsoft.extensions.dependencymodel/2.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net451/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard1.3/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard1.6/Microsoft.Extensions.DependencyModel.dll", + "microsoft.extensions.dependencymodel.2.1.0.nupkg.sha512", + "microsoft.extensions.dependencymodel.nuspec" + ] + }, + "Microsoft.Extensions.FileProviders.Abstractions/2.2.0": { + "sha512": "zt//yhxTTxUMb70b44ZdUQiV/SLa+3xbVZuz/IzKloOX8rlUoU6itkhVC3gryos9ojAuPYwc2aiqejJLdqRDZA==", + "type": "package", + "path": "microsoft.extensions.fileproviders.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "microsoft.extensions.fileproviders.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.fileproviders.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.FileProviders.Composite/2.2.0": { + "sha512": "ztUs3ENypYt7tBh2hS1Vaq0kaJ3AoA6FERfFvK9chdQtk3KW7PfcDsJ14/q6JsEiPhLdtM8x1Afod+dNfaD3iA==", + "type": "package", + "path": "microsoft.extensions.fileproviders.composite/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Composite.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Composite.xml", + "microsoft.extensions.fileproviders.composite.2.2.0.nupkg.sha512", + "microsoft.extensions.fileproviders.composite.nuspec" + ] + }, + "Microsoft.Extensions.FileProviders.Embedded/2.0.0": { + "sha512": "ZgtUWhP8bsbiG62WoRvHZPzrxePv68z+jJ8W2rBLgiUv1QnopriVvM5+L/qsBZ7QXQJBnof/Rucd67RMRqhEXw==", + "type": "package", + "path": "microsoft.extensions.fileproviders.embedded/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Embedded.xml", + "microsoft.extensions.fileproviders.embedded.2.0.0.nupkg.sha512", + "microsoft.extensions.fileproviders.embedded.nuspec" + ] + }, + "Microsoft.Extensions.FileProviders.Physical/2.2.0": { + "sha512": "lFYs3tCesMedXt/sUHIUlByH20qxi6DjSxOTyRvqT3YUMteqsVIGgjcF8zoVWMfvlv9/418Uk3eC3bFn8Qc+rA==", + "type": "package", + "path": "microsoft.extensions.fileproviders.physical/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml", + "microsoft.extensions.fileproviders.physical.2.2.0.nupkg.sha512", + "microsoft.extensions.fileproviders.physical.nuspec" + ] + }, + "Microsoft.Extensions.FileSystemGlobbing/2.2.0": { + "sha512": "LcDxBQvSCyvYZqAncoXJmbueO7DbHyMzu/kwGwC8oyghBXkzHG69iT4IEO63EO3R5mylbhTyydAIyQC4rt/weQ==", + "type": "package", + "path": "microsoft.extensions.filesystemglobbing/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml", + "microsoft.extensions.filesystemglobbing.2.2.0.nupkg.sha512", + "microsoft.extensions.filesystemglobbing.nuspec" + ] + }, + "Microsoft.Extensions.Hosting.Abstractions/2.2.0": { + "sha512": "tqXaCEeEeuDchJ482wwU2bHyu5UUksVrLyLsrvE9kPFYyPz7Hq17Ryq+faQP/zBCpnnqP/wqf3oSR0q60Py3HA==", + "type": "package", + "path": "microsoft.extensions.hosting.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml", + "microsoft.extensions.hosting.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.hosting.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.Http/2.2.0": { + "sha512": "TKybhXvvLH2JAW+wPGVhEW2eRMHr1vm11m4OiikcZBFeqB+qrc6TPiZ5qVXyorlron5yk86s945yTIc+Zv2b3g==", + "type": "package", + "path": "microsoft.extensions.http/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Http.dll", + "lib/netstandard2.0/Microsoft.Extensions.Http.xml", + "microsoft.extensions.http.2.2.0.nupkg.sha512", + "microsoft.extensions.http.nuspec" + ] + }, + "Microsoft.Extensions.Localization/2.2.0": { + "sha512": "pTFKFSEPCni5Wq3/CamUtt52/BcJW+sRLevSEWci9vPB/0UVS225MeddXIeePsySLK/g/4w/hS7qaYsLbqe68w==", + "type": "package", + "path": "microsoft.extensions.localization/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Localization.dll", + "lib/netstandard2.0/Microsoft.Extensions.Localization.xml", + "microsoft.extensions.localization.2.2.0.nupkg.sha512", + "microsoft.extensions.localization.nuspec" + ] + }, + "Microsoft.Extensions.Localization.Abstractions/2.2.0": { + "sha512": "+hSkcuST/PvRHFfNUyVn/v0JreREgAfTVWaqNVoz9qrVw2pD1bw4Sq9B+TKl3qBT+7c2p+TAir54VtXcF9BzMg==", + "type": "package", + "path": "microsoft.extensions.localization.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.xml", + "microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.localization.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.Logging/2.2.0": { + "sha512": "K90QPI39Sq4mNb0Femo/xV/YGj8KHpAOyqEqChloxteM021SAnFV+kxjUKMJqrvpTcMJiGPmv1Yj03QeiXatRg==", + "type": "package", + "path": "microsoft.extensions.logging/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.2.2.0.nupkg.sha512", + "microsoft.extensions.logging.nuspec" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/2.2.0": { + "sha512": "9/ERS0/w8MRdWYC9Nv230+2DIYbCv+jr5JwlVyFXrNRerKN9mHShlSfCUjq2S9Wa8ORsztbe5Txz2CuA8pr2bA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.2.2.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.ObjectPool/2.2.0": { + "sha512": "82ySQcYum1Y/bOxhD3xbr5HYowt4wO+rn0Gh+qQ7W1VSwq4gEcHS9e0jJ8wW18BL3N3xTKxkfMvEjS5Zm3wTyg==", + "type": "package", + "path": "microsoft.extensions.objectpool/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll", + "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.xml", + "microsoft.extensions.objectpool.2.2.0.nupkg.sha512", + "microsoft.extensions.objectpool.nuspec" + ] + }, + "Microsoft.Extensions.Options/2.2.0": { + "sha512": "onhaA2X0DkQmyybJhbTHO+63NnO90nIPHTC9a+1QLTM1hT934DM80OvgwKubEIQuPyvSHD6X1Q01PSTJRNHo8w==", + "type": "package", + "path": "microsoft.extensions.options/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.2.2.0.nupkg.sha512", + "microsoft.extensions.options.nuspec" + ] + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/2.2.0": { + "sha512": "D+KBXqy9m+64xmVb5SK6rgiq79eYMeJOrQ1OdJRpkcEDiUhKuc9NfewLvRVZUfNDXC3KeZeaSkOPwi51dPf9wg==", + "type": "package", + "path": "microsoft.extensions.options.configurationextensions/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml", + "microsoft.extensions.options.configurationextensions.2.2.0.nupkg.sha512", + "microsoft.extensions.options.configurationextensions.nuspec" + ] + }, + "Microsoft.Extensions.Primitives/2.2.0": { + "sha512": "Sv8EDHvN2852bE5G1yosKCa7sUw/x0Z/rCaI5LIWHseAXprG1h9oberAh3NRBO7w2zTZq79WPeQDMsPBVSf99w==", + "type": "package", + "path": "microsoft.extensions.primitives/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.2.2.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec" + ] + }, + "Microsoft.Extensions.WebEncoders/2.2.0": { + "sha512": "Ln302kWXi6HbrUxCuU9MIFviUAVBIiWL69Cte47cSholoqn+EQytBEF+jPx0x5d+he/btmomvWC10LS7AKWHGQ==", + "type": "package", + "path": "microsoft.extensions.webencoders/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.WebEncoders.dll", + "lib/netstandard2.0/Microsoft.Extensions.WebEncoders.xml", + "microsoft.extensions.webencoders.2.2.0.nupkg.sha512", + "microsoft.extensions.webencoders.nuspec" + ] + }, + "Microsoft.Net.Http.Headers/2.2.0": { + "sha512": "yFn57woR2lfjUfcoqrc+F8hbmsjTLNu+14FIiGGMUTfvQtZE6xJRwFntp4oMJi99KpMHYX5MOS0mmjRSEwGtLw==", + "type": "package", + "path": "microsoft.net.http.headers/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.dll", + "lib/netstandard2.0/Microsoft.Net.Http.Headers.xml", + "microsoft.net.http.headers.2.2.0.nupkg.sha512", + "microsoft.net.http.headers.nuspec" + ] + }, + "Microsoft.NET.Test.Sdk/16.0.1": { + "sha512": "DaUwam5OX68Roubcr76OQ8Cb9Rkq5BOL3/NUtgFWfqJ+9ceiLqtvOClgobx1HTNhKZ62driQUikqv++vnSs4mA==", + "type": "package", + "path": "microsoft.net.test.sdk/16.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/net40/Microsoft.NET.Test.Sdk.props", + "build/net40/Microsoft.NET.Test.Sdk.targets", + "build/netcoreapp1.0/Microsoft.NET.Test.Sdk.Program.cs", + "build/netcoreapp1.0/Microsoft.NET.Test.Sdk.Program.fs", + "build/netcoreapp1.0/Microsoft.NET.Test.Sdk.Program.vb", + "build/netcoreapp1.0/Microsoft.NET.Test.Sdk.props", + "build/netcoreapp1.0/Microsoft.NET.Test.Sdk.targets", + "build/uap10.0/Microsoft.NET.Test.Sdk.props", + "buildMultiTargeting/Microsoft.NET.Test.Sdk.props", + "microsoft.net.test.sdk.16.0.1.nupkg.sha512", + "microsoft.net.test.sdk.nuspec" + ] + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "sha512": "bLpT1f/SFlO1CzqXG12KnJzpZs6lv24uX2Rzi4Fmm0noJpNlnWRVryuO3yK18Ca04t/YHcO1e1Z0WDfjseqNzw==", + "type": "package", + "path": "microsoft.netcore.platforms/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "microsoft.netcore.platforms.1.1.0.nupkg.sha512", + "microsoft.netcore.platforms.nuspec", + "runtime.json" + ] + }, + "Microsoft.NETCore.Targets/1.1.0": { + "sha512": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "type": "package", + "path": "microsoft.netcore.targets/1.1.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "microsoft.netcore.targets.1.1.0.nupkg.sha512", + "microsoft.netcore.targets.nuspec", + "runtime.json" + ] + }, + "Microsoft.Win32.Primitives/4.3.0": { + "sha512": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "type": "package", + "path": "microsoft.win32.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/Microsoft.Win32.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.win32.primitives.4.3.0.nupkg.sha512", + "microsoft.win32.primitives.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/Microsoft.Win32.Primitives.dll", + "ref/netstandard1.3/Microsoft.Win32.Primitives.dll", + "ref/netstandard1.3/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._" + ] + }, + "Microsoft.Win32.Registry/4.5.0": { + "sha512": "vduxuHEqRgRrTE8wYG8Wxj/+6wwzddOmZzjKZx6rFMc/91aUBxI5etAFYxesoNaIja5NpgSTcnk6cN8BeYXf9A==", + "type": "package", + "path": "microsoft.win32.registry/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/Microsoft.Win32.Registry.dll", + "lib/net461/Microsoft.Win32.Registry.dll", + "lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "microsoft.win32.registry.4.5.0.nupkg.sha512", + "microsoft.win32.registry.nuspec", + "ref/net46/Microsoft.Win32.Registry.dll", + "ref/net461/Microsoft.Win32.Registry.dll", + "ref/net461/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/Microsoft.Win32.Registry.dll", + "ref/netstandard1.3/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", + "ref/netstandard2.0/Microsoft.Win32.Registry.dll", + "ref/netstandard2.0/Microsoft.Win32.Registry.xml", + "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net461/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "MQiniu.Core/1.0.1": { + "sha512": "tAmfkDi2H3qnNzyYBFqyvK8SbTENg5cMaMD/ZV+HLW/yuXQo4yhREvWrTQ5QuzVmAgJt9SNEgDVV6oJdupKHYw==", + "type": "package", + "path": "mqiniu.core/1.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/MQiniu.Core.dll", + "mqiniu.core.1.0.1.nupkg.sha512", + "mqiniu.core.nuspec" + ] + }, + "MQTTnet/2.8.5": { + "sha512": "scNRIWxjuceFixHkwUkofWw354Az/95T8SW3eAk+edH2caMzihDbzdl3IWQf/mSiEB+5pVnOEWMNMnAZ8d4YHA==", + "type": "package", + "path": "mqttnet/2.8.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net452/MQTTnet.dll", + "lib/net461/MQTTnet.deps.json", + "lib/net461/MQTTnet.dll", + "lib/net462/MQTTnet.deps.json", + "lib/net462/MQTTnet.dll", + "lib/net470/MQTTnet.deps.json", + "lib/net470/MQTTnet.dll", + "lib/net471/MQTTnet.deps.json", + "lib/net471/MQTTnet.dll", + "lib/net472/MQTTnet.deps.json", + "lib/net472/MQTTnet.dll", + "lib/netstandard1.3/MQTTnet.deps.json", + "lib/netstandard1.3/MQTTnet.dll", + "lib/netstandard2.0/MQTTnet.deps.json", + "lib/netstandard2.0/MQTTnet.dll", + "lib/uap10.0/MQTTnet.dll", + "lib/uap10.0/MQTTnet.pri", + "mqttnet.2.8.5.nupkg.sha512", + "mqttnet.nuspec" + ] + }, + "MySqlConnector/0.56.0": { + "sha512": "Y21/6GzG6AD6xWNWn2vzQPCc3t3ahg4U1M1qJpYpyj7zjMB0qDnPoa5amwpz9fKuEHmKrkp4rDv77xhrSPlC+g==", + "type": "package", + "path": "mysqlconnector/0.56.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/MySqlConnector.dll", + "lib/net461/MySqlConnector.dll", + "lib/net471/MySqlConnector.dll", + "lib/netcoreapp2.1/MySqlConnector.dll", + "lib/netstandard1.3/MySqlConnector.dll", + "lib/netstandard2.0/MySqlConnector.dll", + "mysqlconnector.0.56.0.nupkg.sha512", + "mysqlconnector.nuspec" + ] + }, + "NETStandard.Library/2.0.3": { + "sha512": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "type": "package", + "path": "netstandard.library/2.0.3", + "files": [ + ".nupkg.metadata", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "build/netstandard2.0/NETStandard.Library.targets", + "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll", + "build/netstandard2.0/ref/System.AppContext.dll", + "build/netstandard2.0/ref/System.Collections.Concurrent.dll", + "build/netstandard2.0/ref/System.Collections.NonGeneric.dll", + "build/netstandard2.0/ref/System.Collections.Specialized.dll", + "build/netstandard2.0/ref/System.Collections.dll", + "build/netstandard2.0/ref/System.ComponentModel.Composition.dll", + "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll", + "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll", + "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll", + "build/netstandard2.0/ref/System.ComponentModel.dll", + "build/netstandard2.0/ref/System.Console.dll", + "build/netstandard2.0/ref/System.Core.dll", + "build/netstandard2.0/ref/System.Data.Common.dll", + "build/netstandard2.0/ref/System.Data.dll", + "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll", + "build/netstandard2.0/ref/System.Diagnostics.Debug.dll", + "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll", + "build/netstandard2.0/ref/System.Diagnostics.Process.dll", + "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll", + "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll", + "build/netstandard2.0/ref/System.Diagnostics.Tools.dll", + "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll", + "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll", + "build/netstandard2.0/ref/System.Drawing.Primitives.dll", + "build/netstandard2.0/ref/System.Drawing.dll", + "build/netstandard2.0/ref/System.Dynamic.Runtime.dll", + "build/netstandard2.0/ref/System.Globalization.Calendars.dll", + "build/netstandard2.0/ref/System.Globalization.Extensions.dll", + "build/netstandard2.0/ref/System.Globalization.dll", + "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll", + "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll", + "build/netstandard2.0/ref/System.IO.Compression.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.dll", + "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll", + "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll", + "build/netstandard2.0/ref/System.IO.Pipes.dll", + "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll", + "build/netstandard2.0/ref/System.IO.dll", + "build/netstandard2.0/ref/System.Linq.Expressions.dll", + "build/netstandard2.0/ref/System.Linq.Parallel.dll", + "build/netstandard2.0/ref/System.Linq.Queryable.dll", + "build/netstandard2.0/ref/System.Linq.dll", + "build/netstandard2.0/ref/System.Net.Http.dll", + "build/netstandard2.0/ref/System.Net.NameResolution.dll", + "build/netstandard2.0/ref/System.Net.NetworkInformation.dll", + "build/netstandard2.0/ref/System.Net.Ping.dll", + "build/netstandard2.0/ref/System.Net.Primitives.dll", + "build/netstandard2.0/ref/System.Net.Requests.dll", + "build/netstandard2.0/ref/System.Net.Security.dll", + "build/netstandard2.0/ref/System.Net.Sockets.dll", + "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll", + "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll", + "build/netstandard2.0/ref/System.Net.WebSockets.dll", + "build/netstandard2.0/ref/System.Net.dll", + "build/netstandard2.0/ref/System.Numerics.dll", + "build/netstandard2.0/ref/System.ObjectModel.dll", + "build/netstandard2.0/ref/System.Reflection.Extensions.dll", + "build/netstandard2.0/ref/System.Reflection.Primitives.dll", + "build/netstandard2.0/ref/System.Reflection.dll", + "build/netstandard2.0/ref/System.Resources.Reader.dll", + "build/netstandard2.0/ref/System.Resources.ResourceManager.dll", + "build/netstandard2.0/ref/System.Resources.Writer.dll", + "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll", + "build/netstandard2.0/ref/System.Runtime.Extensions.dll", + "build/netstandard2.0/ref/System.Runtime.Handles.dll", + "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll", + "build/netstandard2.0/ref/System.Runtime.InteropServices.dll", + "build/netstandard2.0/ref/System.Runtime.Numerics.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.dll", + "build/netstandard2.0/ref/System.Runtime.dll", + "build/netstandard2.0/ref/System.Security.Claims.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll", + "build/netstandard2.0/ref/System.Security.Principal.dll", + "build/netstandard2.0/ref/System.Security.SecureString.dll", + "build/netstandard2.0/ref/System.ServiceModel.Web.dll", + "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll", + "build/netstandard2.0/ref/System.Text.Encoding.dll", + "build/netstandard2.0/ref/System.Text.RegularExpressions.dll", + "build/netstandard2.0/ref/System.Threading.Overlapped.dll", + "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll", + "build/netstandard2.0/ref/System.Threading.Tasks.dll", + "build/netstandard2.0/ref/System.Threading.Thread.dll", + "build/netstandard2.0/ref/System.Threading.ThreadPool.dll", + "build/netstandard2.0/ref/System.Threading.Timer.dll", + "build/netstandard2.0/ref/System.Threading.dll", + "build/netstandard2.0/ref/System.Transactions.dll", + "build/netstandard2.0/ref/System.ValueTuple.dll", + "build/netstandard2.0/ref/System.Web.dll", + "build/netstandard2.0/ref/System.Windows.dll", + "build/netstandard2.0/ref/System.Xml.Linq.dll", + "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll", + "build/netstandard2.0/ref/System.Xml.Serialization.dll", + "build/netstandard2.0/ref/System.Xml.XDocument.dll", + "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll", + "build/netstandard2.0/ref/System.Xml.XPath.dll", + "build/netstandard2.0/ref/System.Xml.XmlDocument.dll", + "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll", + "build/netstandard2.0/ref/System.Xml.dll", + "build/netstandard2.0/ref/System.dll", + "build/netstandard2.0/ref/mscorlib.dll", + "build/netstandard2.0/ref/netstandard.dll", + "build/netstandard2.0/ref/netstandard.xml", + "lib/netstandard1.0/_._", + "netstandard.library.2.0.3.nupkg.sha512", + "netstandard.library.nuspec" + ] + }, + "Newtonsoft.Json/12.0.2": { + "sha512": "mtweBXPWhp1CMQATtBT7ZfMZrbZBTKfjGwz6Y75NwGjx/GztDaUnfw8GK9KZ2T4fDIqKJyDjc9Rxlw5+G2FcVA==", + "type": "package", + "path": "newtonsoft.json/12.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml", + "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml", + "newtonsoft.json.12.0.2.nupkg.sha512", + "newtonsoft.json.nuspec" + ] + }, + "Newtonsoft.Json.Bson/1.0.1": { + "sha512": "W5Ke5xei9yS0ljQZuT75VgSp5M43eCPm5hHAelvKyGGU4dV7hYCmtwdsxoADb/exO6pYHeu/Iki43TdYPzfESQ==", + "type": "package", + "path": "newtonsoft.json.bson/1.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Newtonsoft.Json.Bson.dll", + "lib/net45/Newtonsoft.Json.Bson.xml", + "lib/netstandard1.3/Newtonsoft.Json.Bson.dll", + "lib/netstandard1.3/Newtonsoft.Json.Bson.xml", + "newtonsoft.json.bson.1.0.1.nupkg.sha512", + "newtonsoft.json.bson.nuspec" + ] + }, + "NLog/4.5.11": { + "sha512": "7TI+dYvEIOcCN6fjr3yjMN5AtPBSbHNxKGmn/5rkqbBk81MGsnQBkParoGOidibDIe3dwThJJndxl7O3zmd3rA==", + "type": "package", + "path": "nlog/4.5.11", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/monoandroid44/NLog.dll", + "lib/monoandroid44/NLog.xml", + "lib/net35/NLog.dll", + "lib/net35/NLog.xml", + "lib/net40-client/NLog.dll", + "lib/net40-client/NLog.xml", + "lib/net45/NLog.dll", + "lib/net45/NLog.xml", + "lib/netstandard1.3/NLog.dll", + "lib/netstandard1.3/NLog.xml", + "lib/netstandard1.5/NLog.dll", + "lib/netstandard1.5/NLog.xml", + "lib/netstandard2.0/NLog.dll", + "lib/netstandard2.0/NLog.xml", + "lib/sl4/NLog.dll", + "lib/sl4/NLog.xml", + "lib/sl5/NLog.dll", + "lib/sl5/NLog.xml", + "lib/wp8/NLog.dll", + "lib/wp8/NLog.xml", + "lib/xamarinios10/NLog.dll", + "lib/xamarinios10/NLog.xml", + "nlog.4.5.11.nupkg.sha512", + "nlog.nuspec" + ] + }, + "NLog.Extensions.Logging/1.4.0": { + "sha512": "FvCGr0FSntm9a8z/QaZv9+01LmEXh9NZ44BExArAn+kwyhPJCze5lnPekoHo0iWUKnwNtJFUo/9XOjFfIs0GXQ==", + "type": "package", + "path": "nlog.extensions.logging/1.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net451/NLog.Extensions.Logging.dll", + "lib/net451/NLog.Extensions.Logging.xml", + "lib/net461/NLog.Extensions.Logging.dll", + "lib/net461/NLog.Extensions.Logging.xml", + "lib/netstandard1.3/NLog.Extensions.Logging.dll", + "lib/netstandard1.3/NLog.Extensions.Logging.xml", + "lib/netstandard1.5/NLog.Extensions.Logging.dll", + "lib/netstandard1.5/NLog.Extensions.Logging.xml", + "lib/netstandard2.0/NLog.Extensions.Logging.dll", + "lib/netstandard2.0/NLog.Extensions.Logging.xml", + "nlog.extensions.logging.1.4.0.nupkg.sha512", + "nlog.extensions.logging.nuspec" + ] + }, + "Polly/7.1.0": { + "sha512": "NeiMizU89Ga9BSnYDHduzPNxd0JvmLqEPgPtsJHXVg6kvAUpif08rUZtWq9q+6vrbEPdofC7nKr0HTbA+sU4DA==", + "type": "package", + "path": "polly/7.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard1.1/Polly.dll", + "lib/netstandard1.1/Polly.xml", + "lib/netstandard2.0/Polly.dll", + "lib/netstandard2.0/Polly.xml", + "polly.7.1.0.nupkg.sha512", + "polly.nuspec" + ] + }, + "Remotion.Linq/2.2.0": { + "sha512": "twDAH8dAXXCAf3sRv1Tf94u66eEHvgU75hfn1nn2v4fSWXD50XoDOAk8WpSrbViNuMkB4kN1ElnOGm1c519IHg==", + "type": "package", + "path": "remotion.linq/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net35/Remotion.Linq.XML", + "lib/net35/Remotion.Linq.dll", + "lib/net40/Remotion.Linq.XML", + "lib/net40/Remotion.Linq.dll", + "lib/net45/Remotion.Linq.XML", + "lib/net45/Remotion.Linq.dll", + "lib/netstandard1.0/Remotion.Linq.dll", + "lib/netstandard1.0/Remotion.Linq.xml", + "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.dll", + "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml", + "remotion.linq.2.2.0.nupkg.sha512", + "remotion.linq.nuspec" + ] + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "jwcVUu4ELwy6ObG6ChIFz3PeRH1mKZW65o+FellG99FUwCmnnjdGkIFnVoeHPIvyue/lf1y9Zgw2axylGCP38g==", + "type": "package", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/debian.8-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "oTXKD09aSTGbWlK39DOPil/EOH7fJvKebL9jo8OjeytcUcnK9WLsQeRw+6KBBgNiRlvFaRW+eC1sdXeKphleRg==", + "type": "package", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/fedora.23-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "LyTiy6iKlrsjhI4UBIeORHimVkI4e3t2qkAHWH/nxNggjL3lPT7WX40Ncc1oi/wWvmbcX3vPhMeyzPGzxQWwtA==", + "type": "package", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/fedora.24-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.native.System/4.3.0": { + "sha512": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "type": "package", + "path": "runtime.native.system/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.4.3.0.nupkg.sha512", + "runtime.native.system.nuspec" + ] + }, + "runtime.native.System.Data.SqlClient.sni/4.4.0": { + "sha512": "Xu7AUFtXuxEspQPI5nKCDEiEcbRmE5FTIO0qE1r0qA9v1OoawQZnbWmsnrdYaO8vlSixXMedPv1U6916STjPnQ==", + "type": "package", + "path": "runtime.native.system.data.sqlclient.sni/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "runtime.native.system.data.sqlclient.sni.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "runtime.native.System.IO.Compression/4.3.0": { + "sha512": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "type": "package", + "path": "runtime.native.system.io.compression/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.io.compression.4.3.0.nupkg.sha512", + "runtime.native.system.io.compression.nuspec" + ] + }, + "runtime.native.System.Net.Http/4.3.0": { + "sha512": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "type": "package", + "path": "runtime.native.system.net.http/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.net.http.4.3.0.nupkg.sha512", + "runtime.native.system.net.http.nuspec" + ] + }, + "runtime.native.System.Net.Security/4.3.0": { + "sha512": "M2nN92ePS8BgQ2oi6Jj3PlTUzadYSIWLdZrHY1n1ZcW9o4wAQQ6W+aQ2lfq1ysZQfVCgDwY58alUdowrzezztg==", + "type": "package", + "path": "runtime.native.system.net.security/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.net.security.4.3.0.nupkg.sha512", + "runtime.native.system.net.security.nuspec" + ] + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "sha512": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "type": "package", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512", + "runtime.native.system.security.cryptography.apple.nuspec" + ] + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "o0rS2+Z+/K6X/L6levOGswZgqYq4IppWwNyiQTFuZzz3om4Zxu+2txF8wnH98gh0G6b4RHriVMkay6Pdt9KSOg==", + "type": "package", + "path": "runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.native.system.security.cryptography.openssl.nuspec" + ] + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "zghz4HAA35jmQL0mXpadSpI2U1zuJpnFNj86spdVew11YmBVeZXy7hY8/wX8K6ki1mug5MsoUh+EHn1UarO2Pg==", + "type": "package", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/opensuse.13.2-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "v3VMGmbNcNwb041U/mdendRwQX67pi4veeJ4vo8GzDSW/1jtkNMLXdTT7+qazL0J6xfNh76IKVHA/fuDPDcfcA==", + "type": "package", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/opensuse.42.1-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "sha512": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "type": "package", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.nuspec", + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.Apple.dylib" + ] + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "CjjyXodztYFVtdP5T4SbkzU9CAnaViKLjrq1yXbmRYylDrWjisykyJQGeObpUh+1euSHM398vy6niTrp4/Q5NQ==", + "type": "package", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/osx.10.10-x64/native/System.Security.Cryptography.Native.OpenSsl.dylib" + ] + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "KunbS3GbMfp+QMYPUscAOPyGaOApz04dEg/ejClWMdawggfXAYoik3t5VGAWxWDIlOJ91uvAHV4PZ3Vn5rLE8g==", + "type": "package", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/rhel.7-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "zUt7p0TegAhlIatnytLbMIXUiDiNPZy4PZlGOJ8PTHhFOb86T/uNTzNHxceBOq3vlbNV/SVj4wyUiog8J7lShw==", + "type": "package", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/ubuntu.14.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "1/woqfYA5HHtzgmJwBxIXU4qfplVH1MUE6+nUDmkAE1OLCfoiXbWVDJjWjIdhjFqPGza68ey/vpCFBtk9PENZg==", + "type": "package", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/ubuntu.16.04-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "sha512": "X+DmqHjv9Zz+JKjVevURQFdtjg/sSYjkiSwjPEezo+7SfewHKmwNVd1hV3fNnOP+VFxTU7SpUok3atC5QI7Uvg==", + "type": "package", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512", + "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.nuspec", + "runtimes/ubuntu.16.10-x64/native/System.Security.Cryptography.Native.OpenSsl.so" + ] + }, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "sha512": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==", + "type": "package", + "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.nuspec", + "runtimes/win-arm64/native/sni.dll", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "sha512": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==", + "type": "package", + "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "runtime.win-x64.runtime.native.system.data.sqlclient.sni.nuspec", + "runtimes/win-x64/native/sni.dll", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": { + "sha512": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==", + "type": "package", + "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "runtime.win-x86.runtime.native.system.data.sqlclient.sni.nuspec", + "runtimes/win-x86/native/sni.dll", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "SafeObjectPool/2.0.2": { + "sha512": "9RW1PHNsZSX8GRxJPHspvA3AyV61iv4cDUKrtjJS2I61rV+e3G8s3hDoHQgo0XkeNSYbI1n4UmPX6VpAeofjQA==", + "type": "package", + "path": "safeobjectpool/2.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/SafeObjectPool.dll", + "lib/net45/SafeObjectPool.xml", + "lib/netstandard2.0/SafeObjectPool.dll", + "lib/netstandard2.0/SafeObjectPool.xml", + "safeobjectpool.2.0.2.nupkg.sha512", + "safeobjectpool.nuspec" + ] + }, + "SharpZipLib/1.0.0": { + "sha512": "38egGevtPMQn/6olZZUteKUC7+BD47LdCGKo9Vyj17+HWDwiqPXsyJu55q9WSybhwVKwt0q2FLhiuJjZfQpsHw==", + "type": "package", + "path": "sharpziplib/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/ICSharpCode.SharpZipLib.dll", + "lib/net45/ICSharpCode.SharpZipLib.xml", + "lib/netstandard2.0/ICSharpCode.SharpZipLib.dll", + "lib/netstandard2.0/ICSharpCode.SharpZipLib.xml", + "sharpziplib.1.0.0.nupkg.sha512", + "sharpziplib.nuspec" + ] + }, + "Swashbuckle.AspNetCore/4.0.1": { + "sha512": "k8TzWTpjwO+4xXsMaaAsAPAdYKyM5wuRvSP+ZmgtyXwhW45ChBVq3xdVJ8Tz+hQ0ziBZSh5p6r2dkRN6SyasVA==", + "type": "package", + "path": "swashbuckle.aspnetcore/4.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Swashbuckle.AspNetCore.dll", + "swashbuckle.aspnetcore.4.0.1.nupkg.sha512", + "swashbuckle.aspnetcore.nuspec" + ] + }, + "Swashbuckle.AspNetCore.Swagger/4.0.1": { + "sha512": "2+dXBiOvwjNmkMkBOqGU9ShBJXQp6+UN/Kxfk3HLxwsof9zzgRZ+3rOdjHQuYiY7t1Nl7wlCgn9HbmJyZGhdaQ==", + "type": "package", + "path": "swashbuckle.aspnetcore.swagger/4.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", + "swashbuckle.aspnetcore.swagger.4.0.1.nupkg.sha512", + "swashbuckle.aspnetcore.swagger.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/4.0.1": { + "sha512": "opm/wgG8u987ZuAUtL1E8XrJig+UbGYbFmz8VnA8Vn3AqZyQZy4k243X9egz1iWl/B6sNcgMlFyv3wkdmjJX6g==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggergen/4.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "swashbuckle.aspnetcore.swaggergen.4.0.1.nupkg.sha512", + "swashbuckle.aspnetcore.swaggergen.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerUI/4.0.1": { + "sha512": "EjPeIYSMLr5FrY4sVJiWrzIQe07Hriv8tOztJa7US88im/tO+tX70y7OJ2Cr8QYojc7IotjZSH1lD8j44DLnrQ==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggerui/4.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "swashbuckle.aspnetcore.swaggerui.4.0.1.nupkg.sha512", + "swashbuckle.aspnetcore.swaggerui.nuspec" + ] + }, + "System.AppContext/4.3.0": { + "sha512": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "type": "package", + "path": "system.appcontext/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.AppContext.dll", + "lib/net463/System.AppContext.dll", + "lib/netcore50/System.AppContext.dll", + "lib/netstandard1.6/System.AppContext.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.AppContext.dll", + "ref/net463/System.AppContext.dll", + "ref/netstandard/_._", + "ref/netstandard1.3/System.AppContext.dll", + "ref/netstandard1.3/System.AppContext.xml", + "ref/netstandard1.3/de/System.AppContext.xml", + "ref/netstandard1.3/es/System.AppContext.xml", + "ref/netstandard1.3/fr/System.AppContext.xml", + "ref/netstandard1.3/it/System.AppContext.xml", + "ref/netstandard1.3/ja/System.AppContext.xml", + "ref/netstandard1.3/ko/System.AppContext.xml", + "ref/netstandard1.3/ru/System.AppContext.xml", + "ref/netstandard1.3/zh-hans/System.AppContext.xml", + "ref/netstandard1.3/zh-hant/System.AppContext.xml", + "ref/netstandard1.6/System.AppContext.dll", + "ref/netstandard1.6/System.AppContext.xml", + "ref/netstandard1.6/de/System.AppContext.xml", + "ref/netstandard1.6/es/System.AppContext.xml", + "ref/netstandard1.6/fr/System.AppContext.xml", + "ref/netstandard1.6/it/System.AppContext.xml", + "ref/netstandard1.6/ja/System.AppContext.xml", + "ref/netstandard1.6/ko/System.AppContext.xml", + "ref/netstandard1.6/ru/System.AppContext.xml", + "ref/netstandard1.6/zh-hans/System.AppContext.xml", + "ref/netstandard1.6/zh-hant/System.AppContext.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.AppContext.dll", + "system.appcontext.4.3.0.nupkg.sha512", + "system.appcontext.nuspec" + ] + }, + "System.Buffers/4.5.0": { + "sha512": "xpHYjjtyTEpzMwtSQBWdVc3dPjLdQtvyUg6fBlBqcLl1r2Y7gDG/W/enAYOB98nG3oD3Q153Y2FBO8JDWd+0Xw==", + "type": "package", + "path": "system.buffers/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.1/System.Buffers.dll", + "lib/netstandard1.1/System.Buffers.xml", + "lib/netstandard2.0/System.Buffers.dll", + "lib/netstandard2.0/System.Buffers.xml", + "lib/uap10.0.16299/_._", + "ref/net45/System.Buffers.dll", + "ref/net45/System.Buffers.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.1/System.Buffers.dll", + "ref/netstandard1.1/System.Buffers.xml", + "ref/netstandard2.0/System.Buffers.dll", + "ref/netstandard2.0/System.Buffers.xml", + "ref/uap10.0.16299/_._", + "system.buffers.4.5.0.nupkg.sha512", + "system.buffers.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Collections/4.3.0": { + "sha512": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "type": "package", + "path": "system.collections/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Collections.dll", + "ref/netcore50/System.Collections.xml", + "ref/netcore50/de/System.Collections.xml", + "ref/netcore50/es/System.Collections.xml", + "ref/netcore50/fr/System.Collections.xml", + "ref/netcore50/it/System.Collections.xml", + "ref/netcore50/ja/System.Collections.xml", + "ref/netcore50/ko/System.Collections.xml", + "ref/netcore50/ru/System.Collections.xml", + "ref/netcore50/zh-hans/System.Collections.xml", + "ref/netcore50/zh-hant/System.Collections.xml", + "ref/netstandard1.0/System.Collections.dll", + "ref/netstandard1.0/System.Collections.xml", + "ref/netstandard1.0/de/System.Collections.xml", + "ref/netstandard1.0/es/System.Collections.xml", + "ref/netstandard1.0/fr/System.Collections.xml", + "ref/netstandard1.0/it/System.Collections.xml", + "ref/netstandard1.0/ja/System.Collections.xml", + "ref/netstandard1.0/ko/System.Collections.xml", + "ref/netstandard1.0/ru/System.Collections.xml", + "ref/netstandard1.0/zh-hans/System.Collections.xml", + "ref/netstandard1.0/zh-hant/System.Collections.xml", + "ref/netstandard1.3/System.Collections.dll", + "ref/netstandard1.3/System.Collections.xml", + "ref/netstandard1.3/de/System.Collections.xml", + "ref/netstandard1.3/es/System.Collections.xml", + "ref/netstandard1.3/fr/System.Collections.xml", + "ref/netstandard1.3/it/System.Collections.xml", + "ref/netstandard1.3/ja/System.Collections.xml", + "ref/netstandard1.3/ko/System.Collections.xml", + "ref/netstandard1.3/ru/System.Collections.xml", + "ref/netstandard1.3/zh-hans/System.Collections.xml", + "ref/netstandard1.3/zh-hant/System.Collections.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.4.3.0.nupkg.sha512", + "system.collections.nuspec" + ] + }, + "System.Collections.Concurrent/4.3.0": { + "sha512": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "type": "package", + "path": "system.collections.concurrent/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Collections.Concurrent.dll", + "lib/netstandard1.3/System.Collections.Concurrent.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Collections.Concurrent.dll", + "ref/netcore50/System.Collections.Concurrent.xml", + "ref/netcore50/de/System.Collections.Concurrent.xml", + "ref/netcore50/es/System.Collections.Concurrent.xml", + "ref/netcore50/fr/System.Collections.Concurrent.xml", + "ref/netcore50/it/System.Collections.Concurrent.xml", + "ref/netcore50/ja/System.Collections.Concurrent.xml", + "ref/netcore50/ko/System.Collections.Concurrent.xml", + "ref/netcore50/ru/System.Collections.Concurrent.xml", + "ref/netcore50/zh-hans/System.Collections.Concurrent.xml", + "ref/netcore50/zh-hant/System.Collections.Concurrent.xml", + "ref/netstandard1.1/System.Collections.Concurrent.dll", + "ref/netstandard1.1/System.Collections.Concurrent.xml", + "ref/netstandard1.1/de/System.Collections.Concurrent.xml", + "ref/netstandard1.1/es/System.Collections.Concurrent.xml", + "ref/netstandard1.1/fr/System.Collections.Concurrent.xml", + "ref/netstandard1.1/it/System.Collections.Concurrent.xml", + "ref/netstandard1.1/ja/System.Collections.Concurrent.xml", + "ref/netstandard1.1/ko/System.Collections.Concurrent.xml", + "ref/netstandard1.1/ru/System.Collections.Concurrent.xml", + "ref/netstandard1.1/zh-hans/System.Collections.Concurrent.xml", + "ref/netstandard1.1/zh-hant/System.Collections.Concurrent.xml", + "ref/netstandard1.3/System.Collections.Concurrent.dll", + "ref/netstandard1.3/System.Collections.Concurrent.xml", + "ref/netstandard1.3/de/System.Collections.Concurrent.xml", + "ref/netstandard1.3/es/System.Collections.Concurrent.xml", + "ref/netstandard1.3/fr/System.Collections.Concurrent.xml", + "ref/netstandard1.3/it/System.Collections.Concurrent.xml", + "ref/netstandard1.3/ja/System.Collections.Concurrent.xml", + "ref/netstandard1.3/ko/System.Collections.Concurrent.xml", + "ref/netstandard1.3/ru/System.Collections.Concurrent.xml", + "ref/netstandard1.3/zh-hans/System.Collections.Concurrent.xml", + "ref/netstandard1.3/zh-hant/System.Collections.Concurrent.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.concurrent.4.3.0.nupkg.sha512", + "system.collections.concurrent.nuspec" + ] + }, + "System.Collections.Immutable/1.5.0": { + "sha512": "RGxi2aQoXgZ5ge0zxrKqI4PU9LrYYoLC+cnEnWXKsSduCOUhE1GEAAoTexUVT8RZOILQyy1B27HC8Xw/XLGzdQ==", + "type": "package", + "path": "system.collections.immutable/1.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.0/System.Collections.Immutable.dll", + "lib/netstandard1.0/System.Collections.Immutable.xml", + "lib/netstandard1.3/System.Collections.Immutable.dll", + "lib/netstandard1.3/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml", + "system.collections.immutable.1.5.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Collections.NonGeneric/4.3.0": { + "sha512": "/D3jtX0+u5+6rS3RGvTMyICPpIuzBgqtUYLjK1aXLua0nWH4JpM1H/tRk1Uxs6Fo0fe22jyJaTpoXPSu0il8Ug==", + "type": "package", + "path": "system.collections.nongeneric/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Collections.NonGeneric.dll", + "lib/netstandard1.3/System.Collections.NonGeneric.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Collections.NonGeneric.dll", + "ref/netstandard1.3/System.Collections.NonGeneric.dll", + "ref/netstandard1.3/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/de/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/es/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/fr/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/it/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/ja/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/ko/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/ru/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/zh-hans/System.Collections.NonGeneric.xml", + "ref/netstandard1.3/zh-hant/System.Collections.NonGeneric.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.nongeneric.4.3.0.nupkg.sha512", + "system.collections.nongeneric.nuspec" + ] + }, + "System.Collections.Specialized/4.3.0": { + "sha512": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "type": "package", + "path": "system.collections.specialized/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Collections.Specialized.dll", + "lib/netstandard1.3/System.Collections.Specialized.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Collections.Specialized.dll", + "ref/netstandard1.3/System.Collections.Specialized.dll", + "ref/netstandard1.3/System.Collections.Specialized.xml", + "ref/netstandard1.3/de/System.Collections.Specialized.xml", + "ref/netstandard1.3/es/System.Collections.Specialized.xml", + "ref/netstandard1.3/fr/System.Collections.Specialized.xml", + "ref/netstandard1.3/it/System.Collections.Specialized.xml", + "ref/netstandard1.3/ja/System.Collections.Specialized.xml", + "ref/netstandard1.3/ko/System.Collections.Specialized.xml", + "ref/netstandard1.3/ru/System.Collections.Specialized.xml", + "ref/netstandard1.3/zh-hans/System.Collections.Specialized.xml", + "ref/netstandard1.3/zh-hant/System.Collections.Specialized.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.specialized.4.3.0.nupkg.sha512", + "system.collections.specialized.nuspec" + ] + }, + "System.ComponentModel/4.3.0": { + "sha512": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "type": "package", + "path": "system.componentmodel/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.ComponentModel.dll", + "lib/netstandard1.3/System.ComponentModel.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.ComponentModel.dll", + "ref/netcore50/System.ComponentModel.xml", + "ref/netcore50/de/System.ComponentModel.xml", + "ref/netcore50/es/System.ComponentModel.xml", + "ref/netcore50/fr/System.ComponentModel.xml", + "ref/netcore50/it/System.ComponentModel.xml", + "ref/netcore50/ja/System.ComponentModel.xml", + "ref/netcore50/ko/System.ComponentModel.xml", + "ref/netcore50/ru/System.ComponentModel.xml", + "ref/netcore50/zh-hans/System.ComponentModel.xml", + "ref/netcore50/zh-hant/System.ComponentModel.xml", + "ref/netstandard1.0/System.ComponentModel.dll", + "ref/netstandard1.0/System.ComponentModel.xml", + "ref/netstandard1.0/de/System.ComponentModel.xml", + "ref/netstandard1.0/es/System.ComponentModel.xml", + "ref/netstandard1.0/fr/System.ComponentModel.xml", + "ref/netstandard1.0/it/System.ComponentModel.xml", + "ref/netstandard1.0/ja/System.ComponentModel.xml", + "ref/netstandard1.0/ko/System.ComponentModel.xml", + "ref/netstandard1.0/ru/System.ComponentModel.xml", + "ref/netstandard1.0/zh-hans/System.ComponentModel.xml", + "ref/netstandard1.0/zh-hant/System.ComponentModel.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.componentmodel.4.3.0.nupkg.sha512", + "system.componentmodel.nuspec" + ] + }, + "System.ComponentModel.Annotations/4.5.0": { + "sha512": "IjDa643EO77A4CL9dhxfZ6zzGu+pM8Ar0NYPRMN3TvDiga4uGDzFHOj/ArpyNxxKyO5IFT2LZ0rK3kUog7g3jA==", + "type": "package", + "path": "system.componentmodel.annotations/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net461/System.ComponentModel.Annotations.dll", + "lib/netcore50/System.ComponentModel.Annotations.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.4/System.ComponentModel.Annotations.dll", + "lib/netstandard2.0/System.ComponentModel.Annotations.dll", + "lib/portable-net45+win8/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net461/System.ComponentModel.Annotations.dll", + "ref/net461/System.ComponentModel.Annotations.xml", + "ref/netcore50/System.ComponentModel.Annotations.dll", + "ref/netcore50/System.ComponentModel.Annotations.xml", + "ref/netcore50/de/System.ComponentModel.Annotations.xml", + "ref/netcore50/es/System.ComponentModel.Annotations.xml", + "ref/netcore50/fr/System.ComponentModel.Annotations.xml", + "ref/netcore50/it/System.ComponentModel.Annotations.xml", + "ref/netcore50/ja/System.ComponentModel.Annotations.xml", + "ref/netcore50/ko/System.ComponentModel.Annotations.xml", + "ref/netcore50/ru/System.ComponentModel.Annotations.xml", + "ref/netcore50/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netcore50/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.1/System.ComponentModel.Annotations.dll", + "ref/netstandard1.1/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/de/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/es/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/fr/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/it/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/ja/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/ko/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/ru/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netstandard1.1/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/System.ComponentModel.Annotations.dll", + "ref/netstandard1.3/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/de/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/es/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/fr/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/it/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/ja/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/ko/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/ru/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netstandard1.3/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/System.ComponentModel.Annotations.dll", + "ref/netstandard1.4/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/de/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/es/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/fr/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/it/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/ja/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/ko/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/ru/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/zh-hans/System.ComponentModel.Annotations.xml", + "ref/netstandard1.4/zh-hant/System.ComponentModel.Annotations.xml", + "ref/netstandard2.0/System.ComponentModel.Annotations.dll", + "ref/netstandard2.0/System.ComponentModel.Annotations.xml", + "ref/portable-net45+win8/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.componentmodel.annotations.4.5.0.nupkg.sha512", + "system.componentmodel.annotations.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.ComponentModel.Primitives/4.3.0": { + "sha512": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "type": "package", + "path": "system.componentmodel.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/System.ComponentModel.Primitives.dll", + "lib/netstandard1.0/System.ComponentModel.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/System.ComponentModel.Primitives.dll", + "ref/netstandard1.0/System.ComponentModel.Primitives.dll", + "ref/netstandard1.0/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/de/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/es/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/fr/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/it/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/ja/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/ko/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/ru/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.ComponentModel.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.ComponentModel.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.componentmodel.primitives.4.3.0.nupkg.sha512", + "system.componentmodel.primitives.nuspec" + ] + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "sha512": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "type": "package", + "path": "system.componentmodel.typeconverter/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/System.ComponentModel.TypeConverter.dll", + "lib/net462/System.ComponentModel.TypeConverter.dll", + "lib/netstandard1.0/System.ComponentModel.TypeConverter.dll", + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/System.ComponentModel.TypeConverter.dll", + "ref/net462/System.ComponentModel.TypeConverter.dll", + "ref/netstandard1.0/System.ComponentModel.TypeConverter.dll", + "ref/netstandard1.0/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/de/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/es/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/fr/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/it/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/ja/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/ko/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/ru/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/zh-hans/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.0/zh-hant/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/System.ComponentModel.TypeConverter.dll", + "ref/netstandard1.5/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/de/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/es/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/fr/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/it/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/ja/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/ko/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/ru/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/zh-hans/System.ComponentModel.TypeConverter.xml", + "ref/netstandard1.5/zh-hant/System.ComponentModel.TypeConverter.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.componentmodel.typeconverter.4.3.0.nupkg.sha512", + "system.componentmodel.typeconverter.nuspec" + ] + }, + "System.Console/4.3.0": { + "sha512": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "type": "package", + "path": "system.console/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Console.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Console.dll", + "ref/netstandard1.3/System.Console.dll", + "ref/netstandard1.3/System.Console.xml", + "ref/netstandard1.3/de/System.Console.xml", + "ref/netstandard1.3/es/System.Console.xml", + "ref/netstandard1.3/fr/System.Console.xml", + "ref/netstandard1.3/it/System.Console.xml", + "ref/netstandard1.3/ja/System.Console.xml", + "ref/netstandard1.3/ko/System.Console.xml", + "ref/netstandard1.3/ru/System.Console.xml", + "ref/netstandard1.3/zh-hans/System.Console.xml", + "ref/netstandard1.3/zh-hant/System.Console.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.console.4.3.0.nupkg.sha512", + "system.console.nuspec" + ] + }, + "System.Data.SqlClient/4.4.0": { + "sha512": "yuMDT9o4j0n3XnH7o7EYliyjUYPQ4RBo9tTNA+M6/KQKMcKXKGqHoq2gCb2sEHCRs5HjTwRlwT/F1JVdYaNaDA==", + "type": "package", + "path": "system.data.sqlclient/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net451/System.Data.SqlClient.dll", + "lib/net46/System.Data.SqlClient.dll", + "lib/net461/System.Data.SqlClient.dll", + "lib/netstandard1.2/System.Data.SqlClient.dll", + "lib/netstandard1.3/System.Data.SqlClient.dll", + "lib/netstandard2.0/System.Data.SqlClient.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net451/System.Data.SqlClient.dll", + "ref/net46/System.Data.SqlClient.dll", + "ref/net461/System.Data.SqlClient.dll", + "ref/net461/System.Data.SqlClient.xml", + "ref/netstandard1.2/System.Data.SqlClient.dll", + "ref/netstandard1.2/System.Data.SqlClient.xml", + "ref/netstandard1.2/de/System.Data.SqlClient.xml", + "ref/netstandard1.2/es/System.Data.SqlClient.xml", + "ref/netstandard1.2/fr/System.Data.SqlClient.xml", + "ref/netstandard1.2/it/System.Data.SqlClient.xml", + "ref/netstandard1.2/ja/System.Data.SqlClient.xml", + "ref/netstandard1.2/ko/System.Data.SqlClient.xml", + "ref/netstandard1.2/ru/System.Data.SqlClient.xml", + "ref/netstandard1.2/zh-hans/System.Data.SqlClient.xml", + "ref/netstandard1.2/zh-hant/System.Data.SqlClient.xml", + "ref/netstandard1.3/System.Data.SqlClient.dll", + "ref/netstandard1.3/System.Data.SqlClient.xml", + "ref/netstandard1.3/de/System.Data.SqlClient.xml", + "ref/netstandard1.3/es/System.Data.SqlClient.xml", + "ref/netstandard1.3/fr/System.Data.SqlClient.xml", + "ref/netstandard1.3/it/System.Data.SqlClient.xml", + "ref/netstandard1.3/ja/System.Data.SqlClient.xml", + "ref/netstandard1.3/ko/System.Data.SqlClient.xml", + "ref/netstandard1.3/ru/System.Data.SqlClient.xml", + "ref/netstandard1.3/zh-hans/System.Data.SqlClient.xml", + "ref/netstandard1.3/zh-hant/System.Data.SqlClient.xml", + "ref/netstandard2.0/System.Data.SqlClient.dll", + "ref/netstandard2.0/System.Data.SqlClient.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Data.SqlClient.dll", + "runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll", + "runtimes/win/lib/net451/System.Data.SqlClient.dll", + "runtimes/win/lib/net46/System.Data.SqlClient.dll", + "runtimes/win/lib/net461/System.Data.SqlClient.dll", + "runtimes/win/lib/netstandard1.3/System.Data.SqlClient.dll", + "runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll", + "system.data.sqlclient.4.4.0.nupkg.sha512", + "system.data.sqlclient.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Diagnostics.Debug/4.3.0": { + "sha512": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "type": "package", + "path": "system.diagnostics.debug/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Debug.dll", + "ref/netcore50/System.Diagnostics.Debug.xml", + "ref/netcore50/de/System.Diagnostics.Debug.xml", + "ref/netcore50/es/System.Diagnostics.Debug.xml", + "ref/netcore50/fr/System.Diagnostics.Debug.xml", + "ref/netcore50/it/System.Diagnostics.Debug.xml", + "ref/netcore50/ja/System.Diagnostics.Debug.xml", + "ref/netcore50/ko/System.Diagnostics.Debug.xml", + "ref/netcore50/ru/System.Diagnostics.Debug.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/System.Diagnostics.Debug.dll", + "ref/netstandard1.0/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/de/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/es/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/fr/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/it/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ja/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ko/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ru/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/System.Diagnostics.Debug.dll", + "ref/netstandard1.3/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/de/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/es/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/fr/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/it/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ja/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ko/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ru/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.debug.4.3.0.nupkg.sha512", + "system.diagnostics.debug.nuspec" + ] + }, + "System.Diagnostics.DiagnosticSource/4.5.0": { + "sha512": "UumL3CJklk5WyEt0eImPmjeuyY1JgJ7Thmg2hAeZGKCv+9iuuAsoc2wcXjypdo3J8VNEmVCH2Bgn/kIw8NI2bA==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net45/System.Diagnostics.DiagnosticSource.dll", + "lib/net45/System.Diagnostics.DiagnosticSource.xml", + "lib/net46/System.Diagnostics.DiagnosticSource.dll", + "lib/net46/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.xml", + "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll", + "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.4.5.0.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Diagnostics.FileVersionInfo/4.3.0": { + "sha512": "OEshwk5wkdxtGkFZYSErv6dnUuz0z8C01htylGwOwFnCVFRcrvleBtplMDCk9nMyWP41cbMZGEIBfy7HV1Loug==", + "type": "package", + "path": "system.diagnostics.fileversioninfo/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Diagnostics.FileVersionInfo.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Diagnostics.FileVersionInfo.dll", + "ref/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", + "ref/netstandard1.3/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/de/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/es/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/fr/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/it/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/ja/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/ko/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/ru/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.FileVersionInfo.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.FileVersionInfo.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", + "runtimes/win/lib/net46/System.Diagnostics.FileVersionInfo.dll", + "runtimes/win/lib/netcore50/System.Diagnostics.FileVersionInfo.dll", + "runtimes/win/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", + "system.diagnostics.fileversioninfo.4.3.0.nupkg.sha512", + "system.diagnostics.fileversioninfo.nuspec" + ] + }, + "System.Diagnostics.StackTrace/4.3.0": { + "sha512": "BiHg0vgtd35/DM9jvtaC1eKRpWZxr0gcQd643ABG7GnvSlf5pOkY2uyd42mMOJoOmKvnpNj0F4tuoS1pacTwYw==", + "type": "package", + "path": "system.diagnostics.stacktrace/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Diagnostics.StackTrace.dll", + "lib/netstandard1.3/System.Diagnostics.StackTrace.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Diagnostics.StackTrace.dll", + "ref/netstandard1.3/System.Diagnostics.StackTrace.dll", + "ref/netstandard1.3/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/de/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/es/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/fr/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/it/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/ja/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/ko/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/ru/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.StackTrace.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.StackTrace.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Diagnostics.StackTrace.dll", + "system.diagnostics.stacktrace.4.3.0.nupkg.sha512", + "system.diagnostics.stacktrace.nuspec" + ] + }, + "System.Diagnostics.Tools/4.3.0": { + "sha512": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "type": "package", + "path": "system.diagnostics.tools/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Tools.dll", + "ref/netcore50/System.Diagnostics.Tools.xml", + "ref/netcore50/de/System.Diagnostics.Tools.xml", + "ref/netcore50/es/System.Diagnostics.Tools.xml", + "ref/netcore50/fr/System.Diagnostics.Tools.xml", + "ref/netcore50/it/System.Diagnostics.Tools.xml", + "ref/netcore50/ja/System.Diagnostics.Tools.xml", + "ref/netcore50/ko/System.Diagnostics.Tools.xml", + "ref/netcore50/ru/System.Diagnostics.Tools.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Tools.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/System.Diagnostics.Tools.dll", + "ref/netstandard1.0/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/de/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/es/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/fr/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/it/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ja/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ko/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ru/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.tools.4.3.0.nupkg.sha512", + "system.diagnostics.tools.nuspec" + ] + }, + "System.Diagnostics.Tracing/4.3.0": { + "sha512": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "type": "package", + "path": "system.diagnostics.tracing/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Diagnostics.Tracing.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Diagnostics.Tracing.dll", + "ref/netcore50/System.Diagnostics.Tracing.dll", + "ref/netcore50/System.Diagnostics.Tracing.xml", + "ref/netcore50/de/System.Diagnostics.Tracing.xml", + "ref/netcore50/es/System.Diagnostics.Tracing.xml", + "ref/netcore50/fr/System.Diagnostics.Tracing.xml", + "ref/netcore50/it/System.Diagnostics.Tracing.xml", + "ref/netcore50/ja/System.Diagnostics.Tracing.xml", + "ref/netcore50/ko/System.Diagnostics.Tracing.xml", + "ref/netcore50/ru/System.Diagnostics.Tracing.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/System.Diagnostics.Tracing.dll", + "ref/netstandard1.1/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.1/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/System.Diagnostics.Tracing.dll", + "ref/netstandard1.2/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.2/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/System.Diagnostics.Tracing.dll", + "ref/netstandard1.3/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/System.Diagnostics.Tracing.dll", + "ref/netstandard1.5/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/de/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/es/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/fr/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/it/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/ja/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/ko/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/ru/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/zh-hans/System.Diagnostics.Tracing.xml", + "ref/netstandard1.5/zh-hant/System.Diagnostics.Tracing.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.tracing.4.3.0.nupkg.sha512", + "system.diagnostics.tracing.nuspec" + ] + }, + "System.Drawing.Common/4.5.1": { + "sha512": "m3c7Fe/CS/jZ/nLBrxCCh52dYiC33GPbGfcF4CiVukb8+p121XUTHxs6sYKbWfvDVD8JssHcM+HVFLtzl3X3Xw==", + "type": "package", + "path": "system.drawing.common/4.5.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Drawing.Common.dll", + "lib/netstandard2.0/System.Drawing.Common.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net461/System.Drawing.Common.dll", + "ref/netstandard2.0/System.Drawing.Common.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netcoreapp2.0/System.Drawing.Common.dll", + "runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll", + "system.drawing.common.4.5.1.nupkg.sha512", + "system.drawing.common.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Dynamic.Runtime/4.3.0": { + "sha512": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "type": "package", + "path": "system.dynamic.runtime/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Dynamic.Runtime.dll", + "lib/netstandard1.3/System.Dynamic.Runtime.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Dynamic.Runtime.dll", + "ref/netcore50/System.Dynamic.Runtime.xml", + "ref/netcore50/de/System.Dynamic.Runtime.xml", + "ref/netcore50/es/System.Dynamic.Runtime.xml", + "ref/netcore50/fr/System.Dynamic.Runtime.xml", + "ref/netcore50/it/System.Dynamic.Runtime.xml", + "ref/netcore50/ja/System.Dynamic.Runtime.xml", + "ref/netcore50/ko/System.Dynamic.Runtime.xml", + "ref/netcore50/ru/System.Dynamic.Runtime.xml", + "ref/netcore50/zh-hans/System.Dynamic.Runtime.xml", + "ref/netcore50/zh-hant/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/System.Dynamic.Runtime.dll", + "ref/netstandard1.0/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/de/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/es/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/fr/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/it/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/ja/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/ko/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/ru/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/zh-hans/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/zh-hant/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/System.Dynamic.Runtime.dll", + "ref/netstandard1.3/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/de/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/es/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/fr/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/it/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/ja/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/ko/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/ru/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/zh-hans/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/zh-hant/System.Dynamic.Runtime.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Dynamic.Runtime.dll", + "system.dynamic.runtime.4.3.0.nupkg.sha512", + "system.dynamic.runtime.nuspec" + ] + }, + "System.Globalization/4.3.0": { + "sha512": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "type": "package", + "path": "system.globalization/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/netstandard1.0/System.Globalization.dll", + "ref/netstandard1.0/System.Globalization.xml", + "ref/netstandard1.0/de/System.Globalization.xml", + "ref/netstandard1.0/es/System.Globalization.xml", + "ref/netstandard1.0/fr/System.Globalization.xml", + "ref/netstandard1.0/it/System.Globalization.xml", + "ref/netstandard1.0/ja/System.Globalization.xml", + "ref/netstandard1.0/ko/System.Globalization.xml", + "ref/netstandard1.0/ru/System.Globalization.xml", + "ref/netstandard1.0/zh-hans/System.Globalization.xml", + "ref/netstandard1.0/zh-hant/System.Globalization.xml", + "ref/netstandard1.3/System.Globalization.dll", + "ref/netstandard1.3/System.Globalization.xml", + "ref/netstandard1.3/de/System.Globalization.xml", + "ref/netstandard1.3/es/System.Globalization.xml", + "ref/netstandard1.3/fr/System.Globalization.xml", + "ref/netstandard1.3/it/System.Globalization.xml", + "ref/netstandard1.3/ja/System.Globalization.xml", + "ref/netstandard1.3/ko/System.Globalization.xml", + "ref/netstandard1.3/ru/System.Globalization.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.globalization.4.3.0.nupkg.sha512", + "system.globalization.nuspec" + ] + }, + "System.Globalization.Calendars/4.3.0": { + "sha512": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "type": "package", + "path": "system.globalization.calendars/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Globalization.Calendars.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Globalization.Calendars.dll", + "ref/netstandard1.3/System.Globalization.Calendars.dll", + "ref/netstandard1.3/System.Globalization.Calendars.xml", + "ref/netstandard1.3/de/System.Globalization.Calendars.xml", + "ref/netstandard1.3/es/System.Globalization.Calendars.xml", + "ref/netstandard1.3/fr/System.Globalization.Calendars.xml", + "ref/netstandard1.3/it/System.Globalization.Calendars.xml", + "ref/netstandard1.3/ja/System.Globalization.Calendars.xml", + "ref/netstandard1.3/ko/System.Globalization.Calendars.xml", + "ref/netstandard1.3/ru/System.Globalization.Calendars.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.Calendars.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.Calendars.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.globalization.calendars.4.3.0.nupkg.sha512", + "system.globalization.calendars.nuspec" + ] + }, + "System.Globalization.Extensions/4.3.0": { + "sha512": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "type": "package", + "path": "system.globalization.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Globalization.Extensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Globalization.Extensions.dll", + "ref/netstandard1.3/System.Globalization.Extensions.dll", + "ref/netstandard1.3/System.Globalization.Extensions.xml", + "ref/netstandard1.3/de/System.Globalization.Extensions.xml", + "ref/netstandard1.3/es/System.Globalization.Extensions.xml", + "ref/netstandard1.3/fr/System.Globalization.Extensions.xml", + "ref/netstandard1.3/it/System.Globalization.Extensions.xml", + "ref/netstandard1.3/ja/System.Globalization.Extensions.xml", + "ref/netstandard1.3/ko/System.Globalization.Extensions.xml", + "ref/netstandard1.3/ru/System.Globalization.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.Extensions.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll", + "runtimes/win/lib/net46/System.Globalization.Extensions.dll", + "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll", + "system.globalization.extensions.4.3.0.nupkg.sha512", + "system.globalization.extensions.nuspec" + ] + }, + "System.Interactive.Async/3.2.0": { + "sha512": "T3nigy9yShklMyVu7I2TvlVMRy2vUn9oQeBaRy0KZcOptyy+rUbekYaXxoa3s0h2tWT3UVtzrGkQC89CBbCtlg==", + "type": "package", + "path": "system.interactive.async/3.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/System.Interactive.Async.dll", + "lib/net45/System.Interactive.Async.xml", + "lib/net46/System.Interactive.Async.dll", + "lib/net46/System.Interactive.Async.xml", + "lib/netstandard1.0/System.Interactive.Async.dll", + "lib/netstandard1.0/System.Interactive.Async.xml", + "lib/netstandard1.3/System.Interactive.Async.dll", + "lib/netstandard1.3/System.Interactive.Async.xml", + "lib/netstandard2.0/System.Interactive.Async.dll", + "lib/netstandard2.0/System.Interactive.Async.xml", + "system.interactive.async.3.2.0.nupkg.sha512", + "system.interactive.async.nuspec" + ] + }, + "System.IO/4.3.0": { + "sha512": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "type": "package", + "path": "system.io/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.IO.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.IO.dll", + "ref/netcore50/System.IO.dll", + "ref/netcore50/System.IO.xml", + "ref/netcore50/de/System.IO.xml", + "ref/netcore50/es/System.IO.xml", + "ref/netcore50/fr/System.IO.xml", + "ref/netcore50/it/System.IO.xml", + "ref/netcore50/ja/System.IO.xml", + "ref/netcore50/ko/System.IO.xml", + "ref/netcore50/ru/System.IO.xml", + "ref/netcore50/zh-hans/System.IO.xml", + "ref/netcore50/zh-hant/System.IO.xml", + "ref/netstandard1.0/System.IO.dll", + "ref/netstandard1.0/System.IO.xml", + "ref/netstandard1.0/de/System.IO.xml", + "ref/netstandard1.0/es/System.IO.xml", + "ref/netstandard1.0/fr/System.IO.xml", + "ref/netstandard1.0/it/System.IO.xml", + "ref/netstandard1.0/ja/System.IO.xml", + "ref/netstandard1.0/ko/System.IO.xml", + "ref/netstandard1.0/ru/System.IO.xml", + "ref/netstandard1.0/zh-hans/System.IO.xml", + "ref/netstandard1.0/zh-hant/System.IO.xml", + "ref/netstandard1.3/System.IO.dll", + "ref/netstandard1.3/System.IO.xml", + "ref/netstandard1.3/de/System.IO.xml", + "ref/netstandard1.3/es/System.IO.xml", + "ref/netstandard1.3/fr/System.IO.xml", + "ref/netstandard1.3/it/System.IO.xml", + "ref/netstandard1.3/ja/System.IO.xml", + "ref/netstandard1.3/ko/System.IO.xml", + "ref/netstandard1.3/ru/System.IO.xml", + "ref/netstandard1.3/zh-hans/System.IO.xml", + "ref/netstandard1.3/zh-hant/System.IO.xml", + "ref/netstandard1.5/System.IO.dll", + "ref/netstandard1.5/System.IO.xml", + "ref/netstandard1.5/de/System.IO.xml", + "ref/netstandard1.5/es/System.IO.xml", + "ref/netstandard1.5/fr/System.IO.xml", + "ref/netstandard1.5/it/System.IO.xml", + "ref/netstandard1.5/ja/System.IO.xml", + "ref/netstandard1.5/ko/System.IO.xml", + "ref/netstandard1.5/ru/System.IO.xml", + "ref/netstandard1.5/zh-hans/System.IO.xml", + "ref/netstandard1.5/zh-hant/System.IO.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.4.3.0.nupkg.sha512", + "system.io.nuspec" + ] + }, + "System.IO.Compression/4.3.0": { + "sha512": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "type": "package", + "path": "system.io.compression/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net46/System.IO.Compression.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net46/System.IO.Compression.dll", + "ref/netcore50/System.IO.Compression.dll", + "ref/netcore50/System.IO.Compression.xml", + "ref/netcore50/de/System.IO.Compression.xml", + "ref/netcore50/es/System.IO.Compression.xml", + "ref/netcore50/fr/System.IO.Compression.xml", + "ref/netcore50/it/System.IO.Compression.xml", + "ref/netcore50/ja/System.IO.Compression.xml", + "ref/netcore50/ko/System.IO.Compression.xml", + "ref/netcore50/ru/System.IO.Compression.xml", + "ref/netcore50/zh-hans/System.IO.Compression.xml", + "ref/netcore50/zh-hant/System.IO.Compression.xml", + "ref/netstandard1.1/System.IO.Compression.dll", + "ref/netstandard1.1/System.IO.Compression.xml", + "ref/netstandard1.1/de/System.IO.Compression.xml", + "ref/netstandard1.1/es/System.IO.Compression.xml", + "ref/netstandard1.1/fr/System.IO.Compression.xml", + "ref/netstandard1.1/it/System.IO.Compression.xml", + "ref/netstandard1.1/ja/System.IO.Compression.xml", + "ref/netstandard1.1/ko/System.IO.Compression.xml", + "ref/netstandard1.1/ru/System.IO.Compression.xml", + "ref/netstandard1.1/zh-hans/System.IO.Compression.xml", + "ref/netstandard1.1/zh-hant/System.IO.Compression.xml", + "ref/netstandard1.3/System.IO.Compression.dll", + "ref/netstandard1.3/System.IO.Compression.xml", + "ref/netstandard1.3/de/System.IO.Compression.xml", + "ref/netstandard1.3/es/System.IO.Compression.xml", + "ref/netstandard1.3/fr/System.IO.Compression.xml", + "ref/netstandard1.3/it/System.IO.Compression.xml", + "ref/netstandard1.3/ja/System.IO.Compression.xml", + "ref/netstandard1.3/ko/System.IO.Compression.xml", + "ref/netstandard1.3/ru/System.IO.Compression.xml", + "ref/netstandard1.3/zh-hans/System.IO.Compression.xml", + "ref/netstandard1.3/zh-hant/System.IO.Compression.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll", + "runtimes/win/lib/net46/System.IO.Compression.dll", + "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll", + "system.io.compression.4.3.0.nupkg.sha512", + "system.io.compression.nuspec" + ] + }, + "System.IO.FileSystem/4.3.0": { + "sha512": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "type": "package", + "path": "system.io.filesystem/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.dll", + "ref/netstandard1.3/System.IO.FileSystem.dll", + "ref/netstandard1.3/System.IO.FileSystem.xml", + "ref/netstandard1.3/de/System.IO.FileSystem.xml", + "ref/netstandard1.3/es/System.IO.FileSystem.xml", + "ref/netstandard1.3/fr/System.IO.FileSystem.xml", + "ref/netstandard1.3/it/System.IO.FileSystem.xml", + "ref/netstandard1.3/ja/System.IO.FileSystem.xml", + "ref/netstandard1.3/ko/System.IO.FileSystem.xml", + "ref/netstandard1.3/ru/System.IO.FileSystem.xml", + "ref/netstandard1.3/zh-hans/System.IO.FileSystem.xml", + "ref/netstandard1.3/zh-hant/System.IO.FileSystem.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.filesystem.4.3.0.nupkg.sha512", + "system.io.filesystem.nuspec" + ] + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "sha512": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "type": "package", + "path": "system.io.filesystem.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.Primitives.dll", + "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll", + "ref/netstandard1.3/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/de/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/es/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/fr/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/it/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ja/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ko/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ru/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.filesystem.primitives.4.3.0.nupkg.sha512", + "system.io.filesystem.primitives.nuspec" + ] + }, + "System.IO.Pipelines/4.5.2": { + "sha512": "hKbZx0AW9N6OLeXrgdrKJH5k8goImfd89EuvRtZRv6v7qBhwRX1mXEASYkoYIenmNrVtj0HYv4/Rk68t1e3agA==", + "type": "package", + "path": "system.io.pipelines/4.5.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.1/System.IO.Pipelines.dll", + "lib/netcoreapp2.1/System.IO.Pipelines.xml", + "lib/netstandard1.3/System.IO.Pipelines.dll", + "lib/netstandard1.3/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "ref/netstandard1.3/System.IO.Pipelines.dll", + "system.io.pipelines.4.5.2.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Linq/4.3.0": { + "sha512": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "type": "package", + "path": "system.linq/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Linq.dll", + "lib/netcore50/System.Linq.dll", + "lib/netstandard1.6/System.Linq.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Linq.dll", + "ref/netcore50/System.Linq.dll", + "ref/netcore50/System.Linq.xml", + "ref/netcore50/de/System.Linq.xml", + "ref/netcore50/es/System.Linq.xml", + "ref/netcore50/fr/System.Linq.xml", + "ref/netcore50/it/System.Linq.xml", + "ref/netcore50/ja/System.Linq.xml", + "ref/netcore50/ko/System.Linq.xml", + "ref/netcore50/ru/System.Linq.xml", + "ref/netcore50/zh-hans/System.Linq.xml", + "ref/netcore50/zh-hant/System.Linq.xml", + "ref/netstandard1.0/System.Linq.dll", + "ref/netstandard1.0/System.Linq.xml", + "ref/netstandard1.0/de/System.Linq.xml", + "ref/netstandard1.0/es/System.Linq.xml", + "ref/netstandard1.0/fr/System.Linq.xml", + "ref/netstandard1.0/it/System.Linq.xml", + "ref/netstandard1.0/ja/System.Linq.xml", + "ref/netstandard1.0/ko/System.Linq.xml", + "ref/netstandard1.0/ru/System.Linq.xml", + "ref/netstandard1.0/zh-hans/System.Linq.xml", + "ref/netstandard1.0/zh-hant/System.Linq.xml", + "ref/netstandard1.6/System.Linq.dll", + "ref/netstandard1.6/System.Linq.xml", + "ref/netstandard1.6/de/System.Linq.xml", + "ref/netstandard1.6/es/System.Linq.xml", + "ref/netstandard1.6/fr/System.Linq.xml", + "ref/netstandard1.6/it/System.Linq.xml", + "ref/netstandard1.6/ja/System.Linq.xml", + "ref/netstandard1.6/ko/System.Linq.xml", + "ref/netstandard1.6/ru/System.Linq.xml", + "ref/netstandard1.6/zh-hans/System.Linq.xml", + "ref/netstandard1.6/zh-hant/System.Linq.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.linq.4.3.0.nupkg.sha512", + "system.linq.nuspec" + ] + }, + "System.Linq.Expressions/4.3.0": { + "sha512": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "type": "package", + "path": "system.linq.expressions/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Linq.Expressions.dll", + "lib/netcore50/System.Linq.Expressions.dll", + "lib/netstandard1.6/System.Linq.Expressions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Linq.Expressions.dll", + "ref/netcore50/System.Linq.Expressions.dll", + "ref/netcore50/System.Linq.Expressions.xml", + "ref/netcore50/de/System.Linq.Expressions.xml", + "ref/netcore50/es/System.Linq.Expressions.xml", + "ref/netcore50/fr/System.Linq.Expressions.xml", + "ref/netcore50/it/System.Linq.Expressions.xml", + "ref/netcore50/ja/System.Linq.Expressions.xml", + "ref/netcore50/ko/System.Linq.Expressions.xml", + "ref/netcore50/ru/System.Linq.Expressions.xml", + "ref/netcore50/zh-hans/System.Linq.Expressions.xml", + "ref/netcore50/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.0/System.Linq.Expressions.dll", + "ref/netstandard1.0/System.Linq.Expressions.xml", + "ref/netstandard1.0/de/System.Linq.Expressions.xml", + "ref/netstandard1.0/es/System.Linq.Expressions.xml", + "ref/netstandard1.0/fr/System.Linq.Expressions.xml", + "ref/netstandard1.0/it/System.Linq.Expressions.xml", + "ref/netstandard1.0/ja/System.Linq.Expressions.xml", + "ref/netstandard1.0/ko/System.Linq.Expressions.xml", + "ref/netstandard1.0/ru/System.Linq.Expressions.xml", + "ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.3/System.Linq.Expressions.dll", + "ref/netstandard1.3/System.Linq.Expressions.xml", + "ref/netstandard1.3/de/System.Linq.Expressions.xml", + "ref/netstandard1.3/es/System.Linq.Expressions.xml", + "ref/netstandard1.3/fr/System.Linq.Expressions.xml", + "ref/netstandard1.3/it/System.Linq.Expressions.xml", + "ref/netstandard1.3/ja/System.Linq.Expressions.xml", + "ref/netstandard1.3/ko/System.Linq.Expressions.xml", + "ref/netstandard1.3/ru/System.Linq.Expressions.xml", + "ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.6/System.Linq.Expressions.dll", + "ref/netstandard1.6/System.Linq.Expressions.xml", + "ref/netstandard1.6/de/System.Linq.Expressions.xml", + "ref/netstandard1.6/es/System.Linq.Expressions.xml", + "ref/netstandard1.6/fr/System.Linq.Expressions.xml", + "ref/netstandard1.6/it/System.Linq.Expressions.xml", + "ref/netstandard1.6/ja/System.Linq.Expressions.xml", + "ref/netstandard1.6/ko/System.Linq.Expressions.xml", + "ref/netstandard1.6/ru/System.Linq.Expressions.xml", + "ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Linq.Expressions.dll", + "system.linq.expressions.4.3.0.nupkg.sha512", + "system.linq.expressions.nuspec" + ] + }, + "System.Linq.Queryable/4.0.1": { + "sha512": "Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", + "type": "package", + "path": "system.linq.queryable/4.0.1", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/monoandroid10/_._", + "lib/monotouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Linq.Queryable.dll", + "lib/netstandard1.3/System.Linq.Queryable.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/monoandroid10/_._", + "ref/monotouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Linq.Queryable.dll", + "ref/netcore50/System.Linq.Queryable.xml", + "ref/netcore50/de/System.Linq.Queryable.xml", + "ref/netcore50/es/System.Linq.Queryable.xml", + "ref/netcore50/fr/System.Linq.Queryable.xml", + "ref/netcore50/it/System.Linq.Queryable.xml", + "ref/netcore50/ja/System.Linq.Queryable.xml", + "ref/netcore50/ko/System.Linq.Queryable.xml", + "ref/netcore50/ru/System.Linq.Queryable.xml", + "ref/netcore50/zh-hans/System.Linq.Queryable.xml", + "ref/netcore50/zh-hant/System.Linq.Queryable.xml", + "ref/netstandard1.0/System.Linq.Queryable.dll", + "ref/netstandard1.0/System.Linq.Queryable.xml", + "ref/netstandard1.0/de/System.Linq.Queryable.xml", + "ref/netstandard1.0/es/System.Linq.Queryable.xml", + "ref/netstandard1.0/fr/System.Linq.Queryable.xml", + "ref/netstandard1.0/it/System.Linq.Queryable.xml", + "ref/netstandard1.0/ja/System.Linq.Queryable.xml", + "ref/netstandard1.0/ko/System.Linq.Queryable.xml", + "ref/netstandard1.0/ru/System.Linq.Queryable.xml", + "ref/netstandard1.0/zh-hans/System.Linq.Queryable.xml", + "ref/netstandard1.0/zh-hant/System.Linq.Queryable.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.linq.queryable.4.0.1.nupkg.sha512", + "system.linq.queryable.nuspec" + ] + }, + "System.Memory/4.5.1": { + "sha512": "vcG3/MbfpxznMkkkaAblJi7RHOmuP7kawQMhDgLSuA1tRpRQYsFSCTxRSINDUgn2QNn2jWeLxv8er5BXbyACkw==", + "type": "package", + "path": "system.memory/4.5.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.1/_._", + "lib/netstandard1.1/System.Memory.dll", + "lib/netstandard1.1/System.Memory.xml", + "lib/netstandard2.0/System.Memory.dll", + "lib/netstandard2.0/System.Memory.xml", + "ref/netcoreapp2.1/_._", + "ref/netstandard1.1/System.Memory.dll", + "ref/netstandard1.1/System.Memory.xml", + "ref/netstandard2.0/System.Memory.dll", + "ref/netstandard2.0/System.Memory.xml", + "system.memory.4.5.1.nupkg.sha512", + "system.memory.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Net.NameResolution/4.3.0": { + "sha512": "DPvMSdd32CbEOCTtOpO4nY9UvbP6LJe375F1yEQjy667WT5LEh1Ek2T4DSVw1STR0K3LSawWfBFwoeSG0TXFeA==", + "type": "package", + "path": "system.net.nameresolution/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Net.NameResolution.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Net.NameResolution.dll", + "ref/netstandard1.3/System.Net.NameResolution.dll", + "ref/netstandard1.3/System.Net.NameResolution.xml", + "ref/netstandard1.3/de/System.Net.NameResolution.xml", + "ref/netstandard1.3/es/System.Net.NameResolution.xml", + "ref/netstandard1.3/fr/System.Net.NameResolution.xml", + "ref/netstandard1.3/it/System.Net.NameResolution.xml", + "ref/netstandard1.3/ja/System.Net.NameResolution.xml", + "ref/netstandard1.3/ko/System.Net.NameResolution.xml", + "ref/netstandard1.3/ru/System.Net.NameResolution.xml", + "ref/netstandard1.3/zh-hans/System.Net.NameResolution.xml", + "ref/netstandard1.3/zh-hant/System.Net.NameResolution.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Net.NameResolution.dll", + "runtimes/win/lib/net46/System.Net.NameResolution.dll", + "runtimes/win/lib/netcore50/System.Net.NameResolution.dll", + "runtimes/win/lib/netstandard1.3/System.Net.NameResolution.dll", + "system.net.nameresolution.4.3.0.nupkg.sha512", + "system.net.nameresolution.nuspec" + ] + }, + "System.Net.Primitives/4.3.0": { + "sha512": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "type": "package", + "path": "system.net.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Net.Primitives.dll", + "ref/netcore50/System.Net.Primitives.xml", + "ref/netcore50/de/System.Net.Primitives.xml", + "ref/netcore50/es/System.Net.Primitives.xml", + "ref/netcore50/fr/System.Net.Primitives.xml", + "ref/netcore50/it/System.Net.Primitives.xml", + "ref/netcore50/ja/System.Net.Primitives.xml", + "ref/netcore50/ko/System.Net.Primitives.xml", + "ref/netcore50/ru/System.Net.Primitives.xml", + "ref/netcore50/zh-hans/System.Net.Primitives.xml", + "ref/netcore50/zh-hant/System.Net.Primitives.xml", + "ref/netstandard1.0/System.Net.Primitives.dll", + "ref/netstandard1.0/System.Net.Primitives.xml", + "ref/netstandard1.0/de/System.Net.Primitives.xml", + "ref/netstandard1.0/es/System.Net.Primitives.xml", + "ref/netstandard1.0/fr/System.Net.Primitives.xml", + "ref/netstandard1.0/it/System.Net.Primitives.xml", + "ref/netstandard1.0/ja/System.Net.Primitives.xml", + "ref/netstandard1.0/ko/System.Net.Primitives.xml", + "ref/netstandard1.0/ru/System.Net.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Net.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Net.Primitives.xml", + "ref/netstandard1.1/System.Net.Primitives.dll", + "ref/netstandard1.1/System.Net.Primitives.xml", + "ref/netstandard1.1/de/System.Net.Primitives.xml", + "ref/netstandard1.1/es/System.Net.Primitives.xml", + "ref/netstandard1.1/fr/System.Net.Primitives.xml", + "ref/netstandard1.1/it/System.Net.Primitives.xml", + "ref/netstandard1.1/ja/System.Net.Primitives.xml", + "ref/netstandard1.1/ko/System.Net.Primitives.xml", + "ref/netstandard1.1/ru/System.Net.Primitives.xml", + "ref/netstandard1.1/zh-hans/System.Net.Primitives.xml", + "ref/netstandard1.1/zh-hant/System.Net.Primitives.xml", + "ref/netstandard1.3/System.Net.Primitives.dll", + "ref/netstandard1.3/System.Net.Primitives.xml", + "ref/netstandard1.3/de/System.Net.Primitives.xml", + "ref/netstandard1.3/es/System.Net.Primitives.xml", + "ref/netstandard1.3/fr/System.Net.Primitives.xml", + "ref/netstandard1.3/it/System.Net.Primitives.xml", + "ref/netstandard1.3/ja/System.Net.Primitives.xml", + "ref/netstandard1.3/ko/System.Net.Primitives.xml", + "ref/netstandard1.3/ru/System.Net.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.Net.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.Net.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.net.primitives.4.3.0.nupkg.sha512", + "system.net.primitives.nuspec" + ] + }, + "System.Net.Security/4.3.2": { + "sha512": "SSkQ3Hsy8kvhET4fY8vu+cWkfx2lcZDDUSuzr+3hzRgHM6jtwm3nZXqIPCYcnDl4eL/i/ECmruCXdAiXaIrc4Q==", + "type": "package", + "path": "system.net.security/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Net.Security.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Net.Security.dll", + "ref/netstandard1.3/System.Net.Security.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.6/System.Net.Security.dll", + "runtimes/win/lib/net46/System.Net.Security.dll", + "runtimes/win/lib/netstandard1.3/System.Net.Security.dll", + "runtimes/win7/lib/netcore50/_._", + "system.net.security.4.3.2.nupkg.sha512", + "system.net.security.nuspec" + ] + }, + "System.Net.Sockets/4.3.0": { + "sha512": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "type": "package", + "path": "system.net.sockets/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Net.Sockets.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Net.Sockets.dll", + "ref/netstandard1.3/System.Net.Sockets.dll", + "ref/netstandard1.3/System.Net.Sockets.xml", + "ref/netstandard1.3/de/System.Net.Sockets.xml", + "ref/netstandard1.3/es/System.Net.Sockets.xml", + "ref/netstandard1.3/fr/System.Net.Sockets.xml", + "ref/netstandard1.3/it/System.Net.Sockets.xml", + "ref/netstandard1.3/ja/System.Net.Sockets.xml", + "ref/netstandard1.3/ko/System.Net.Sockets.xml", + "ref/netstandard1.3/ru/System.Net.Sockets.xml", + "ref/netstandard1.3/zh-hans/System.Net.Sockets.xml", + "ref/netstandard1.3/zh-hant/System.Net.Sockets.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.net.sockets.4.3.0.nupkg.sha512", + "system.net.sockets.nuspec" + ] + }, + "System.Net.WebHeaderCollection/4.3.0": { + "sha512": "/aQLXlO/M2SjvKjMyX15IRHK/BJgb4qE1FZGZPjnFxhE7jHwduu65TMuVsyKxUOhYQg/2cr9zpm0olhD1icjTw==", + "type": "package", + "path": "system.net.webheadercollection/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/netstandard1.3/System.Net.WebHeaderCollection.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/netstandard1.3/System.Net.WebHeaderCollection.dll", + "ref/netstandard1.3/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/de/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/es/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/fr/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/it/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/ja/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/ko/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/ru/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/zh-hans/System.Net.WebHeaderCollection.xml", + "ref/netstandard1.3/zh-hant/System.Net.WebHeaderCollection.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.net.webheadercollection.4.3.0.nupkg.sha512", + "system.net.webheadercollection.nuspec" + ] + }, + "System.Net.WebSockets/4.3.0": { + "sha512": "K92jUrnqIfzBr8IssbulQetz8f2gAs2XC2jyVWbUvr+804YWv6LIksBIz84WV7HStpluw3RQTcHxd3+C5zIewA==", + "type": "package", + "path": "system.net.websockets/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Net.WebSockets.dll", + "lib/netstandard1.3/System.Net.WebSockets.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Net.WebSockets.dll", + "ref/netstandard1.3/System.Net.WebSockets.dll", + "ref/netstandard1.3/System.Net.WebSockets.xml", + "ref/netstandard1.3/de/System.Net.WebSockets.xml", + "ref/netstandard1.3/es/System.Net.WebSockets.xml", + "ref/netstandard1.3/fr/System.Net.WebSockets.xml", + "ref/netstandard1.3/it/System.Net.WebSockets.xml", + "ref/netstandard1.3/ja/System.Net.WebSockets.xml", + "ref/netstandard1.3/ko/System.Net.WebSockets.xml", + "ref/netstandard1.3/ru/System.Net.WebSockets.xml", + "ref/netstandard1.3/zh-hans/System.Net.WebSockets.xml", + "ref/netstandard1.3/zh-hant/System.Net.WebSockets.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.net.websockets.4.3.0.nupkg.sha512", + "system.net.websockets.nuspec" + ] + }, + "System.Net.WebSockets.Client/4.3.2": { + "sha512": "wmWSeBJ+7j7cWyTInHZ5OXzRuKh+2LDZ9psG1UYw1BzNZcbYBxe7KBMaDLSIOD1wn1uFDLRGG4+vLqKj7n/Z+w==", + "type": "package", + "path": "system.net.websockets.client/4.3.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Net.WebSockets.Client.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Net.WebSockets.Client.dll", + "ref/netstandard1.3/System.Net.WebSockets.Client.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll", + "runtimes/win/lib/net46/System.Net.WebSockets.Client.dll", + "runtimes/win/lib/netcore50/System.Net.WebSockets.Client.dll", + "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll", + "system.net.websockets.client.4.3.2.nupkg.sha512", + "system.net.websockets.client.nuspec" + ] + }, + "System.Numerics.Vectors/4.4.0": { + "sha512": "gdRrUJs1RrjW3JB5p82hYjA67xoeFLvh0SdSIWjTiN8qExlbFt/RtXwVYNc5BukJ/f9OKzQQS6gakzbJeHTqHg==", + "type": "package", + "path": "system.numerics.vectors/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Numerics.Vectors.dll", + "lib/net46/System.Numerics.Vectors.xml", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.0/System.Numerics.Vectors.dll", + "lib/netstandard1.0/System.Numerics.Vectors.xml", + "lib/netstandard2.0/System.Numerics.Vectors.dll", + "lib/netstandard2.0/System.Numerics.Vectors.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Numerics.Vectors.dll", + "ref/net46/System.Numerics.Vectors.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/System.Numerics.Vectors.dll", + "ref/netstandard1.0/System.Numerics.Vectors.xml", + "ref/netstandard2.0/System.Numerics.Vectors.dll", + "ref/netstandard2.0/System.Numerics.Vectors.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.numerics.vectors.4.4.0.nupkg.sha512", + "system.numerics.vectors.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.ObjectModel/4.3.0": { + "sha512": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "type": "package", + "path": "system.objectmodel/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.ObjectModel.dll", + "lib/netstandard1.3/System.ObjectModel.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.ObjectModel.dll", + "ref/netcore50/System.ObjectModel.xml", + "ref/netcore50/de/System.ObjectModel.xml", + "ref/netcore50/es/System.ObjectModel.xml", + "ref/netcore50/fr/System.ObjectModel.xml", + "ref/netcore50/it/System.ObjectModel.xml", + "ref/netcore50/ja/System.ObjectModel.xml", + "ref/netcore50/ko/System.ObjectModel.xml", + "ref/netcore50/ru/System.ObjectModel.xml", + "ref/netcore50/zh-hans/System.ObjectModel.xml", + "ref/netcore50/zh-hant/System.ObjectModel.xml", + "ref/netstandard1.0/System.ObjectModel.dll", + "ref/netstandard1.0/System.ObjectModel.xml", + "ref/netstandard1.0/de/System.ObjectModel.xml", + "ref/netstandard1.0/es/System.ObjectModel.xml", + "ref/netstandard1.0/fr/System.ObjectModel.xml", + "ref/netstandard1.0/it/System.ObjectModel.xml", + "ref/netstandard1.0/ja/System.ObjectModel.xml", + "ref/netstandard1.0/ko/System.ObjectModel.xml", + "ref/netstandard1.0/ru/System.ObjectModel.xml", + "ref/netstandard1.0/zh-hans/System.ObjectModel.xml", + "ref/netstandard1.0/zh-hant/System.ObjectModel.xml", + "ref/netstandard1.3/System.ObjectModel.dll", + "ref/netstandard1.3/System.ObjectModel.xml", + "ref/netstandard1.3/de/System.ObjectModel.xml", + "ref/netstandard1.3/es/System.ObjectModel.xml", + "ref/netstandard1.3/fr/System.ObjectModel.xml", + "ref/netstandard1.3/it/System.ObjectModel.xml", + "ref/netstandard1.3/ja/System.ObjectModel.xml", + "ref/netstandard1.3/ko/System.ObjectModel.xml", + "ref/netstandard1.3/ru/System.ObjectModel.xml", + "ref/netstandard1.3/zh-hans/System.ObjectModel.xml", + "ref/netstandard1.3/zh-hant/System.ObjectModel.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.objectmodel.4.3.0.nupkg.sha512", + "system.objectmodel.nuspec" + ] + }, + "System.Reflection/4.3.0": { + "sha512": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "type": "package", + "path": "system.reflection/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Reflection.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Reflection.dll", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/netstandard1.0/System.Reflection.dll", + "ref/netstandard1.0/System.Reflection.xml", + "ref/netstandard1.0/de/System.Reflection.xml", + "ref/netstandard1.0/es/System.Reflection.xml", + "ref/netstandard1.0/fr/System.Reflection.xml", + "ref/netstandard1.0/it/System.Reflection.xml", + "ref/netstandard1.0/ja/System.Reflection.xml", + "ref/netstandard1.0/ko/System.Reflection.xml", + "ref/netstandard1.0/ru/System.Reflection.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.xml", + "ref/netstandard1.3/System.Reflection.dll", + "ref/netstandard1.3/System.Reflection.xml", + "ref/netstandard1.3/de/System.Reflection.xml", + "ref/netstandard1.3/es/System.Reflection.xml", + "ref/netstandard1.3/fr/System.Reflection.xml", + "ref/netstandard1.3/it/System.Reflection.xml", + "ref/netstandard1.3/ja/System.Reflection.xml", + "ref/netstandard1.3/ko/System.Reflection.xml", + "ref/netstandard1.3/ru/System.Reflection.xml", + "ref/netstandard1.3/zh-hans/System.Reflection.xml", + "ref/netstandard1.3/zh-hant/System.Reflection.xml", + "ref/netstandard1.5/System.Reflection.dll", + "ref/netstandard1.5/System.Reflection.xml", + "ref/netstandard1.5/de/System.Reflection.xml", + "ref/netstandard1.5/es/System.Reflection.xml", + "ref/netstandard1.5/fr/System.Reflection.xml", + "ref/netstandard1.5/it/System.Reflection.xml", + "ref/netstandard1.5/ja/System.Reflection.xml", + "ref/netstandard1.5/ko/System.Reflection.xml", + "ref/netstandard1.5/ru/System.Reflection.xml", + "ref/netstandard1.5/zh-hans/System.Reflection.xml", + "ref/netstandard1.5/zh-hant/System.Reflection.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.4.3.0.nupkg.sha512", + "system.reflection.nuspec" + ] + }, + "System.Reflection.Emit/4.3.0": { + "sha512": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "type": "package", + "path": "system.reflection.emit/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/monotouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.dll", + "lib/netstandard1.3/System.Reflection.Emit.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/net45/_._", + "ref/netstandard1.1/System.Reflection.Emit.dll", + "ref/netstandard1.1/System.Reflection.Emit.xml", + "ref/netstandard1.1/de/System.Reflection.Emit.xml", + "ref/netstandard1.1/es/System.Reflection.Emit.xml", + "ref/netstandard1.1/fr/System.Reflection.Emit.xml", + "ref/netstandard1.1/it/System.Reflection.Emit.xml", + "ref/netstandard1.1/ja/System.Reflection.Emit.xml", + "ref/netstandard1.1/ko/System.Reflection.Emit.xml", + "ref/netstandard1.1/ru/System.Reflection.Emit.xml", + "ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml", + "ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml", + "ref/xamarinmac20/_._", + "system.reflection.emit.4.3.0.nupkg.sha512", + "system.reflection.emit.nuspec" + ] + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "sha512": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "type": "package", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.ILGeneration.dll", + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll", + "lib/portable-net45+wp8/_._", + "lib/wp80/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/de/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/es/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/fr/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/it/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ja/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ko/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ru/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Emit.ILGeneration.xml", + "ref/portable-net45+wp8/_._", + "ref/wp80/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/_._", + "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", + "system.reflection.emit.ilgeneration.nuspec" + ] + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "sha512": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "type": "package", + "path": "system.reflection.emit.lightweight/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.Lightweight.dll", + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll", + "lib/portable-net45+wp8/_._", + "lib/wp80/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll", + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml", + "ref/portable-net45+wp8/_._", + "ref/wp80/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/_._", + "system.reflection.emit.lightweight.4.3.0.nupkg.sha512", + "system.reflection.emit.lightweight.nuspec" + ] + }, + "System.Reflection.Extensions/4.3.0": { + "sha512": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "type": "package", + "path": "system.reflection.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Extensions.dll", + "ref/netcore50/System.Reflection.Extensions.xml", + "ref/netcore50/de/System.Reflection.Extensions.xml", + "ref/netcore50/es/System.Reflection.Extensions.xml", + "ref/netcore50/fr/System.Reflection.Extensions.xml", + "ref/netcore50/it/System.Reflection.Extensions.xml", + "ref/netcore50/ja/System.Reflection.Extensions.xml", + "ref/netcore50/ko/System.Reflection.Extensions.xml", + "ref/netcore50/ru/System.Reflection.Extensions.xml", + "ref/netcore50/zh-hans/System.Reflection.Extensions.xml", + "ref/netcore50/zh-hant/System.Reflection.Extensions.xml", + "ref/netstandard1.0/System.Reflection.Extensions.dll", + "ref/netstandard1.0/System.Reflection.Extensions.xml", + "ref/netstandard1.0/de/System.Reflection.Extensions.xml", + "ref/netstandard1.0/es/System.Reflection.Extensions.xml", + "ref/netstandard1.0/fr/System.Reflection.Extensions.xml", + "ref/netstandard1.0/it/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ja/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ko/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ru/System.Reflection.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.extensions.4.3.0.nupkg.sha512", + "system.reflection.extensions.nuspec" + ] + }, + "System.Reflection.Metadata/1.6.0": { + "sha512": "I4aWCii7N1bmn43vviRfJQYW6UAco1G/CcjJouvgGdb/sr2BRTSnddhaPMg2oxu9VHFn8T1z3dTLq0pna8zmtA==", + "type": "package", + "path": "system.reflection.metadata/1.6.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.1/System.Reflection.Metadata.dll", + "lib/netstandard1.1/System.Reflection.Metadata.xml", + "lib/netstandard2.0/System.Reflection.Metadata.dll", + "lib/netstandard2.0/System.Reflection.Metadata.xml", + "lib/portable-net45+win8/System.Reflection.Metadata.dll", + "lib/portable-net45+win8/System.Reflection.Metadata.xml", + "system.reflection.metadata.1.6.0.nupkg.sha512", + "system.reflection.metadata.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Reflection.Primitives/4.3.0": { + "sha512": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "type": "package", + "path": "system.reflection.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/netcore50/de/System.Reflection.Primitives.xml", + "ref/netcore50/es/System.Reflection.Primitives.xml", + "ref/netcore50/fr/System.Reflection.Primitives.xml", + "ref/netcore50/it/System.Reflection.Primitives.xml", + "ref/netcore50/ja/System.Reflection.Primitives.xml", + "ref/netcore50/ko/System.Reflection.Primitives.xml", + "ref/netcore50/ru/System.Reflection.Primitives.xml", + "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", + "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", + "ref/netstandard1.0/System.Reflection.Primitives.dll", + "ref/netstandard1.0/System.Reflection.Primitives.xml", + "ref/netstandard1.0/de/System.Reflection.Primitives.xml", + "ref/netstandard1.0/es/System.Reflection.Primitives.xml", + "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", + "ref/netstandard1.0/it/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.primitives.4.3.0.nupkg.sha512", + "system.reflection.primitives.nuspec" + ] + }, + "System.Reflection.TypeExtensions/4.5.1": { + "sha512": "oRC4IBj4y7gcY9UXxTcIvBLhRJuntL6CfPWazTmtY4dXoXpRS6pI2Y+tu07+p2bUn5abyd5wf5LvpnyrDZdTsQ==", + "type": "package", + "path": "system.reflection.typeextensions/4.5.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Reflection.TypeExtensions.dll", + "lib/net461/System.Reflection.TypeExtensions.dll", + "lib/netcore50/System.Reflection.TypeExtensions.dll", + "lib/netcoreapp1.0/System.Reflection.TypeExtensions.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/System.Reflection.TypeExtensions.dll", + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll", + "lib/netstandard2.0/System.Reflection.TypeExtensions.dll", + "lib/uap10.0.16299/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Reflection.TypeExtensions.dll", + "ref/net461/System.Reflection.TypeExtensions.dll", + "ref/net461/System.Reflection.TypeExtensions.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.3/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.3/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/de/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/es/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/fr/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/it/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ja/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ko/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ru/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/zh-hans/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/zh-hant/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.5/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/de/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/es/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/fr/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/it/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ja/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ko/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ru/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/zh-hans/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/zh-hant/System.Reflection.TypeExtensions.xml", + "ref/netstandard2.0/System.Reflection.TypeExtensions.dll", + "ref/netstandard2.0/System.Reflection.TypeExtensions.xml", + "ref/uap10.0.16299/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Reflection.TypeExtensions.dll", + "runtimes/aot/lib/uap10.0.16299/_._", + "system.reflection.typeextensions.4.5.1.nupkg.sha512", + "system.reflection.typeextensions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Resources.ResourceManager/4.3.0": { + "sha512": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "type": "package", + "path": "system.resources.resourcemanager/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/netcore50/de/System.Resources.ResourceManager.xml", + "ref/netcore50/es/System.Resources.ResourceManager.xml", + "ref/netcore50/fr/System.Resources.ResourceManager.xml", + "ref/netcore50/it/System.Resources.ResourceManager.xml", + "ref/netcore50/ja/System.Resources.ResourceManager.xml", + "ref/netcore50/ko/System.Resources.ResourceManager.xml", + "ref/netcore50/ru/System.Resources.ResourceManager.xml", + "ref/netcore50/zh-hans/System.Resources.ResourceManager.xml", + "ref/netcore50/zh-hant/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/System.Resources.ResourceManager.dll", + "ref/netstandard1.0/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/de/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/es/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/fr/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/it/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ja/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ko/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ru/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.resources.resourcemanager.4.3.0.nupkg.sha512", + "system.resources.resourcemanager.nuspec" + ] + }, + "System.Runtime/4.3.0": { + "sha512": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "type": "package", + "path": "system.runtime/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.dll", + "lib/portable-net45+win8+wp80+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.dll", + "ref/netcore50/System.Runtime.dll", + "ref/netcore50/System.Runtime.xml", + "ref/netcore50/de/System.Runtime.xml", + "ref/netcore50/es/System.Runtime.xml", + "ref/netcore50/fr/System.Runtime.xml", + "ref/netcore50/it/System.Runtime.xml", + "ref/netcore50/ja/System.Runtime.xml", + "ref/netcore50/ko/System.Runtime.xml", + "ref/netcore50/ru/System.Runtime.xml", + "ref/netcore50/zh-hans/System.Runtime.xml", + "ref/netcore50/zh-hant/System.Runtime.xml", + "ref/netstandard1.0/System.Runtime.dll", + "ref/netstandard1.0/System.Runtime.xml", + "ref/netstandard1.0/de/System.Runtime.xml", + "ref/netstandard1.0/es/System.Runtime.xml", + "ref/netstandard1.0/fr/System.Runtime.xml", + "ref/netstandard1.0/it/System.Runtime.xml", + "ref/netstandard1.0/ja/System.Runtime.xml", + "ref/netstandard1.0/ko/System.Runtime.xml", + "ref/netstandard1.0/ru/System.Runtime.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.xml", + "ref/netstandard1.2/System.Runtime.dll", + "ref/netstandard1.2/System.Runtime.xml", + "ref/netstandard1.2/de/System.Runtime.xml", + "ref/netstandard1.2/es/System.Runtime.xml", + "ref/netstandard1.2/fr/System.Runtime.xml", + "ref/netstandard1.2/it/System.Runtime.xml", + "ref/netstandard1.2/ja/System.Runtime.xml", + "ref/netstandard1.2/ko/System.Runtime.xml", + "ref/netstandard1.2/ru/System.Runtime.xml", + "ref/netstandard1.2/zh-hans/System.Runtime.xml", + "ref/netstandard1.2/zh-hant/System.Runtime.xml", + "ref/netstandard1.3/System.Runtime.dll", + "ref/netstandard1.3/System.Runtime.xml", + "ref/netstandard1.3/de/System.Runtime.xml", + "ref/netstandard1.3/es/System.Runtime.xml", + "ref/netstandard1.3/fr/System.Runtime.xml", + "ref/netstandard1.3/it/System.Runtime.xml", + "ref/netstandard1.3/ja/System.Runtime.xml", + "ref/netstandard1.3/ko/System.Runtime.xml", + "ref/netstandard1.3/ru/System.Runtime.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.xml", + "ref/netstandard1.5/System.Runtime.dll", + "ref/netstandard1.5/System.Runtime.xml", + "ref/netstandard1.5/de/System.Runtime.xml", + "ref/netstandard1.5/es/System.Runtime.xml", + "ref/netstandard1.5/fr/System.Runtime.xml", + "ref/netstandard1.5/it/System.Runtime.xml", + "ref/netstandard1.5/ja/System.Runtime.xml", + "ref/netstandard1.5/ko/System.Runtime.xml", + "ref/netstandard1.5/ru/System.Runtime.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.xml", + "ref/portable-net45+win8+wp80+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.4.3.0.nupkg.sha512", + "system.runtime.nuspec" + ] + }, + "System.Runtime.CompilerServices.Unsafe/4.5.2": { + "sha512": "hMkdWxksypQlFXB7JamQegDscxEAQO4FHd/lw/zlSZU9dZgAij65xjCrXer183wvoNAzJic5zzjj2oc9/dloWg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/4.5.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll", + "ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml", + "ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.4.5.2.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Runtime.Extensions/4.3.0": { + "sha512": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "type": "package", + "path": "system.runtime.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.Extensions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.xml", + "ref/netcore50/de/System.Runtime.Extensions.xml", + "ref/netcore50/es/System.Runtime.Extensions.xml", + "ref/netcore50/fr/System.Runtime.Extensions.xml", + "ref/netcore50/it/System.Runtime.Extensions.xml", + "ref/netcore50/ja/System.Runtime.Extensions.xml", + "ref/netcore50/ko/System.Runtime.Extensions.xml", + "ref/netcore50/ru/System.Runtime.Extensions.xml", + "ref/netcore50/zh-hans/System.Runtime.Extensions.xml", + "ref/netcore50/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.0/System.Runtime.Extensions.dll", + "ref/netstandard1.0/System.Runtime.Extensions.xml", + "ref/netstandard1.0/de/System.Runtime.Extensions.xml", + "ref/netstandard1.0/es/System.Runtime.Extensions.xml", + "ref/netstandard1.0/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.0/it/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.3/System.Runtime.Extensions.dll", + "ref/netstandard1.3/System.Runtime.Extensions.xml", + "ref/netstandard1.3/de/System.Runtime.Extensions.xml", + "ref/netstandard1.3/es/System.Runtime.Extensions.xml", + "ref/netstandard1.3/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.3/it/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.5/System.Runtime.Extensions.dll", + "ref/netstandard1.5/System.Runtime.Extensions.xml", + "ref/netstandard1.5/de/System.Runtime.Extensions.xml", + "ref/netstandard1.5/es/System.Runtime.Extensions.xml", + "ref/netstandard1.5/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.5/it/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.extensions.4.3.0.nupkg.sha512", + "system.runtime.extensions.nuspec" + ] + }, + "System.Runtime.Handles/4.3.0": { + "sha512": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "type": "package", + "path": "system.runtime.handles/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/netstandard1.3/System.Runtime.Handles.dll", + "ref/netstandard1.3/System.Runtime.Handles.xml", + "ref/netstandard1.3/de/System.Runtime.Handles.xml", + "ref/netstandard1.3/es/System.Runtime.Handles.xml", + "ref/netstandard1.3/fr/System.Runtime.Handles.xml", + "ref/netstandard1.3/it/System.Runtime.Handles.xml", + "ref/netstandard1.3/ja/System.Runtime.Handles.xml", + "ref/netstandard1.3/ko/System.Runtime.Handles.xml", + "ref/netstandard1.3/ru/System.Runtime.Handles.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.handles.4.3.0.nupkg.sha512", + "system.runtime.handles.nuspec" + ] + }, + "System.Runtime.InteropServices/4.3.0": { + "sha512": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "type": "package", + "path": "system.runtime.interopservices/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.InteropServices.dll", + "lib/net463/System.Runtime.InteropServices.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.InteropServices.dll", + "ref/net463/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.xml", + "ref/netcore50/de/System.Runtime.InteropServices.xml", + "ref/netcore50/es/System.Runtime.InteropServices.xml", + "ref/netcore50/fr/System.Runtime.InteropServices.xml", + "ref/netcore50/it/System.Runtime.InteropServices.xml", + "ref/netcore50/ja/System.Runtime.InteropServices.xml", + "ref/netcore50/ko/System.Runtime.InteropServices.xml", + "ref/netcore50/ru/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", + "ref/netcoreapp1.1/System.Runtime.InteropServices.dll", + "ref/netstandard1.1/System.Runtime.InteropServices.dll", + "ref/netstandard1.1/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/System.Runtime.InteropServices.dll", + "ref/netstandard1.2/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/System.Runtime.InteropServices.dll", + "ref/netstandard1.3/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/System.Runtime.InteropServices.dll", + "ref/netstandard1.5/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.interopservices.4.3.0.nupkg.sha512", + "system.runtime.interopservices.nuspec" + ] + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "sha512": "hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", + "type": "package", + "path": "system.runtime.interopservices.runtimeinformation/4.0.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", + "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", + "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512", + "system.runtime.interopservices.runtimeinformation.nuspec" + ] + }, + "System.Runtime.Numerics/4.3.0": { + "sha512": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "type": "package", + "path": "system.runtime.numerics/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Runtime.Numerics.dll", + "lib/netstandard1.3/System.Runtime.Numerics.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Runtime.Numerics.dll", + "ref/netcore50/System.Runtime.Numerics.xml", + "ref/netcore50/de/System.Runtime.Numerics.xml", + "ref/netcore50/es/System.Runtime.Numerics.xml", + "ref/netcore50/fr/System.Runtime.Numerics.xml", + "ref/netcore50/it/System.Runtime.Numerics.xml", + "ref/netcore50/ja/System.Runtime.Numerics.xml", + "ref/netcore50/ko/System.Runtime.Numerics.xml", + "ref/netcore50/ru/System.Runtime.Numerics.xml", + "ref/netcore50/zh-hans/System.Runtime.Numerics.xml", + "ref/netcore50/zh-hant/System.Runtime.Numerics.xml", + "ref/netstandard1.1/System.Runtime.Numerics.dll", + "ref/netstandard1.1/System.Runtime.Numerics.xml", + "ref/netstandard1.1/de/System.Runtime.Numerics.xml", + "ref/netstandard1.1/es/System.Runtime.Numerics.xml", + "ref/netstandard1.1/fr/System.Runtime.Numerics.xml", + "ref/netstandard1.1/it/System.Runtime.Numerics.xml", + "ref/netstandard1.1/ja/System.Runtime.Numerics.xml", + "ref/netstandard1.1/ko/System.Runtime.Numerics.xml", + "ref/netstandard1.1/ru/System.Runtime.Numerics.xml", + "ref/netstandard1.1/zh-hans/System.Runtime.Numerics.xml", + "ref/netstandard1.1/zh-hant/System.Runtime.Numerics.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.numerics.4.3.0.nupkg.sha512", + "system.runtime.numerics.nuspec" + ] + }, + "System.Security.AccessControl/4.5.0": { + "sha512": "6RQtcT+TyDgLUFsAnmmdfRRGdLYKxSZGkSPOd052tvYFxOTMaQb6ANlwhGqZtNO52PosaCoXu7uatFneujAxmA==", + "type": "package", + "path": "system.security.accesscontrol/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.AccessControl.dll", + "lib/net461/System.Security.AccessControl.dll", + "lib/netstandard1.3/System.Security.AccessControl.dll", + "lib/netstandard2.0/System.Security.AccessControl.dll", + "lib/uap10.0.16299/_._", + "ref/net46/System.Security.AccessControl.dll", + "ref/net461/System.Security.AccessControl.dll", + "ref/net461/System.Security.AccessControl.xml", + "ref/netstandard1.3/System.Security.AccessControl.dll", + "ref/netstandard1.3/System.Security.AccessControl.xml", + "ref/netstandard1.3/de/System.Security.AccessControl.xml", + "ref/netstandard1.3/es/System.Security.AccessControl.xml", + "ref/netstandard1.3/fr/System.Security.AccessControl.xml", + "ref/netstandard1.3/it/System.Security.AccessControl.xml", + "ref/netstandard1.3/ja/System.Security.AccessControl.xml", + "ref/netstandard1.3/ko/System.Security.AccessControl.xml", + "ref/netstandard1.3/ru/System.Security.AccessControl.xml", + "ref/netstandard1.3/zh-hans/System.Security.AccessControl.xml", + "ref/netstandard1.3/zh-hant/System.Security.AccessControl.xml", + "ref/netstandard2.0/System.Security.AccessControl.dll", + "ref/netstandard2.0/System.Security.AccessControl.xml", + "ref/uap10.0.16299/_._", + "runtimes/win/lib/net46/System.Security.AccessControl.dll", + "runtimes/win/lib/net461/System.Security.AccessControl.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll", + "runtimes/win/lib/netstandard1.3/System.Security.AccessControl.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.accesscontrol.4.5.0.nupkg.sha512", + "system.security.accesscontrol.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Claims/4.3.0": { + "sha512": "P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "type": "package", + "path": "system.security.claims/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Claims.dll", + "lib/netstandard1.3/System.Security.Claims.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Claims.dll", + "ref/netstandard1.3/System.Security.Claims.dll", + "ref/netstandard1.3/System.Security.Claims.xml", + "ref/netstandard1.3/de/System.Security.Claims.xml", + "ref/netstandard1.3/es/System.Security.Claims.xml", + "ref/netstandard1.3/fr/System.Security.Claims.xml", + "ref/netstandard1.3/it/System.Security.Claims.xml", + "ref/netstandard1.3/ja/System.Security.Claims.xml", + "ref/netstandard1.3/ko/System.Security.Claims.xml", + "ref/netstandard1.3/ru/System.Security.Claims.xml", + "ref/netstandard1.3/zh-hans/System.Security.Claims.xml", + "ref/netstandard1.3/zh-hant/System.Security.Claims.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.security.claims.4.3.0.nupkg.sha512", + "system.security.claims.nuspec" + ] + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "sha512": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "type": "package", + "path": "system.security.cryptography.algorithms/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Algorithms.dll", + "lib/net461/System.Security.Cryptography.Algorithms.dll", + "lib/net463/System.Security.Cryptography.Algorithms.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Algorithms.dll", + "ref/net461/System.Security.Cryptography.Algorithms.dll", + "ref/net463/System.Security.Cryptography.Algorithms.dll", + "ref/netstandard1.3/System.Security.Cryptography.Algorithms.dll", + "ref/netstandard1.4/System.Security.Cryptography.Algorithms.dll", + "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/osx/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/net463/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/netcore50/System.Security.Cryptography.Algorithms.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", + "system.security.cryptography.algorithms.4.3.0.nupkg.sha512", + "system.security.cryptography.algorithms.nuspec" + ] + }, + "System.Security.Cryptography.Cng/4.4.0": { + "sha512": "07fZJgFAgCati1lQEbO67EMEhm+fPenFqiSjwCwFssnmYQrLGA48lqiWilGLbuwb+nmflfodj1jgIQYI4g7LXA==", + "type": "package", + "path": "system.security.cryptography.cng/4.4.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.Cryptography.Cng.dll", + "lib/net461/System.Security.Cryptography.Cng.dll", + "lib/net462/System.Security.Cryptography.Cng.dll", + "lib/net47/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.3/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll", + "ref/net46/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.xml", + "ref/net462/System.Security.Cryptography.Cng.dll", + "ref/net462/System.Security.Cryptography.Cng.xml", + "ref/net47/System.Security.Cryptography.Cng.dll", + "ref/net47/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.xml", + "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", + "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", + "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.xml", + "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net462/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net47/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "system.security.cryptography.cng.4.4.0.nupkg.sha512", + "system.security.cryptography.cng.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Cryptography.Csp/4.3.0": { + "sha512": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "type": "package", + "path": "system.security.cryptography.csp/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Csp.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Csp.dll", + "ref/netstandard1.3/System.Security.Cryptography.Csp.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.Csp.dll", + "runtimes/win/lib/netcore50/_._", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll", + "system.security.cryptography.csp.4.3.0.nupkg.sha512", + "system.security.cryptography.csp.nuspec" + ] + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "sha512": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "type": "package", + "path": "system.security.cryptography.encoding/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Encoding.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Encoding.dll", + "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll", + "ref/netstandard1.3/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/de/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/es/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/fr/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/it/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/ja/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/ko/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/ru/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/zh-hans/System.Security.Cryptography.Encoding.xml", + "ref/netstandard1.3/zh-hant/System.Security.Cryptography.Encoding.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll", + "system.security.cryptography.encoding.4.3.0.nupkg.sha512", + "system.security.cryptography.encoding.nuspec" + ] + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "sha512": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "type": "package", + "path": "system.security.cryptography.openssl/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", + "ref/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", + "system.security.cryptography.openssl.4.3.0.nupkg.sha512", + "system.security.cryptography.openssl.nuspec" + ] + }, + "System.Security.Cryptography.Pkcs/4.5.0": { + "sha512": "1vv2x8cok3NAolee/nb6X/6PnTx+OBKUM3kt1Rlgg04uQ+IMwjc88xFIfJdwbYcvjlOtzT7CHba1pqVAu9tj/w==", + "type": "package", + "path": "system.security.cryptography.pkcs/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.Cryptography.Pkcs.dll", + "lib/net461/System.Security.Cryptography.Pkcs.dll", + "lib/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll", + "lib/netstandard1.3/System.Security.Cryptography.Pkcs.dll", + "lib/netstandard2.0/System.Security.Cryptography.Pkcs.dll", + "ref/net46/System.Security.Cryptography.Pkcs.dll", + "ref/net461/System.Security.Cryptography.Pkcs.dll", + "ref/net461/System.Security.Cryptography.Pkcs.xml", + "ref/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll", + "ref/netcoreapp2.1/System.Security.Cryptography.Pkcs.xml", + "ref/netstandard1.3/System.Security.Cryptography.Pkcs.dll", + "ref/netstandard2.0/System.Security.Cryptography.Pkcs.dll", + "ref/netstandard2.0/System.Security.Cryptography.Pkcs.xml", + "runtimes/win/lib/net46/System.Security.Cryptography.Pkcs.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.Pkcs.dll", + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Pkcs.dll", + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.Pkcs.dll", + "system.security.cryptography.pkcs.4.5.0.nupkg.sha512", + "system.security.cryptography.pkcs.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "sha512": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "type": "package", + "path": "system.security.cryptography.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Primitives.dll", + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Primitives.dll", + "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.security.cryptography.primitives.4.3.0.nupkg.sha512", + "system.security.cryptography.primitives.nuspec" + ] + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "sha512": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "type": "package", + "path": "system.security.cryptography.x509certificates/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.X509Certificates.dll", + "lib/net461/System.Security.Cryptography.X509Certificates.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.X509Certificates.dll", + "ref/net461/System.Security.Cryptography.X509Certificates.dll", + "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.dll", + "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/de/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/es/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/fr/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/it/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/ja/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/ko/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/ru/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/zh-hans/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.3/zh-hant/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll", + "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/de/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/es/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/fr/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/it/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/ja/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/ko/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/ru/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/zh-hans/System.Security.Cryptography.X509Certificates.xml", + "ref/netstandard1.4/zh-hant/System.Security.Cryptography.X509Certificates.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/netcore50/System.Security.Cryptography.X509Certificates.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll", + "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512", + "system.security.cryptography.x509certificates.nuspec" + ] + }, + "System.Security.Cryptography.Xml/4.5.0": { + "sha512": "X+/taLXTKYziKvWE4ZEyhpY0QQ17fm9eW70cvMCE6LAsWYqdv708i0HJeSVy7/5R5547GR/CEGOjUkYq6bJfPg==", + "type": "package", + "path": "system.security.cryptography.xml/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Security.Cryptography.Xml.dll", + "lib/netstandard2.0/System.Security.Cryptography.Xml.dll", + "ref/net461/System.Security.Cryptography.Xml.dll", + "ref/net461/System.Security.Cryptography.Xml.xml", + "ref/netstandard2.0/System.Security.Cryptography.Xml.dll", + "ref/netstandard2.0/System.Security.Cryptography.Xml.xml", + "system.security.cryptography.xml.4.5.0.nupkg.sha512", + "system.security.cryptography.xml.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Permissions/4.5.0": { + "sha512": "O+e9qamSTJ4YOJCpnLgsf9FTGfsxJv2On1OdYkhmd/XA5AYRvUatkz7Rp3dS9XR7rhVuklnjST1dRoMK7N4cGw==", + "type": "package", + "path": "system.security.permissions/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Security.Permissions.dll", + "lib/netstandard2.0/System.Security.Permissions.dll", + "ref/net461/System.Security.Permissions.dll", + "ref/net461/System.Security.Permissions.xml", + "ref/netstandard2.0/System.Security.Permissions.dll", + "ref/netstandard2.0/System.Security.Permissions.xml", + "system.security.permissions.4.5.0.nupkg.sha512", + "system.security.permissions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Principal/4.3.0": { + "sha512": "I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "type": "package", + "path": "system.security.principal/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Security.Principal.dll", + "lib/netstandard1.0/System.Security.Principal.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Security.Principal.dll", + "ref/netcore50/System.Security.Principal.xml", + "ref/netcore50/de/System.Security.Principal.xml", + "ref/netcore50/es/System.Security.Principal.xml", + "ref/netcore50/fr/System.Security.Principal.xml", + "ref/netcore50/it/System.Security.Principal.xml", + "ref/netcore50/ja/System.Security.Principal.xml", + "ref/netcore50/ko/System.Security.Principal.xml", + "ref/netcore50/ru/System.Security.Principal.xml", + "ref/netcore50/zh-hans/System.Security.Principal.xml", + "ref/netcore50/zh-hant/System.Security.Principal.xml", + "ref/netstandard1.0/System.Security.Principal.dll", + "ref/netstandard1.0/System.Security.Principal.xml", + "ref/netstandard1.0/de/System.Security.Principal.xml", + "ref/netstandard1.0/es/System.Security.Principal.xml", + "ref/netstandard1.0/fr/System.Security.Principal.xml", + "ref/netstandard1.0/it/System.Security.Principal.xml", + "ref/netstandard1.0/ja/System.Security.Principal.xml", + "ref/netstandard1.0/ko/System.Security.Principal.xml", + "ref/netstandard1.0/ru/System.Security.Principal.xml", + "ref/netstandard1.0/zh-hans/System.Security.Principal.xml", + "ref/netstandard1.0/zh-hant/System.Security.Principal.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.security.principal.4.3.0.nupkg.sha512", + "system.security.principal.nuspec" + ] + }, + "System.Security.Principal.Windows/4.5.0": { + "sha512": "WA9ETb/pY3BjnxKjBUHEgO59B7d/nnmjHFsqjJ2eDT780nD769CT1/bw2ia0Z6W7NqlcqokE6sKGKa6uw88XGA==", + "type": "package", + "path": "system.security.principal.windows/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.Principal.Windows.dll", + "lib/net461/System.Security.Principal.Windows.dll", + "lib/netstandard1.3/System.Security.Principal.Windows.dll", + "lib/netstandard2.0/System.Security.Principal.Windows.dll", + "lib/uap10.0.16299/_._", + "ref/net46/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/System.Security.Principal.Windows.dll", + "ref/netstandard1.3/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", + "ref/netstandard2.0/System.Security.Principal.Windows.dll", + "ref/netstandard2.0/System.Security.Principal.Windows.xml", + "ref/uap10.0.16299/_._", + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net461/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.principal.windows.4.5.0.nupkg.sha512", + "system.security.principal.windows.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Text.Encoding/4.3.0": { + "sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "type": "package", + "path": "system.text.encoding/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.dll", + "ref/netcore50/System.Text.Encoding.xml", + "ref/netcore50/de/System.Text.Encoding.xml", + "ref/netcore50/es/System.Text.Encoding.xml", + "ref/netcore50/fr/System.Text.Encoding.xml", + "ref/netcore50/it/System.Text.Encoding.xml", + "ref/netcore50/ja/System.Text.Encoding.xml", + "ref/netcore50/ko/System.Text.Encoding.xml", + "ref/netcore50/ru/System.Text.Encoding.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.xml", + "ref/netstandard1.0/System.Text.Encoding.dll", + "ref/netstandard1.0/System.Text.Encoding.xml", + "ref/netstandard1.0/de/System.Text.Encoding.xml", + "ref/netstandard1.0/es/System.Text.Encoding.xml", + "ref/netstandard1.0/fr/System.Text.Encoding.xml", + "ref/netstandard1.0/it/System.Text.Encoding.xml", + "ref/netstandard1.0/ja/System.Text.Encoding.xml", + "ref/netstandard1.0/ko/System.Text.Encoding.xml", + "ref/netstandard1.0/ru/System.Text.Encoding.xml", + "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", + "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", + "ref/netstandard1.3/System.Text.Encoding.dll", + "ref/netstandard1.3/System.Text.Encoding.xml", + "ref/netstandard1.3/de/System.Text.Encoding.xml", + "ref/netstandard1.3/es/System.Text.Encoding.xml", + "ref/netstandard1.3/fr/System.Text.Encoding.xml", + "ref/netstandard1.3/it/System.Text.Encoding.xml", + "ref/netstandard1.3/ja/System.Text.Encoding.xml", + "ref/netstandard1.3/ko/System.Text.Encoding.xml", + "ref/netstandard1.3/ru/System.Text.Encoding.xml", + "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", + "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.encoding.4.3.0.nupkg.sha512", + "system.text.encoding.nuspec" + ] + }, + "System.Text.Encoding.CodePages/4.5.1": { + "sha512": "Eu3dyUUqDFkuskrrK54VLWC41EVANJNo5vzjojnGAphH+FV63NJg3zs5x0TvRaYDTZ2y+86eIOK43Hg2NXiw7w==", + "type": "package", + "path": "system.text.encoding.codepages/4.5.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Text.Encoding.CodePages.dll", + "lib/net461/System.Text.Encoding.CodePages.dll", + "lib/netstandard1.3/System.Text.Encoding.CodePages.dll", + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "system.text.encoding.codepages.4.5.1.nupkg.sha512", + "system.text.encoding.codepages.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Text.Encoding.Extensions/4.3.0": { + "sha512": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "type": "package", + "path": "system.text.encoding.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.Extensions.dll", + "ref/netcore50/System.Text.Encoding.Extensions.xml", + "ref/netcore50/de/System.Text.Encoding.Extensions.xml", + "ref/netcore50/es/System.Text.Encoding.Extensions.xml", + "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", + "ref/netcore50/it/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/System.Text.Encoding.Extensions.dll", + "ref/netstandard1.0/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/System.Text.Encoding.Extensions.dll", + "ref/netstandard1.3/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.encoding.extensions.4.3.0.nupkg.sha512", + "system.text.encoding.extensions.nuspec" + ] + }, + "System.Text.Encodings.Web/4.5.0": { + "sha512": "JF+wDdfFiRl3rz3dPMfR6aR568AW2J5CUMmhSflgHDz4zbVK4/00ax8UHnHyEMvblPewgNugjuA4oyoL8Pex2g==", + "type": "package", + "path": "system.text.encodings.web/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.0/System.Text.Encodings.Web.dll", + "lib/netstandard1.0/System.Text.Encodings.Web.xml", + "lib/netstandard2.0/System.Text.Encodings.Web.dll", + "lib/netstandard2.0/System.Text.Encodings.Web.xml", + "system.text.encodings.web.4.5.0.nupkg.sha512", + "system.text.encodings.web.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Text.RegularExpressions/4.3.0": { + "sha512": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "type": "package", + "path": "system.text.regularexpressions/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Text.RegularExpressions.dll", + "lib/netcore50/System.Text.RegularExpressions.dll", + "lib/netstandard1.6/System.Text.RegularExpressions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Text.RegularExpressions.dll", + "ref/netcore50/System.Text.RegularExpressions.dll", + "ref/netcore50/System.Text.RegularExpressions.xml", + "ref/netcore50/de/System.Text.RegularExpressions.xml", + "ref/netcore50/es/System.Text.RegularExpressions.xml", + "ref/netcore50/fr/System.Text.RegularExpressions.xml", + "ref/netcore50/it/System.Text.RegularExpressions.xml", + "ref/netcore50/ja/System.Text.RegularExpressions.xml", + "ref/netcore50/ko/System.Text.RegularExpressions.xml", + "ref/netcore50/ru/System.Text.RegularExpressions.xml", + "ref/netcore50/zh-hans/System.Text.RegularExpressions.xml", + "ref/netcore50/zh-hant/System.Text.RegularExpressions.xml", + "ref/netcoreapp1.1/System.Text.RegularExpressions.dll", + "ref/netstandard1.0/System.Text.RegularExpressions.dll", + "ref/netstandard1.0/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/System.Text.RegularExpressions.dll", + "ref/netstandard1.3/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/System.Text.RegularExpressions.dll", + "ref/netstandard1.6/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.regularexpressions.4.3.0.nupkg.sha512", + "system.text.regularexpressions.nuspec" + ] + }, + "System.Threading/4.3.0": { + "sha512": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "type": "package", + "path": "system.threading/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Threading.dll", + "lib/netstandard1.3/System.Threading.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.dll", + "ref/netcore50/System.Threading.xml", + "ref/netcore50/de/System.Threading.xml", + "ref/netcore50/es/System.Threading.xml", + "ref/netcore50/fr/System.Threading.xml", + "ref/netcore50/it/System.Threading.xml", + "ref/netcore50/ja/System.Threading.xml", + "ref/netcore50/ko/System.Threading.xml", + "ref/netcore50/ru/System.Threading.xml", + "ref/netcore50/zh-hans/System.Threading.xml", + "ref/netcore50/zh-hant/System.Threading.xml", + "ref/netstandard1.0/System.Threading.dll", + "ref/netstandard1.0/System.Threading.xml", + "ref/netstandard1.0/de/System.Threading.xml", + "ref/netstandard1.0/es/System.Threading.xml", + "ref/netstandard1.0/fr/System.Threading.xml", + "ref/netstandard1.0/it/System.Threading.xml", + "ref/netstandard1.0/ja/System.Threading.xml", + "ref/netstandard1.0/ko/System.Threading.xml", + "ref/netstandard1.0/ru/System.Threading.xml", + "ref/netstandard1.0/zh-hans/System.Threading.xml", + "ref/netstandard1.0/zh-hant/System.Threading.xml", + "ref/netstandard1.3/System.Threading.dll", + "ref/netstandard1.3/System.Threading.xml", + "ref/netstandard1.3/de/System.Threading.xml", + "ref/netstandard1.3/es/System.Threading.xml", + "ref/netstandard1.3/fr/System.Threading.xml", + "ref/netstandard1.3/it/System.Threading.xml", + "ref/netstandard1.3/ja/System.Threading.xml", + "ref/netstandard1.3/ko/System.Threading.xml", + "ref/netstandard1.3/ru/System.Threading.xml", + "ref/netstandard1.3/zh-hans/System.Threading.xml", + "ref/netstandard1.3/zh-hant/System.Threading.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Threading.dll", + "system.threading.4.3.0.nupkg.sha512", + "system.threading.nuspec" + ] + }, + "System.Threading.Tasks/4.3.0": { + "sha512": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "type": "package", + "path": "system.threading.tasks/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.Tasks.dll", + "ref/netcore50/System.Threading.Tasks.xml", + "ref/netcore50/de/System.Threading.Tasks.xml", + "ref/netcore50/es/System.Threading.Tasks.xml", + "ref/netcore50/fr/System.Threading.Tasks.xml", + "ref/netcore50/it/System.Threading.Tasks.xml", + "ref/netcore50/ja/System.Threading.Tasks.xml", + "ref/netcore50/ko/System.Threading.Tasks.xml", + "ref/netcore50/ru/System.Threading.Tasks.xml", + "ref/netcore50/zh-hans/System.Threading.Tasks.xml", + "ref/netcore50/zh-hant/System.Threading.Tasks.xml", + "ref/netstandard1.0/System.Threading.Tasks.dll", + "ref/netstandard1.0/System.Threading.Tasks.xml", + "ref/netstandard1.0/de/System.Threading.Tasks.xml", + "ref/netstandard1.0/es/System.Threading.Tasks.xml", + "ref/netstandard1.0/fr/System.Threading.Tasks.xml", + "ref/netstandard1.0/it/System.Threading.Tasks.xml", + "ref/netstandard1.0/ja/System.Threading.Tasks.xml", + "ref/netstandard1.0/ko/System.Threading.Tasks.xml", + "ref/netstandard1.0/ru/System.Threading.Tasks.xml", + "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", + "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", + "ref/netstandard1.3/System.Threading.Tasks.dll", + "ref/netstandard1.3/System.Threading.Tasks.xml", + "ref/netstandard1.3/de/System.Threading.Tasks.xml", + "ref/netstandard1.3/es/System.Threading.Tasks.xml", + "ref/netstandard1.3/fr/System.Threading.Tasks.xml", + "ref/netstandard1.3/it/System.Threading.Tasks.xml", + "ref/netstandard1.3/ja/System.Threading.Tasks.xml", + "ref/netstandard1.3/ko/System.Threading.Tasks.xml", + "ref/netstandard1.3/ru/System.Threading.Tasks.xml", + "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", + "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.tasks.4.3.0.nupkg.sha512", + "system.threading.tasks.nuspec" + ] + }, + "System.Threading.Tasks.Extensions/4.5.1": { + "sha512": "rckdhLJtzQ3EI+0BGuq7dUVtCSnerqAoAmL3S6oMRZ4VMZTL3Rq9DS8IDW57c6PYVebA4O0NbSA1BDvyE18UMA==", + "type": "package", + "path": "system.threading.tasks.extensions/4.5.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/netcoreapp2.1/_._", + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll", + "lib/netstandard1.0/System.Threading.Tasks.Extensions.xml", + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll", + "lib/netstandard2.0/System.Threading.Tasks.Extensions.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/netcoreapp2.1/_._", + "ref/netstandard1.0/System.Threading.Tasks.Extensions.dll", + "ref/netstandard1.0/System.Threading.Tasks.Extensions.xml", + "ref/netstandard2.0/System.Threading.Tasks.Extensions.dll", + "ref/netstandard2.0/System.Threading.Tasks.Extensions.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.tasks.extensions.4.5.1.nupkg.sha512", + "system.threading.tasks.extensions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Threading.Tasks.Parallel/4.3.0": { + "sha512": "Wn3GV5YIWjxvv9muD9FSZxH4PLx98Y4D1Z5mpYTowK1RLPtFvusnVKnT0OzmzEpYCMtVNgqfk3kPc9xRGsWrLA==", + "type": "package", + "path": "system.threading.tasks.parallel/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Threading.Tasks.Parallel.dll", + "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.Tasks.Parallel.dll", + "ref/netcore50/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/de/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/es/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/fr/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/it/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/ja/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/ko/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/ru/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/zh-hans/System.Threading.Tasks.Parallel.xml", + "ref/netcore50/zh-hant/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/System.Threading.Tasks.Parallel.dll", + "ref/netstandard1.1/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/de/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/es/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/fr/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/it/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/ja/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/ko/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/ru/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/zh-hans/System.Threading.Tasks.Parallel.xml", + "ref/netstandard1.1/zh-hant/System.Threading.Tasks.Parallel.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.tasks.parallel.4.3.0.nupkg.sha512", + "system.threading.tasks.parallel.nuspec" + ] + }, + "System.Threading.Thread/4.3.0": { + "sha512": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "type": "package", + "path": "system.threading.thread/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Threading.Thread.dll", + "lib/netcore50/_._", + "lib/netstandard1.3/System.Threading.Thread.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Threading.Thread.dll", + "ref/netstandard1.3/System.Threading.Thread.dll", + "ref/netstandard1.3/System.Threading.Thread.xml", + "ref/netstandard1.3/de/System.Threading.Thread.xml", + "ref/netstandard1.3/es/System.Threading.Thread.xml", + "ref/netstandard1.3/fr/System.Threading.Thread.xml", + "ref/netstandard1.3/it/System.Threading.Thread.xml", + "ref/netstandard1.3/ja/System.Threading.Thread.xml", + "ref/netstandard1.3/ko/System.Threading.Thread.xml", + "ref/netstandard1.3/ru/System.Threading.Thread.xml", + "ref/netstandard1.3/zh-hans/System.Threading.Thread.xml", + "ref/netstandard1.3/zh-hant/System.Threading.Thread.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.thread.4.3.0.nupkg.sha512", + "system.threading.thread.nuspec" + ] + }, + "System.Threading.ThreadPool/4.3.0": { + "sha512": "k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "type": "package", + "path": "system.threading.threadpool/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Threading.ThreadPool.dll", + "lib/netcore50/_._", + "lib/netstandard1.3/System.Threading.ThreadPool.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Threading.ThreadPool.dll", + "ref/netstandard1.3/System.Threading.ThreadPool.dll", + "ref/netstandard1.3/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/de/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/es/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/fr/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/it/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/ja/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/ko/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/ru/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/zh-hans/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/zh-hant/System.Threading.ThreadPool.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.threadpool.4.3.0.nupkg.sha512", + "system.threading.threadpool.nuspec" + ] + }, + "System.Threading.Timer/4.3.0": { + "sha512": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "type": "package", + "path": "system.threading.timer/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net451/_._", + "lib/portable-net451+win81+wpa81/_._", + "lib/win81/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net451/_._", + "ref/netcore50/System.Threading.Timer.dll", + "ref/netcore50/System.Threading.Timer.xml", + "ref/netcore50/de/System.Threading.Timer.xml", + "ref/netcore50/es/System.Threading.Timer.xml", + "ref/netcore50/fr/System.Threading.Timer.xml", + "ref/netcore50/it/System.Threading.Timer.xml", + "ref/netcore50/ja/System.Threading.Timer.xml", + "ref/netcore50/ko/System.Threading.Timer.xml", + "ref/netcore50/ru/System.Threading.Timer.xml", + "ref/netcore50/zh-hans/System.Threading.Timer.xml", + "ref/netcore50/zh-hant/System.Threading.Timer.xml", + "ref/netstandard1.2/System.Threading.Timer.dll", + "ref/netstandard1.2/System.Threading.Timer.xml", + "ref/netstandard1.2/de/System.Threading.Timer.xml", + "ref/netstandard1.2/es/System.Threading.Timer.xml", + "ref/netstandard1.2/fr/System.Threading.Timer.xml", + "ref/netstandard1.2/it/System.Threading.Timer.xml", + "ref/netstandard1.2/ja/System.Threading.Timer.xml", + "ref/netstandard1.2/ko/System.Threading.Timer.xml", + "ref/netstandard1.2/ru/System.Threading.Timer.xml", + "ref/netstandard1.2/zh-hans/System.Threading.Timer.xml", + "ref/netstandard1.2/zh-hant/System.Threading.Timer.xml", + "ref/portable-net451+win81+wpa81/_._", + "ref/win81/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.timer.4.3.0.nupkg.sha512", + "system.threading.timer.nuspec" + ] + }, + "System.ValueTuple/4.5.0": { + "sha512": "xZtSZNEHGa+tGsKuP4sh257vxJ/yemShz4EusmomkynMzuEDDjVaErBNewpzEF6swUgbcrSQAX3ELsEp1zCOwA==", + "type": "package", + "path": "system.valuetuple/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.ValueTuple.dll", + "lib/net461/System.ValueTuple.xml", + "lib/net47/System.ValueTuple.dll", + "lib/net47/System.ValueTuple.xml", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.0/System.ValueTuple.dll", + "lib/netstandard1.0/System.ValueTuple.xml", + "lib/netstandard2.0/_._", + "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll", + "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.xml", + "lib/uap10.0.16299/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net461/System.ValueTuple.dll", + "ref/net47/System.ValueTuple.dll", + "ref/netcoreapp2.0/_._", + "ref/netstandard2.0/_._", + "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll", + "ref/uap10.0.16299/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.valuetuple.4.5.0.nupkg.sha512", + "system.valuetuple.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Xml.ReaderWriter/4.3.0": { + "sha512": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "type": "package", + "path": "system.xml.readerwriter/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net46/System.Xml.ReaderWriter.dll", + "lib/netcore50/System.Xml.ReaderWriter.dll", + "lib/netstandard1.3/System.Xml.ReaderWriter.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net46/System.Xml.ReaderWriter.dll", + "ref/netcore50/System.Xml.ReaderWriter.dll", + "ref/netcore50/System.Xml.ReaderWriter.xml", + "ref/netcore50/de/System.Xml.ReaderWriter.xml", + "ref/netcore50/es/System.Xml.ReaderWriter.xml", + "ref/netcore50/fr/System.Xml.ReaderWriter.xml", + "ref/netcore50/it/System.Xml.ReaderWriter.xml", + "ref/netcore50/ja/System.Xml.ReaderWriter.xml", + "ref/netcore50/ko/System.Xml.ReaderWriter.xml", + "ref/netcore50/ru/System.Xml.ReaderWriter.xml", + "ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/System.Xml.ReaderWriter.dll", + "ref/netstandard1.0/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/de/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/es/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/it/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/System.Xml.ReaderWriter.dll", + "ref/netstandard1.3/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/de/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/es/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/it/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.readerwriter.4.3.0.nupkg.sha512", + "system.xml.readerwriter.nuspec" + ] + }, + "System.Xml.XDocument/4.3.0": { + "sha512": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "type": "package", + "path": "system.xml.xdocument/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Xml.XDocument.dll", + "lib/netstandard1.3/System.Xml.XDocument.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Xml.XDocument.dll", + "ref/netcore50/System.Xml.XDocument.xml", + "ref/netcore50/de/System.Xml.XDocument.xml", + "ref/netcore50/es/System.Xml.XDocument.xml", + "ref/netcore50/fr/System.Xml.XDocument.xml", + "ref/netcore50/it/System.Xml.XDocument.xml", + "ref/netcore50/ja/System.Xml.XDocument.xml", + "ref/netcore50/ko/System.Xml.XDocument.xml", + "ref/netcore50/ru/System.Xml.XDocument.xml", + "ref/netcore50/zh-hans/System.Xml.XDocument.xml", + "ref/netcore50/zh-hant/System.Xml.XDocument.xml", + "ref/netstandard1.0/System.Xml.XDocument.dll", + "ref/netstandard1.0/System.Xml.XDocument.xml", + "ref/netstandard1.0/de/System.Xml.XDocument.xml", + "ref/netstandard1.0/es/System.Xml.XDocument.xml", + "ref/netstandard1.0/fr/System.Xml.XDocument.xml", + "ref/netstandard1.0/it/System.Xml.XDocument.xml", + "ref/netstandard1.0/ja/System.Xml.XDocument.xml", + "ref/netstandard1.0/ko/System.Xml.XDocument.xml", + "ref/netstandard1.0/ru/System.Xml.XDocument.xml", + "ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml", + "ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml", + "ref/netstandard1.3/System.Xml.XDocument.dll", + "ref/netstandard1.3/System.Xml.XDocument.xml", + "ref/netstandard1.3/de/System.Xml.XDocument.xml", + "ref/netstandard1.3/es/System.Xml.XDocument.xml", + "ref/netstandard1.3/fr/System.Xml.XDocument.xml", + "ref/netstandard1.3/it/System.Xml.XDocument.xml", + "ref/netstandard1.3/ja/System.Xml.XDocument.xml", + "ref/netstandard1.3/ko/System.Xml.XDocument.xml", + "ref/netstandard1.3/ru/System.Xml.XDocument.xml", + "ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml", + "ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.xdocument.4.3.0.nupkg.sha512", + "system.xml.xdocument.nuspec" + ] + }, + "System.Xml.XmlDocument/4.3.0": { + "sha512": "xsnq6w3/S+NeYkUtxoCEDAn2Z+AkgvGLvJnslrTRte4jEU+fkR3DVG+s0sBmQYQ4c3r8949PaGg8AnRb9bBc2w==", + "type": "package", + "path": "system.xml.xmldocument/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Xml.XmlDocument.dll", + "lib/netstandard1.3/System.Xml.XmlDocument.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Xml.XmlDocument.dll", + "ref/netstandard1.3/System.Xml.XmlDocument.dll", + "ref/netstandard1.3/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/de/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/es/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/fr/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/it/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/ja/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/ko/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/ru/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/zh-hans/System.Xml.XmlDocument.xml", + "ref/netstandard1.3/zh-hant/System.Xml.XmlDocument.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.xmldocument.4.3.0.nupkg.sha512", + "system.xml.xmldocument.nuspec" + ] + }, + "System.Xml.XPath/4.3.0": { + "sha512": "8Eo7vuasWRqXfiBRCIKz20Rq1h6n+NMp6nW2RmyUwF4VDekg8xbRZu8S3N21P5XGAhv+kaqUwI3xydEkcw+D5w==", + "type": "package", + "path": "system.xml.xpath/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Xml.XPath.dll", + "lib/netstandard1.3/System.Xml.XPath.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Xml.XPath.dll", + "ref/netstandard1.3/System.Xml.XPath.dll", + "ref/netstandard1.3/System.Xml.XPath.xml", + "ref/netstandard1.3/de/System.Xml.XPath.xml", + "ref/netstandard1.3/es/System.Xml.XPath.xml", + "ref/netstandard1.3/fr/System.Xml.XPath.xml", + "ref/netstandard1.3/it/System.Xml.XPath.xml", + "ref/netstandard1.3/ja/System.Xml.XPath.xml", + "ref/netstandard1.3/ko/System.Xml.XPath.xml", + "ref/netstandard1.3/ru/System.Xml.XPath.xml", + "ref/netstandard1.3/zh-hans/System.Xml.XPath.xml", + "ref/netstandard1.3/zh-hant/System.Xml.XPath.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.xpath.4.3.0.nupkg.sha512", + "system.xml.xpath.nuspec" + ] + }, + "System.Xml.XPath.XDocument/4.3.0": { + "sha512": "jw9oHHEIVW53mHY9PgrQa98Xo2IZ0ZjrpdOTmtvk+Rvg4tq7dydmxdNqUvJ5YwjDqhn75mBXWttWjiKhWP53LQ==", + "type": "package", + "path": "system.xml.xpath.xdocument/4.3.0", + "files": [ + ".nupkg.metadata", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Xml.XPath.XDocument.dll", + "lib/netstandard1.3/System.Xml.XPath.XDocument.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Xml.XPath.XDocument.dll", + "ref/netstandard1.3/System.Xml.XPath.XDocument.dll", + "ref/netstandard1.3/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/de/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/es/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/fr/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/it/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/ja/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/ko/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/ru/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/zh-hans/System.Xml.XPath.XDocument.xml", + "ref/netstandard1.3/zh-hant/System.Xml.XPath.XDocument.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.xpath.xdocument.4.3.0.nupkg.sha512", + "system.xml.xpath.xdocument.nuspec" + ] + }, + "TinyMapper/3.0.2-beta": { + "sha512": "2vo0gmu2XO6zvCfBIdtNeSF6LnohI28gb72T5pXjxJgtagLx+u0aR88zc85zxyexNfOBHzuH/LoMAAtWovQI9Q==", + "type": "package", + "path": "tinymapper/3.0.2-beta", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net35/TinyMapper.dll", + "lib/net35/TinyMapper.xml", + "lib/net40/TinyMapper.dll", + "lib/net40/TinyMapper.xml", + "lib/netstandard1.3/TinyMapper.dll", + "lib/netstandard1.3/TinyMapper.xml", + "tinymapper.3.0.2-beta.nupkg.sha512", + "tinymapper.nuspec" + ] + }, + "TinyPinyin.Core.Standard/1.0.0": { + "sha512": "m2T+sm1fY5eOVmI+wo1NPdmryHSoY91x4IWzcvbD1m9wep5iIe74nnpUnujQZX6zV0PMHTIUhMmyXAISqVoAbw==", + "type": "package", + "path": "tinypinyin.core.standard/1.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard1.6/TinyPinyin.Core.Standard.dll", + "tinypinyin.core.standard.1.0.0.nupkg.sha512", + "tinypinyin.core.standard.nuspec" + ] + }, + "xunit/2.4.1": { + "sha512": "OwBhpez9SRZvEjqic3WVbACu2wsi9u5qi+YpzVg6BTL3R25R/6ytM4UkUTnx+dSZDJ3IUPx+99CX/YXnxrQAWA==", + "type": "package", + "path": "xunit/2.4.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "xunit.2.4.1.nupkg.sha512", + "xunit.nuspec" + ] + }, + "xunit.abstractions/2.0.3": { + "sha512": "PKJri5f0qEQPFvgY6CZR9XG8JROlWSdC/ZYLkkDQuID++Egn+yWjB+Yf57AZ8U6GRlP7z33uDQ4/r5BZPer2JA==", + "type": "package", + "path": "xunit.abstractions/2.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net35/xunit.abstractions.dll", + "lib/net35/xunit.abstractions.xml", + "lib/netstandard1.0/xunit.abstractions.dll", + "lib/netstandard1.0/xunit.abstractions.xml", + "lib/netstandard2.0/xunit.abstractions.dll", + "lib/netstandard2.0/xunit.abstractions.xml", + "xunit.abstractions.2.0.3.nupkg.sha512", + "xunit.abstractions.nuspec" + ] + }, + "xunit.analyzers/0.10.0": { + "sha512": "Uw6EqkOmt0IystUtzkU4U8ixCEz+piqgczyoPT00RwPDsWHtWwzedjsBQTS6P1h2+uwDF6w5UpYt5/SSE7eexQ==", + "type": "package", + "path": "xunit.analyzers/0.10.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/xunit.analyzers.dll", + "tools/install.ps1", + "tools/uninstall.ps1", + "xunit.analyzers.0.10.0.nupkg.sha512", + "xunit.analyzers.nuspec" + ] + }, + "xunit.assert/2.4.1": { + "sha512": "xWgCZQSBeM9C7Ak+VuzGsQr7K5ODLVsXK3g2sDD38/3Ljom2IbWJPudG8+IsspgvfpGh0g9Oe5vLc8U+izjieQ==", + "type": "package", + "path": "xunit.assert/2.4.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard1.1/xunit.assert.dll", + "lib/netstandard1.1/xunit.assert.xml", + "xunit.assert.2.4.1.nupkg.sha512", + "xunit.assert.nuspec" + ] + }, + "xunit.core/2.4.1": { + "sha512": "8taMlAQy9qQ7Tbiqr2TAwGkU+X0sckQ+96j7R9OX/Ut1gmHEa4QYIrI8c15j3iKTj3XzyQMVohkTMWa80BRf6w==", + "type": "package", + "path": "xunit.core/2.4.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/xunit.core.props", + "build/xunit.core.targets", + "buildMultiTargeting/xunit.core.props", + "buildMultiTargeting/xunit.core.targets", + "xunit.core.2.4.1.nupkg.sha512", + "xunit.core.nuspec" + ] + }, + "xunit.extensibility.core/2.4.1": { + "sha512": "qkdxGfxdsAurEFsr8z6LfoBRVb4Vcbeyk1wF+MRrObruwOtl7O+ihQUEHX8fnZnlUFsY6kR+9tcweomLsocR1A==", + "type": "package", + "path": "xunit.extensibility.core/2.4.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net452/xunit.core.dll", + "lib/net452/xunit.core.dll.tdnet", + "lib/net452/xunit.core.xml", + "lib/net452/xunit.runner.tdnet.dll", + "lib/net452/xunit.runner.utility.net452.dll", + "lib/netstandard1.1/xunit.core.dll", + "lib/netstandard1.1/xunit.core.xml", + "xunit.extensibility.core.2.4.1.nupkg.sha512", + "xunit.extensibility.core.nuspec" + ] + }, + "xunit.extensibility.execution/2.4.1": { + "sha512": "gc8TxVPew3+Hy6qJTs70JHirtSt5ky380gxC8QF+VmWOs6EdWGlo9xm3URkm+gPbE9roVVfnrw5AuqFNr4R52Q==", + "type": "package", + "path": "xunit.extensibility.execution/2.4.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net452/xunit.execution.desktop.dll", + "lib/net452/xunit.execution.desktop.xml", + "lib/netstandard1.1/xunit.execution.dotnet.dll", + "lib/netstandard1.1/xunit.execution.dotnet.xml", + "xunit.extensibility.execution.2.4.1.nupkg.sha512", + "xunit.extensibility.execution.nuspec" + ] + } + }, + "projectFileDependencyGroups": { + ".NETStandard,Version=v2.0": [ + "AngleSharp >= 0.12.1", + "Autofac >= 4.9.1", + "Autofac.Extensions.DependencyInjection >= 4.4.0", + "Bogus >= 26.0.1", + "CSRedisCore >= 3.0.60", + "Dapper >= 1.60.6", + "DotNetCore.NPOI >= 1.2.1", + "JWT >= 5.0.1", + "MQTTnet >= 2.8.5", + "MQiniu.Core >= 1.0.1", + "Microsoft.AspNetCore.Mvc >= 2.2.0", + "Microsoft.AspNetCore.Mvc.Versioning >= 3.1.2", + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer >= 3.2.0", + "Microsoft.AspNetCore.TestHost >= 2.2.0", + "Microsoft.EntityFrameworkCore >= 2.2.0", + "Microsoft.EntityFrameworkCore.Relational >= 2.2.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables >= 2.2.0", + "Microsoft.Extensions.Configuration.Json >= 2.2.0", + "Microsoft.Extensions.Http >= 2.2.0", + "Microsoft.Extensions.Options.ConfigurationExtensions >= 2.2.0", + "Microsoft.NET.Test.Sdk >= 16.0.1", + "MySqlConnector >= 0.56.0", + "NETStandard.Library >= 2.0.3", + "NLog.Extensions.Logging >= 1.4.0", + "Polly >= 7.1.0", + "Swashbuckle.AspNetCore >= 4.0.1", + "System.Drawing.Common >= 4.5.1", + "System.Text.Encoding.CodePages >= 4.5.1", + "TinyMapper >= 3.0.2-beta", + "TinyPinyin.Core.Standard >= 1.0.0", + "aliyun-net-sdk-core >= 1.5.3", + "xunit >= 2.4.1" + ] + }, + "packageFolders": { + "C:\\Users\\Administrator\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}, + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj", + "projectName": "Hncore.Infrastructure", + "projectPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj", + "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", + "outputPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], + "configFilePaths": [ + "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "AngleSharp": { + "target": "Package", + "version": "[0.12.1, )" + }, + "Autofac": { + "target": "Package", + "version": "[4.9.1, )" + }, + "Autofac.Extensions.DependencyInjection": { + "target": "Package", + "version": "[4.4.0, )" + }, + "Bogus": { + "target": "Package", + "version": "[26.0.1, )" + }, + "CSRedisCore": { + "target": "Package", + "version": "[3.0.60, )" + }, + "Dapper": { + "target": "Package", + "version": "[1.60.6, )" + }, + "DotNetCore.NPOI": { + "target": "Package", + "version": "[1.2.1, )" + }, + "JWT": { + "target": "Package", + "version": "[5.0.1, )" + }, + "MQTTnet": { + "target": "Package", + "version": "[2.8.5, )" + }, + "MQiniu.Core": { + "target": "Package", + "version": "[1.0.1, )" + }, + "Microsoft.AspNetCore.Mvc": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.AspNetCore.Mvc.Versioning": { + "target": "Package", + "version": "[3.1.2, )" + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": { + "target": "Package", + "version": "[3.2.0, )" + }, + "Microsoft.AspNetCore.TestHost": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Configuration.Json": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Http": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "target": "Package", + "version": "[2.2.0, )" + }, + "Microsoft.NET.Test.Sdk": { + "target": "Package", + "version": "[16.0.1, )" + }, + "MySqlConnector": { + "target": "Package", + "version": "[0.56.0, )" + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "NLog.Extensions.Logging": { + "target": "Package", + "version": "[1.4.0, )" + }, + "Polly": { + "target": "Package", + "version": "[7.1.0, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[4.0.1, )" + }, + "System.Drawing.Common": { + "target": "Package", + "version": "[4.5.1, )" + }, + "System.Text.Encoding.CodePages": { + "target": "Package", + "version": "[4.5.1, )" + }, + "TinyMapper": { + "target": "Package", + "version": "[3.0.2-beta, )" + }, + "TinyPinyin.Core.Standard": { + "target": "Package", + "version": "[1.0.0, )" + }, + "aliyun-net-sdk-core": { + "target": "Package", + "version": "[1.5.3, )" + }, + "xunit": { + "target": "Package", + "version": "[2.4.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "logs": [ + { + "code": "NU1904", + "level": "Warning", + "warningLevel": 1, + "message": "Package 'System.Drawing.Common' 4.5.1 has a known critical severity vulnerability, https://github.com/advisories/GHSA-rxg9-xrhp-64gj", + "libraryId": "System.Drawing.Common", + "targetGraphs": [ + ".NETStandard,Version=v2.0" + ] + } + ] +} \ No newline at end of file diff --git a/Infrastructure/Hncore.Infrastructure/xUnit/PriorityOrderer.cs b/Infrastructure/Hncore.Infrastructure/xUnit/PriorityOrderer.cs new file mode 100644 index 0000000..36397be --- /dev/null +++ b/Infrastructure/Hncore.Infrastructure/xUnit/PriorityOrderer.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Xunit.Abstractions; +using Xunit.Sdk; + +namespace Hncore.Infrastructure.xUnit +{ + public class PriorityOrderer : ITestCaseOrderer + { + public IEnumerable OrderTestCases(IEnumerable testCases) where TTestCase : ITestCase + { + var sortedMethods = new SortedDictionary>(); + + foreach (TTestCase testCase in testCases) + { + int priority = 0; + + foreach (IAttributeInfo attr in testCase.TestMethod.Method.GetCustomAttributes((typeof(TestPriorityAttribute).AssemblyQualifiedName))) + priority = attr.GetNamedArgument("Priority"); + + GetOrCreate(sortedMethods, priority).Add(testCase); + } + + foreach (var list in sortedMethods.Keys.Select(priority => sortedMethods[priority])) + { + list.Sort((x, y) => StringComparer.OrdinalIgnoreCase.Compare(x.TestMethod.Method.Name, y.TestMethod.Method.Name)); + foreach (TTestCase testCase in list) + yield return testCase; + } + } + + static TValue GetOrCreate(IDictionary dictionary, TKey key) where TValue : new() + { + TValue result; + + if (dictionary.TryGetValue(key, out result)) return result; + + result = new TValue(); + dictionary[key] = result; + + return result; + } + } + + [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] + public class TestPriorityAttribute : Attribute + { + public TestPriorityAttribute(int priority) + { + Priority = priority; + } + + public int Priority { get; private set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Alipay.AopSdk.Core.csproj b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Alipay.AopSdk.Core.csproj new file mode 100644 index 0000000..e470b7e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Alipay.AopSdk.Core.csproj @@ -0,0 +1,36 @@ + + + + netstandard2.0 + 2.5.0.1 + stulzq + 支付宝(Alipay)服务端SDK,与官方SDK接口完全相同。完全可以按照官方文档进行开发。除了支持支付以外,官方SDK支持的功能本SDK全部支持,且用法几乎一样,代码都可参考官方文档代码。github:https://github.com/stulzq/Alipay.AopSdk.Core,访问github获取demo以及使用文档。 + Copyright 2017-2019 stulzq + https://github.com/stulzq/Alipay.AopSdk.Core + true + Alipay,AopSdk,支付宝服务端SDK,支付宝支付 + 添加 AlipayOpenAppMiniTemplatemessage + https://github.com/stulzq/Alipay.AopSdk.Core + git + + LICENSE + logo.jpg + + + + + + + + + + True + + + + True + + + + + diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayConstants.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayConstants.cs new file mode 100644 index 0000000..05fe872 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayConstants.cs @@ -0,0 +1,11 @@ +namespace Alipay.AopSdk.Core +{ + public class AlipayConstants + { + public const string RESPONSE_SUFFIX = "_response"; + public const string ERROR_RESPONSE = "error_response"; + public const string SIGN = "sign"; + + public const string ENCRYPT_NODE_NAME = "response_encrypted"; + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaClient.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaClient.cs new file mode 100644 index 0000000..2413d3e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaClient.cs @@ -0,0 +1,238 @@ +using System; +using System.IO; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using Alipay.AopSdk.Core.Parser; +using Alipay.AopSdk.Core.Util; + +namespace Alipay.AopSdk.Core +{ + public class AlipayMobilePublicMultiMediaClient : IAopClient + { + public const string APP_ID = "app_id"; + public const string FORMAT = "format"; + public const string METHOD = "method"; + public const string TIMESTAMP = "timestamp"; + public const string VERSION = "version"; + public const string SIGN_TYPE = "sign_type"; + public const string ACCESS_TOKEN = "auth_token"; + public const string SIGN = "sign"; + public const string TERMINAL_TYPE = "terminal_type"; + public const string TERMINAL_INFO = "terminal_info"; + public const string PROD_CODE = "prod_code"; + public const string APP_AUTH_TOKEN = "app_auth_token"; + private readonly string appId; + private readonly string charset; + private string format; + private readonly string privateKeyPem; + private readonly string serverUrl; + private readonly string signType = "RSA"; + + private string version; + + private readonly WebUtils webUtils; + + public string Version + { + get => version != null ? version : "1.0"; + set => version = value; + } + + public string Format + { + get => format != null ? format : "json"; + set => format = value; + } + + public T PageExecute(IAopRequest request) where T : AopResponse + { + throw new NotImplementedException(); + } + + public T PageExecute(IAopRequest request, string session, string reqMethod) where T : AopResponse + { + throw new NotImplementedException(); + } + + public T SdkExecute(IAopRequest request) where T : AopResponse + { + throw new NotImplementedException(); + } + + public Task PageExecuteAsync(IAopRequest request) where T : AopResponse + { + throw new NotImplementedException(); + } + + public Task PageExecuteAsync(IAopRequest request, string accessToken, string reqMethod) where T : AopResponse + { + throw new NotImplementedException(); + } + + public Task ExecuteAsync(IAopRequest request) where T : AopResponse + { + throw new NotImplementedException(); + } + + public Task ExecuteAsync(IAopRequest request, string accessToken) where T : AopResponse + { + throw new NotImplementedException(); + } + + public Task ExecuteAsync(IAopRequest request, string accessToken, string appAuthToken) where T : AopResponse + { + throw new NotImplementedException(); + } + + private AopResponse DoGet(AopDictionary parameters, Stream outStream) + { + return AsyncHelper.RunSync(async () => await DoGetAsync(parameters, outStream)); + } + + private async Task DoGetAsync(AopDictionary parameters, Stream outStream) + { + AlipayMobilePublicMultiMediaDownloadResponse response = null; + + var url = serverUrl; + if (parameters != null && parameters.Count > 0) + if (url.Contains("?")) + url = url + "&" + WebUtils.BuildQuery(parameters, charset); + else + url = url + "?" + WebUtils.BuildQuery(parameters, charset); + + var client = webUtils.ConnectionPool.GetClient(); + var query=new Uri(url).Query; + var resp = await client.GetAsync(query); + if (resp.StatusCode == HttpStatusCode.OK) + { + + var body = await resp.Content.ReadAsStringAsync(); + IAopParser tp = + new AopJsonParser(); + response = tp.Parse(body, charset); + } + else + { + response = new AlipayMobilePublicMultiMediaDownloadResponse(); + } + return response; + } + + /// + /// 把响应流转换为文本。 + /// + /// 响应流对象 + /// 编码方式 + /// 响应文本 + public void GetResponseAsStream(Stream outStream, HttpWebResponse rsp) + { + var result = new StringBuilder(); + Stream stream = null; + StreamReader reader = null; + BinaryWriter writer = null; + + try + { + // 以字符流的方式读取HTTP响应 + stream = rsp.GetResponseStream(); + reader = new StreamReader(stream); + + writer = new BinaryWriter(outStream); + + //stream.CopyTo(outStream); + var length = Convert.ToInt32(rsp.ContentLength); + var buffer = new byte[length]; + var rc = 0; + while ((rc = stream.Read(buffer, 0, length)) > 0) + outStream.Write(buffer, 0, rc); + outStream.Flush(); + outStream.Close(); + } + finally + { + // 释放资源 + if (reader != null) reader.Close(); + if (stream != null) stream.Close(); + if (rsp != null) rsp.Close(); + } + } + + #region DefaultAopClient Constructors + + public AlipayMobilePublicMultiMediaClient(string serverUrl, string appId, string privateKeyPem) + { + this.appId = appId; + this.privateKeyPem = privateKeyPem; + this.serverUrl = serverUrl; + webUtils = new WebUtils(serverUrl); + } + + public AlipayMobilePublicMultiMediaClient(string serverUrl, string appId, string privateKeyPem, string format) + : this(serverUrl, appId, privateKeyPem) + { + this.format = format; + } + + public AlipayMobilePublicMultiMediaClient(string serverUrl, string appId, string privateKeyPem, string format, + string charset) + : this(serverUrl, appId, privateKeyPem, format) + { + this.charset = charset; + } + + public AlipayMobilePublicMultiMediaClient(string serverUrl, string appId, string privateKeyPem, string format, + string version, string signType) + : this(serverUrl, appId, privateKeyPem, format) + { + this.version = version; + this.signType = signType; + } + + + #endregion + + #region IAopClient Members + + public T Execute(IAopRequest request) where T : AopResponse + { + return Execute(request, null); + } + + public T Execute(IAopRequest request, string accessToken) where T : AopResponse + { + return Execute(request, accessToken, null); + } + + public T Execute(IAopRequest request, string accessToken, string appAuthToken) where T : AopResponse + { + var multiMediaDownloadRequest = (AlipayMobilePublicMultiMediaDownloadRequest) request; + // 添加协议级请求参数 + var txtParams = new AopDictionary(request.GetParameters()); + txtParams.Add(METHOD, request.GetApiName()); + txtParams.Add(VERSION, Version); + txtParams.Add(APP_ID, appId); + txtParams.Add(FORMAT, format); + txtParams.Add(TIMESTAMP, DateTime.Now); + txtParams.Add(ACCESS_TOKEN, accessToken); + txtParams.Add(SIGN_TYPE, signType); + txtParams.Add(TERMINAL_TYPE, request.GetTerminalType()); + txtParams.Add(TERMINAL_INFO, request.GetTerminalInfo()); + txtParams.Add(PROD_CODE, request.GetProdCode()); + + if (!string.IsNullOrEmpty(appAuthToken)) + txtParams.Add(APP_AUTH_TOKEN, appAuthToken); + + + // 添加签名参数 + txtParams.Add(SIGN, AopUtils.SignAopRequest(txtParams, privateKeyPem, charset, signType)); + + var outStream = multiMediaDownloadRequest.stream; + var rsp = DoGet(txtParams, outStream); + + return (T) rsp; + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaDownloadRequest.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaDownloadRequest.cs new file mode 100644 index 0000000..6cbf8b2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaDownloadRequest.cs @@ -0,0 +1,117 @@ +using System.Collections.Generic; +using System.IO; + +namespace Alipay.AopSdk.Core +{ + public class AlipayMobilePublicMultiMediaDownloadRequest : IAopRequest + { + public string BizContent { get; set; } + public Stream stream { set; get; } + + #region IAopRequest Members + + private string apiVersion = "1.0"; + private string terminalType; + private string terminalInfo; + private string prodCode; + private string notifyUrl; + private string returnUrl; + private bool needEncrypt; + private AopObject bizModel; + + public void SetNeedEncrypt(bool needEncrypt) + { + this.needEncrypt = needEncrypt; + } + + + public bool GetNeedEncrypt() + { + return needEncrypt; + } + + public void SetNotifyUrl(string notifyUrl) + { + this.notifyUrl = notifyUrl; + } + + public string GetNotifyUrl() + { + return notifyUrl; + } + + public void SetReturnUrl(string returnUrl) + { + this.returnUrl = returnUrl; + } + + public string GetReturnUrl() + { + return returnUrl; + } + + public void SetApiVersion(string apiVersion) + { + this.apiVersion = apiVersion; + } + + public string GetApiVersion() + { + return apiVersion; + } + + public void SetTerminalType(string terminalType) + { + this.terminalType = terminalType; + } + + public string GetTerminalType() + { + return terminalType; + } + + public void SetTerminalInfo(string terminalInfo) + { + this.terminalInfo = terminalInfo; + } + + public string GetTerminalInfo() + { + return terminalInfo; + } + + public void SetProdCode(string prodCode) + { + this.prodCode = prodCode; + } + + public string GetProdCode() + { + return prodCode; + } + + public string GetApiName() + { + return "alipay.mobile.public.multimedia.download"; + } + + public IDictionary GetParameters() + { + var parameters = new AopDictionary(); + parameters.Add("biz_content", BizContent); + return parameters; + } + + public AopObject GetBizModel() + { + return bizModel; + } + + public void SetBizModel(AopObject bizModel) + { + this.bizModel = bizModel; + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaDownloadResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaDownloadResponse.cs new file mode 100644 index 0000000..cfc355c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AlipayMobilePublicMultiMediaDownloadResponse.cs @@ -0,0 +1,9 @@ +namespace Alipay.AopSdk.Core +{ + /// + /// AlipayMobilePublicMultiMediaDownloadResponse. + /// + public class AlipayMobilePublicMultiMediaDownloadResponse : AopResponse + { + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopDictionary.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopDictionary.cs new file mode 100644 index 0000000..5ffb2e0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopDictionary.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; + +namespace Alipay.AopSdk.Core +{ + /// + /// 符合AOP习惯的纯字符串字典结构。 + /// + public class AopDictionary : Dictionary + { + private const string DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + + public AopDictionary() + { + } + + public AopDictionary(IDictionary dictionary) + : base(dictionary) + { + } + + /// + /// 添加一个新的键值对。空键或者空值的键值对将会被忽略。 + /// + /// 键名称 + /// 键对应的值,目前支持:string, int, long, double, bool, DateTime类型 + public void Add(string key, object value) + { + string strValue; + + if (value == null) + { + strValue = null; + } + else if (value is string) + { + strValue = (string) value; + } + else if (value is DateTime?) + { + var dateTime = value as DateTime?; + strValue = dateTime.Value.ToString(DATE_TIME_FORMAT); + } + else if (value is int?) + { + strValue = (value as int?).Value.ToString(); + } + else if (value is long?) + { + strValue = (value as long?).Value.ToString(); + } + else if (value is double?) + { + strValue = (value as double?).Value.ToString(); + } + else if (value is bool?) + { + strValue = (value as bool?).Value.ToString().ToLower(); + } + else + { + strValue = value.ToString(); + } + + Add(key, strValue); + } + + public new void Add(string key, string value) + { + if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value)) + base.Add(key, value); + } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopException.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopException.cs new file mode 100644 index 0000000..9e1d8fe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopException.cs @@ -0,0 +1,41 @@ +using System; +using System.Runtime.Serialization; + +namespace Alipay.AopSdk.Core +{ + /// + /// AOP客户端异常。 + /// + public class AopException : Exception + { + public AopException() + { + } + + public AopException(string message) + : base(message) + { + } + + protected AopException(SerializationInfo info, StreamingContext context) + : base(info, context) + { + } + + public AopException(string message, Exception innerException) + : base(message, innerException) + { + } + + public AopException(string errorCode, string errorMsg) + : base(errorCode + ":" + errorMsg) + { + ErrorCode = errorCode; + ErrorMsg = errorMsg; + } + + public string ErrorCode { get; } + + public string ErrorMsg { get; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopObject.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopObject.cs new file mode 100644 index 0000000..ece1efa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopObject.cs @@ -0,0 +1,12 @@ +using System; + +namespace Alipay.AopSdk.Core +{ + /// + /// 基础对象。 + /// + [Serializable] + public abstract class AopObject + { + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopResponse.cs new file mode 100644 index 0000000..d6299b5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/AopResponse.cs @@ -0,0 +1,73 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core +{ + [Serializable] + public abstract class AopResponse + { + private string body; + private string code; + private string msg; + private string subCode; + private string subMsg; + + /// + /// 错误码 + /// 对应 ErrCode + /// + [JsonProperty("code")] + public string Code + { + get => code; + set => code = value; + } + + /// + /// 错误信息 + /// 对应 ErrMsg + /// + [JsonProperty("msg")] + public string Msg + { + get => msg; + set => msg = value; + } + + /// + /// 子错误码 + /// 对应 SubErrCode + /// + [JsonProperty("sub_code")] + public string SubCode + { + get => subCode; + set => subCode = value; + } + + /// + /// 子错误信息 + /// 对应 SubErrMsg + /// + [JsonProperty("sub_msg")] + public string SubMsg + { + get => subMsg; + set => subMsg = value; + } + + /// + /// 响应原始内容 + /// + public string Body + { + get => body; + set => body = value; + } + + /// + /// 响应结果是否错误 + /// + public bool IsError => !string.IsNullOrEmpty(SubCode); + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayCore.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayCore.cs new file mode 100644 index 0000000..972da82 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayCore.cs @@ -0,0 +1,119 @@ +using System.Collections.Generic; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// 类名:Core + /// 功能:支付宝接口公用函数类 + /// 详细:该类是请求、通知返回两个文件所调用的公用函数核心处理文件,不需要修改 + /// 版本:3.4 + /// 修改日期:2015-06-05 + /// 说明: + /// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 + /// 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。 + /// + public class Core + { + + public Core() + { + } + + /// + /// 除去数组中的空值和签名参数并以字母a到z的顺序排序 + /// + /// 过滤前的参数组 + /// 过滤后的参数组 + public static Dictionary FilterPara(SortedDictionary dicArrayPre) + { + Dictionary dicArray = new Dictionary(); + foreach (KeyValuePair temp in dicArrayPre) + { + if (temp.Key.ToLower() != "sign" && temp.Key.ToLower()!="sign_type" && temp.Value != "" && temp.Value != null) + { + dicArray.Add(temp.Key, temp.Value); + } + } + + return dicArray; + } + + /// + /// 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 + /// + /// 需要拼接的数组 + /// 拼接完成以后的字符串 + public static string CreateLinkString(Dictionary dicArray) + { + StringBuilder prestr = new StringBuilder(); + foreach (KeyValuePair temp in dicArray) + { + prestr.Append(temp.Key + "=" + temp.Value + "&"); + } + + //去掉最後一個&字符 + int nLen = prestr.Length; + prestr.Remove(nLen-1,1); + + return prestr.ToString(); + } + + /// + /// 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对参数值做urlencode + /// + /// 需要拼接的数组 + /// 字符编码 + /// 拼接完成以后的字符串 + //public static string CreateLinkStringUrlencode(Dictionary dicArray, Encoding code) + //{ + // StringBuilder prestr = new StringBuilder(); + // foreach (KeyValuePair temp in dicArray) + // { + // prestr.Append(temp.Key + "=" + HttpUtility.UrlEncode(temp.Value, code) + "&"); + // } + + // //去掉最後一個&字符 + // int nLen = prestr.Length; + // prestr.Remove(nLen - 1, 1); + + // return prestr.ToString(); + //} + + /// + /// 获取文件的md5摘要 + /// + /// 文件流 + /// MD5摘要结果 + public static string GetAbstractToMD5(Stream sFile) + { + MD5 md5 = new MD5CryptoServiceProvider(); + byte[] result = md5.ComputeHash(sFile); + StringBuilder sb = new StringBuilder(32); + for (int i = 0; i < result.Length; i++) + { + sb.Append(result[i].ToString("x").PadLeft(2, '0')); + } + return sb.ToString(); + } + + /// + /// 获取文件的md5摘要 + /// + /// 文件流 + /// MD5摘要结果 + public static string GetAbstractToMD5(byte[] dataFile) + { + MD5 md5 = new MD5CryptoServiceProvider(); + byte[] result = md5.ComputeHash(dataFile); + StringBuilder sb = new StringBuilder(32); + for (int i = 0; i < result.Length; i++) + { + sb.Append(result[i].ToString("x").PadLeft(2, '0')); + } + return sb.ToString(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FMonitorResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FMonitorResult.cs new file mode 100644 index 0000000..5ba53fa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FMonitorResult.cs @@ -0,0 +1,44 @@ +using Alipay.AopSdk.Core.Response; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayF2FMonitorResult 的摘要说明 + /// + public class AlipayF2FMonitorResult + { + public AlipayF2FMonitorResult() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public MonitorHeartbeatSynResponse response { get; set; } + + public ResultEnum Status + { + get + { + + if (response != null) + { + if (response.Code == ResultCode.SUCCESS) + { + return ResultEnum.SUCCESS; + } + else + return ResultEnum.FAILED; + } + else + { + return ResultEnum.UNKNOWN; + } + } + + } + + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FPayResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FPayResult.cs new file mode 100644 index 0000000..0492051 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FPayResult.cs @@ -0,0 +1,44 @@ +using Alipay.AopSdk.Core.Response; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayF2FPayResult 的摘要说明 + /// + public class AlipayF2FPayResult + { + public AlipayF2FPayResult() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public AlipayTradePayResponse response { get; set; } + + public ResultEnum Status + { + get + { + + if (response != null) + { + if (response.Code == ResultCode.SUCCESS) + { + return ResultEnum.SUCCESS; + } + else + return ResultEnum.FAILED; + } + else + { + return ResultEnum.UNKNOWN; + } + } + + } + + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FPrepayResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FPrepayResult.cs new file mode 100644 index 0000000..24c5199 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FPrepayResult.cs @@ -0,0 +1,47 @@ +using Alipay.AopSdk.Core.Response; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayF2FPayResult 的摘要说明 + /// + public class AlipayF2FPrecreateResult + { + public AlipayF2FPrecreateResult() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public AlipayTradePrecreateResponse response { get; set; } + + public ResultEnum Status + { + get + { + if (response != null) + { + if (response.Code == ResultCode.SUCCESS) + { + return ResultEnum.SUCCESS; + } + if (response.Code == ResultCode.ERROR) + { + return ResultEnum.UNKNOWN; + } + else + return ResultEnum.FAILED; + } + else + { + return ResultEnum.UNKNOWN; + } + + } + + } + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FQueryResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FQueryResult.cs new file mode 100644 index 0000000..a7687ef --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FQueryResult.cs @@ -0,0 +1,46 @@ +using Alipay.AopSdk.Core.Response; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayF2FPayResult 的摘要说明 + /// + public class AlipayF2FQueryResult + { + public AlipayF2FQueryResult() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public AlipayTradeQueryResponse response { get; set; } + + public ResultEnum Status + { + get + { + if (response != null) + { + if (response.Code == ResultCode.SUCCESS && + (response.TradeStatus.Equals(TradeStatus.TRADE_SUCCESS) || response.TradeStatus.Equals(TradeStatus.TRADE_FINISHED))) + { + return ResultEnum.SUCCESS; + } + if (response.Code == ResultCode.ERROR) + { + return ResultEnum.UNKNOWN; + } + else + return ResultEnum.FAILED; + } + else + { + return ResultEnum.UNKNOWN; + } + } + } + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FRefundResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FRefundResult.cs new file mode 100644 index 0000000..aed77c8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayF2FRefundResult.cs @@ -0,0 +1,45 @@ +using Alipay.AopSdk.Core.Response; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayF2FPayResult 的摘要说明 + /// + public class AlipayF2FRefundResult + { + public AlipayF2FRefundResult() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public AlipayTradeRefundResponse response { get; set; } + + public ResultEnum Status + { + get + { + if (response != null) + { + if (response.Code == ResultCode.SUCCESS) + { + return ResultEnum.SUCCESS; + } + if (response.Code == ResultCode.ERROR) + { + return ResultEnum.UNKNOWN; + } + else + return ResultEnum.FAILED; + } + else + { + return ResultEnum.UNKNOWN; + } + } + } + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayMonitorImpl.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayMonitorImpl.cs new file mode 100644 index 0000000..4400483 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayMonitorImpl.cs @@ -0,0 +1,51 @@ +using Alipay.AopSdk.Core; +using Alipay.AopSdk.Core.Request; +using Alipay.AopSdk.F2FPay.Domain; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayTradePayImpl 的摘要说明 + /// + public class AlipayMonitorImpl : IAlipayMonitor + { + + IAopClient client = null; + + public AlipayMonitorImpl(string monitorUrl, string appId, string merchant_private_key, string format, string version, + string sign_type, string alipay_public_key, string charset) + { + client = new DefaultAopClient(monitorUrl, appId, merchant_private_key, format, version, + sign_type, alipay_public_key, charset); + + } + + + #region 接口方法 + + public AlipayF2FMonitorResult mcloudMonitor(AlipayMonitorContentBuilder build) + { + AlipayF2FMonitorResult result = new AlipayF2FMonitorResult(); + try + { + MonitorHeartbeatSynRequest monitorRequest = new MonitorHeartbeatSynRequest(); + monitorRequest.BizContent = build.BuildJson(); + result.response = client.Execute(monitorRequest); + return result; + } + catch + { + result.response = null; + return result; + } + } + + + #endregion + + + #region 内部方法 + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayTradeImpl.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayTradeImpl.cs new file mode 100644 index 0000000..5bd00c3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/AlipayTradeImpl.cs @@ -0,0 +1,393 @@ +using System; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Alipay.AopSdk.Core; +using Alipay.AopSdk.Core.Request; +using Alipay.AopSdk.Core.Response; +using Alipay.AopSdk.Core.Util; +using Alipay.AopSdk.F2FPay.Domain; +using Alipay.AopSdk.F2FPay.Model; + + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// AlipayTradePayImpl 的摘要说明 + /// + public class AlipayTradeImpl : IAlipayTradeService + { + + + + IAopClient client = null; + + public AlipayTradeImpl(string serverUrl, string appId, string merchant_private_key, string format, string version, + string sign_type, string alipay_public_key, string charset) + { + client = new DefaultAopClient(serverUrl, appId, merchant_private_key, format, version, + sign_type, alipay_public_key, charset); + + } + + + #region 接口方法 + public AlipayF2FPayResult TradePay(AlipayTradePayContentBuilder builder) + { + AlipayF2FPayResult payResult = new AlipayF2FPayResult(); + try + { + + AlipayTradePayRequest payRequest = new AlipayTradePayRequest(); + payRequest.BizContent = builder.BuildJson(); + AlipayTradePayResponse payResponse = client.Execute(payRequest); + + //payRequest.SetBizModel(""); + + if (payResponse != null) + { + + switch (payResponse.Code) + { + case ResultCode.SUCCESS: + break; + + //返回支付处理中,需要进行轮询 + case ResultCode.INRROCESS: + + AlipayTradeQueryResponse queryResponse = LoopQuery(builder.out_trade_no, 10, 3000); //用订单号trade_no进行轮询也是可以的。 + //轮询结束后还是支付处理中,需要调撤销接口 + if (queryResponse != null) + { + if (queryResponse.TradeStatus == "WAIT_BUYER_PAY") + { + CancelAndRetry(builder.out_trade_no); + payResponse.Code = ResultCode.FAIL; + } + payResponse = toTradePayResponse(queryResponse); + } + break; + + //明确返回业务失败 + case ResultCode.FAIL: + break; + + //返回系统异常,需要调用一次查询接口,没有返回支付成功的话调用撤销接口撤销交易 + case ResultCode.ERROR: + + AlipayTradeQueryResponse queryResponse2 = sendTradeQuery(builder.out_trade_no); + + if (queryResponse2 != null) + { + if (queryResponse2.TradeStatus == TradeStatus.WAIT_BUYER_PAY) + { + AlipayTradeCancelResponse cancelResponse = CancelAndRetry(builder.out_trade_no); + payResponse.Code = ResultCode.FAIL; + } + + payResponse = toTradePayResponse(queryResponse2); + + } + break; + + default: + payResult.response = payResponse; + break; + } + payResult.response = payResponse; + return payResult; + } + else + { + AlipayTradeQueryResponse queryResponse3 = sendTradeQuery(builder.out_trade_no); + if (queryResponse3 != null) + { + if (queryResponse3.TradeStatus == TradeStatus.WAIT_BUYER_PAY) + { + AlipayTradeCancelResponse cancelResponse = CancelAndRetry(builder.out_trade_no); + payResponse.Code = ResultCode.FAIL; + } + payResponse = toTradePayResponse(queryResponse3); + } + payResult.response = payResponse; + return payResult; + } + //return payResult; + } + catch(Exception e) + { + + AlipayTradePayResponse payResponse = new AlipayTradePayResponse(); + payResponse.Code = ResultCode.FAIL; + payResponse.Body = e.Message; + payResult.response = payResponse; + return payResult; + } + } + + public AlipayF2FQueryResult TradeQuery(string outTradeNo) + { + return AsyncHelper.RunSync(async () => await TradeQueryAsync(outTradeNo)); + } + + public async Task TradeQueryAsync(string outTradeNo) + { + AlipayF2FQueryResult result = new AlipayF2FQueryResult(); + try + { + + AlipayTradeQueryContentBuilder build = new AlipayTradeQueryContentBuilder(); + build.out_trade_no = outTradeNo; + AlipayTradeQueryRequest payRequest = new AlipayTradeQueryRequest(); + payRequest.BizContent = build.BuildJson(); + result.response = await client.ExecuteAsync(payRequest); + return result; + } + catch + { + result.response = null; + return result; + } + } + + + public AlipayF2FRefundResult TradeRefund(AlipayTradeRefundContentBuilder builder) + { + return AsyncHelper.RunSync(async () => await TradeRefundAsync(builder)); + } + + public async Task TradeRefundAsync(AlipayTradeRefundContentBuilder builder) + { + var refundResult = new AlipayF2FRefundResult(); + try + { + + AlipayTradeRefundRequest refundRequest = new AlipayTradeRefundRequest(); + refundRequest.BizContent = builder.BuildJson(); + refundResult.response = await client.ExecuteAsync(refundRequest); + return refundResult; + } + catch + { + refundResult.response = null; + return refundResult; + } + } + + public AlipayF2FPrecreateResult TradePrecreate(AlipayTradePrecreateContentBuilder builder) + { + return AsyncHelper.RunSync(async () => await TradePrecreateAsync(builder)); + } + + public async Task TradePrecreateAsync(AlipayTradePrecreateContentBuilder builder) + { + AlipayF2FPrecreateResult payResult = new AlipayF2FPrecreateResult(); + try + { + + AlipayTradePrecreateRequest payRequest = new AlipayTradePrecreateRequest(); + payRequest.BizContent = builder.BuildJson(); + + + payResult.response = await client.ExecuteAsync(payRequest); + return payResult; + } + catch + { + payResult.response = null; + return payResult; + } + } + + public AlipayF2FPrecreateResult TradePrecreate(AlipayTradePrecreateContentBuilder builder, string notify_url) + { + return AsyncHelper.RunSync(async () => await TradePrecreateAsync(builder, notify_url)); + } + + public async Task TradePrecreateAsync(AlipayTradePrecreateContentBuilder builder, string notify_url) + { + AlipayF2FPrecreateResult payResult = new AlipayF2FPrecreateResult(); + try + { + AlipayTradePrecreateRequest payRequest = new AlipayTradePrecreateRequest(); + payRequest.BizContent = builder.BuildJson(); + payRequest.SetNotifyUrl(notify_url); + payResult.response = await client.ExecuteAsync(payRequest); + return payResult; + + } + catch + { + payResult.response = null; + return payResult; + } + } + + #endregion + + + #region 内部方法 + private AlipayTradeCancelResponse tradeCancel(string outTradeNo) + { + try + { + AlipayTradeCancelRequest request = new AlipayTradeCancelRequest(); + StringBuilder sb2 = new StringBuilder(); + sb2.Append("{\"out_trade_no\":\"" + outTradeNo + "\"}"); + request.BizContent = sb2.ToString(); + AlipayTradeCancelResponse response = client.Execute(request); + return response; + } + catch + { + return null; + } + + } + + private AlipayTradePayResponse toTradePayResponse(AlipayTradeQueryResponse queryResponse) + { + if (queryResponse == null || queryResponse.Code != ResultCode.SUCCESS) + return null; + AlipayTradePayResponse payResponse = new AlipayTradePayResponse(); + + if (queryResponse.TradeStatus == TradeStatus.WAIT_BUYER_PAY) + { + payResponse.Code = ResultCode.INRROCESS; + } + if (queryResponse.TradeStatus == TradeStatus.TRADE_FINISHED + || queryResponse.TradeStatus == TradeStatus.TRADE_SUCCESS) + { + payResponse.Code = ResultCode.SUCCESS; + } + if (queryResponse.TradeStatus == TradeStatus.TRADE_CLOSED) + { + payResponse.Code = ResultCode.FAIL; + } + + payResponse.Msg = queryResponse.Msg; + payResponse.SubCode = queryResponse.SubCode; + payResponse.SubMsg = queryResponse.SubMsg; + payResponse.Body = queryResponse.Body; + payResponse.BuyerLogonId = queryResponse.BuyerLogonId; + payResponse.FundBillList = queryResponse.FundBillList; + payResponse.OpenId = queryResponse.OpenId; + payResponse.OutTradeNo = queryResponse.OutTradeNo; + payResponse.ReceiptAmount = queryResponse.ReceiptAmount; + payResponse.TotalAmount = queryResponse.TotalAmount; + payResponse.TradeNo = queryResponse.TradeNo; + + + return payResponse; + + + } + + + private AlipayTradeQueryResponse sendTradeQuery(string outTradeNo) + { + try + { + AlipayTradeQueryContentBuilder build = new AlipayTradeQueryContentBuilder(); + build.out_trade_no = outTradeNo; + AlipayTradeQueryRequest payRequest = new AlipayTradeQueryRequest(); + payRequest.BizContent = build.BuildJson(); + AlipayTradeQueryResponse payResponse = client.Execute(payRequest); + return payResponse; + } + catch + { + return null; + } + } + + /// + /// 1.返回支付处理中,轮询订单状态 + /// 2.本示例中轮询了6次,每次相隔5秒 + /// + /// + /// + private AlipayTradeQueryResponse LoopQuery(string out_trade_no, int count, int interval) + { + AlipayTradeQueryResponse queryResult = null; + + for (int i = 1; i <= count; i++) + { + Thread.Sleep(interval); + AlipayTradeQueryResponse queryResponse = sendTradeQuery(out_trade_no); + if (queryResponse != null && string.Compare(queryResponse.Code, ResultCode.SUCCESS, false) == 0) + { + queryResult = queryResponse; + if (queryResponse.TradeStatus == "TRADE_FINISHED" + || queryResponse.TradeStatus == "TRADE_SUCCESS" + || queryResponse.TradeStatus == "TRADE_CLOSED") + return queryResponse; + } + } + + return queryResult; + + } + + /// + /// 撤销订单 + /// + /// + /// + private AlipayTradeCancelResponse CancelAndRetry(string out_trade_no) + { + AlipayTradeCancelResponse cancelResponse = null; + + cancelResponse = tradeCancel(out_trade_no); + + //如果撤销失败,新开一个线程重试撤销,不影响主业务 + if (cancelResponse == null || (cancelResponse.Code == ResultCode.FAIL && cancelResponse.RetryFlag == "Y")) + { + ParameterizedThreadStart ParStart = new ParameterizedThreadStart(cancelThreadFunc); + Thread myThread = new Thread(ParStart); + object o = out_trade_no; + myThread.Start(o); + } + return cancelResponse; + } + + private void cancelThreadFunc(object o) + { + int RETRYCOUNT = 10; + int INTERVAL = 10000; + + for (int i = 0; i < RETRYCOUNT; ++i) + { + + Thread.Sleep(INTERVAL); + AlipayTradeCancelRequest cancelRequest = new AlipayTradeCancelRequest(); + string outTradeNo = o.ToString(); + AlipayTradeCancelResponse cancelResponse = tradeCancel(outTradeNo); + + if (null != cancelResponse) + { + if (cancelResponse.Code == ResultCode.FAIL) + { + if (cancelResponse.RetryFlag == "N") + { + break; + } + } + if ((cancelResponse.Code == ResultCode.SUCCESS)) + { + break; + } + } + + if (i == RETRYCOUNT - 1) + { + /** !!!!!!!注意!!!!!!!! + 处理到最后一次,还是未撤销成功,需要在商户数据库中对此单最标记,人工介入处理*/ + } + + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/Alipaynotify.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/Alipaynotify.cs new file mode 100644 index 0000000..b9c7d8a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/Alipaynotify.cs @@ -0,0 +1,200 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Text; +using Alipay.AopSdk.Core.Util; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// 类名:Notify + /// 功能:支付宝通知处理类 + /// 详细:处理支付宝各接口通知返回 + /// 版本:3.3 + /// 修改日期:2011-07-05 + /// '说明: + /// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 + /// 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。 + /// + /// //////////////////////注意///////////////////////////// + /// 调试通知返回时,可查看或改写log日志的写入TXT里的数据,来检查通知返回是否正常 + /// + public class Notify + { + #region 字段 + private string _partner = ""; //合作身份者ID + private string _charset = ""; //编码格式 + private string _sign_type = ""; //签名方式 + private string _alipay_public_key = ""; //支付宝公钥文件地址 + + //支付宝消息验证地址 + private string Https_veryfy_url = ""; + #endregion + + + /// + /// 构造函数 + /// 从配置文件中初始化变量 + /// + /// 通知返回参数数组 + /// 通知验证ID + + public Notify(string charset, string sign_type, string pid, string mapiUrl, string alipay_public_key) + { + //初始化基础配置信息 + _charset = charset; + _sign_type = sign_type; + _partner = pid; + Https_veryfy_url = mapiUrl + "?service=notify_verify&"; + _alipay_public_key = alipay_public_key; + } + + + /// + /// 验证消息是否是支付宝发出的合法消息 + /// + /// 通知返回参数数组 + /// 通知验证ID + /// 支付宝生成的签名结果 + /// 验证结果 + public bool Verify(SortedDictionary inputPara, string notify_id, string sign) + { + //获取返回时的签名验证结果 + bool isSign = GetSignVeryfy(inputPara, sign); + //获取是否是支付宝服务器发来的请求的验证结果 + + //string responseTxt = "true"; + //当面付2.0的异步通 + //if (notify_id != null && notify_id != "") { responseTxt = GetResponseTxt(notify_id); } + + //写日志记录(若要调试,请取消下面两行注释) + //string sWord = "responseTxt=" + responseTxt + "\n isSign=" + isSign.ToString() + "\n 返回回来的参数:" + GetPreSignStr(inputPara) + "\n "; + //Core.LogResult(sWord); + + //对于开放平台的异步通知,通过验签可以达到安全校验的目的 + //isSign不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关 + if (isSign)//验证成功 + { + return true; + } + else//验证失败 + { + return false; + } + } + + /// + /// 获取待签名字符串(调试用) + /// + /// 通知返回参数数组 + /// 待签名字符串 + private string GetPreSignStr(SortedDictionary inputPara) + { + Dictionary sPara = new Dictionary(); + + //过滤空值、sign与sign_type参数 + sPara = Core.FilterPara(inputPara); + + //获取待签名字符串 + string preSignStr = Core.CreateLinkString(sPara); + + return preSignStr; + } + + /// + /// 获取返回时的签名验证结果 + /// + /// 通知返回参数数组 + /// 对比的签名结果 + /// 签名验证结果 + private bool GetSignVeryfy(SortedDictionary inputPara, string sign) + { + Dictionary sPara = new Dictionary(); + + //过滤空值、sign与sign_type参数 + sPara = Core.FilterPara(inputPara); + + //获取待签名字符串 + string preSignStr = Core.CreateLinkString(sPara); + + + + //获得签名验证结果 + bool isSign = false; + if (sign != null && sign != "") + { + switch (_sign_type) + { + case "RSA": + isSign = AlipaySignature.RSACheckContent(preSignStr, sign, _alipay_public_key, _charset, _sign_type,false); + break; + case "RSA2": + isSign = AlipaySignature.RSACheckContent(preSignStr, sign, _alipay_public_key, _charset, _sign_type,false); + + break; + + default: + break; + } + } + + return isSign; + } + + + + + + /// + /// 获取是否是支付宝服务器发来的请求的验证结果 + /// + /// 通知验证ID + /// 验证结果 + private string GetResponseTxt(string notify_id) + { + string veryfy_url = Https_veryfy_url + "partner=" + _partner + "¬ify_id=" + notify_id; + + //获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求 + string responseTxt = Get_Http(veryfy_url, 120000); + + return responseTxt; + } + + /// + /// 获取远程服务器ATN结果 + /// + /// 指定URL路径地址 + /// 超时时间设置 + /// 服务器ATN结果 + private string Get_Http(string strUrl, int timeout) + { + string strResult; + try + { + HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(strUrl); + myReq.Timeout = timeout; + HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse(); + Stream myStream = HttpWResp.GetResponseStream(); + StreamReader sr = new StreamReader(myStream, Encoding.Default); + StringBuilder strBuilder = new StringBuilder(); + while (-1 != sr.Peek()) + { + strBuilder.Append(sr.ReadLine()); + } + + strResult = strBuilder.ToString(); + } + catch (Exception exp) + { + strResult = "错误:" + exp.Message; + } + + return strResult; + } + + + + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FBiz.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FBiz.cs new file mode 100644 index 0000000..bffb880 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FBiz.cs @@ -0,0 +1,27 @@ + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// F2FBiz 的摘要说明 + /// + public class F2FBiz + { + private F2FBiz() { } + + public static IAlipayTradeService serviceClient = null; + + + public static IAlipayTradeService CreateClientInstance(string serverUrl, string appId, string merchant_private_key, string version, + string sign_type, string alipay_public_key, string charset) + { + + + + serviceClient = new AlipayTradeImpl(serverUrl, appId, merchant_private_key, "json", version, + sign_type, alipay_public_key, charset); + + return serviceClient; + } + + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FMonitor.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FMonitor.cs new file mode 100644 index 0000000..75805b5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FMonitor.cs @@ -0,0 +1,25 @@ + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// F2FBiz 的摘要说明 + /// + public class F2FMonitor + { + private F2FMonitor() { } + + public static IAlipayMonitor monitorClient = null; + + public static IAlipayMonitor CreateClientInstance(string monitorUrl, string appId, string merchant_private_key, string version, + string sign_type, string alipay_public_key, string charset) + { + if (monitorClient == null) + { + monitorClient = new AlipayMonitorImpl(monitorUrl, appId, merchant_private_key, "json", version, + sign_type, alipay_public_key, charset); + } + return monitorClient; + } + + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FResult.cs new file mode 100644 index 0000000..0d3c4c6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/F2FResult.cs @@ -0,0 +1,15 @@ +using Alipay.AopSdk.Core; + +namespace Alipay.AopSdk.F2FPay.Business +{ + + /// + /// F2FResult 的摘要说明 + /// + public abstract class F2FResult + { + public abstract bool IsSuccess(); + public abstract AopResponse AopResponse(); + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/IAlipayMonitor.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/IAlipayMonitor.cs new file mode 100644 index 0000000..972e134 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/IAlipayMonitor.cs @@ -0,0 +1,15 @@ +using Alipay.AopSdk.F2FPay.Domain; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// IAlipayMonitor 的摘要说明 + /// + public interface IAlipayMonitor + { + + //云监控接口 + AlipayF2FMonitorResult mcloudMonitor(AlipayMonitorContentBuilder builder); + } + +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/IAlipayTradeService.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/IAlipayTradeService.cs new file mode 100644 index 0000000..44b6c62 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Business/IAlipayTradeService.cs @@ -0,0 +1,32 @@ +using System.Threading.Tasks; +using Alipay.AopSdk.F2FPay.Domain; + +namespace Alipay.AopSdk.F2FPay.Business +{ + /// + /// IAlipayTrade 的摘要说明 + /// + public interface IAlipayTradeService + { + //当面付条码支付 + AlipayF2FPayResult TradePay(AlipayTradePayContentBuilder builder); + + // 当面付2.0交易查询 + AlipayF2FQueryResult TradeQuery(string outTradeNo); + + // 当面付2.0交易退货 + AlipayF2FRefundResult TradeRefund(AlipayTradeRefundContentBuilder builder); + + // 当面付2.0预下单 + AlipayF2FPrecreateResult TradePrecreate(AlipayTradePrecreateContentBuilder builder); + AlipayF2FPrecreateResult TradePrecreate(AlipayTradePrecreateContentBuilder builder, string notify_url); + + //云监控接口 + //AlipayF2FMonitorResult mcloudMonitor(AlipayMonitorContentBuilder builder); + Task TradeQueryAsync(string outTradeNo); + Task TradeRefundAsync(AlipayTradeRefundContentBuilder builder); + Task TradePrecreateAsync(AlipayTradePrecreateContentBuilder builder); + Task TradePrecreateAsync(AlipayTradePrecreateContentBuilder builder, string notify_url); + } + +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/DefaultAopClient.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/DefaultAopClient.cs new file mode 100644 index 0000000..76e8bc3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/DefaultAopClient.cs @@ -0,0 +1,649 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using Alipay.AopSdk.Core.Parser; +using Alipay.AopSdk.Core.Util; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core +{ + /// + /// + /// AOP客户端。 + /// + public class DefaultAopClient : IAopClient + { + public const string APP_ID = "app_id"; + public const string FORMAT = "format"; + public const string METHOD = "method"; + public const string TIMESTAMP = "timestamp"; + public const string VERSION = "version"; + public const string SIGN_TYPE = "sign_type"; + public const string ACCESS_TOKEN = "auth_token"; + public const string SIGN = "sign"; + public const string TERMINAL_TYPE = "terminal_type"; + public const string TERMINAL_INFO = "terminal_info"; + public const string PROD_CODE = "prod_code"; + public const string NOTIFY_URL = "notify_url"; + public const string CHARSET = "charset"; + public const string ENCRYPT_TYPE = "encrypt_type"; + public const string BIZ_CONTENT = "biz_content"; + public const string APP_AUTH_TOKEN = "app_auth_token"; + public const string RETURN_URL = "return_url"; + private readonly string alipayPublicKey; + private string charset; + private readonly string encyptKey; + private readonly string encyptType = "AES"; + private string format; + private string httpmethod; + private readonly bool keyFromFile; + + public string notify_url; + private readonly string privateKeyPem; + public string return_url; + private readonly string serverUrl; + private readonly string signType = "RSA2"; + + private string version; + + private readonly WebUtils webUtils; + + public string Version + { + get => version != null ? version : "1.0"; + set => version = value; + } + + public string Format + { + get => format != null ? format : "json"; + set => format = value; + } + + public string AppId { get; set; } + + #region IAopClient Members + + public T PageExecute(IAopRequest request) where T : AopResponse + { + return PageExecute(request, null, "POST"); + } + + public async Task PageExecuteAsync(IAopRequest request) where T : AopResponse + { + return await PageExecuteAsync(request, null, "POST"); + } + #endregion + + #region IAopClient Members + public T PageExecute (IAopRequest request, string accessToken, string reqMethod) where T : AopResponse + { + return AsyncHelper.RunSync(async () => await PageExecuteAsync(request, accessToken, reqMethod)); + } + + public async Task PageExecuteAsync(IAopRequest request, string accessToken, string reqMethod) where T : AopResponse + { + if (string.IsNullOrEmpty(charset)) + charset = "utf-8"; + + string apiVersion = null; + + if (!string.IsNullOrEmpty(request.GetApiVersion())) + apiVersion = request.GetApiVersion(); + else + apiVersion = Version; + + var txtParams = new AopDictionary(request.GetParameters()); + + // 序列化BizModel + txtParams = SerializeBizModel(txtParams, request); + + // 添加协议级请求参数 + //AopDictionary txtParams = new AopDictionary(request.GetParameters()); + txtParams.Add(METHOD, request.GetApiName()); + txtParams.Add(VERSION, apiVersion); + txtParams.Add(APP_ID, AppId); + txtParams.Add(FORMAT, format); + txtParams.Add(TIMESTAMP, DateTime.Now); + txtParams.Add(ACCESS_TOKEN, accessToken); + txtParams.Add(SIGN_TYPE, signType); + txtParams.Add(TERMINAL_TYPE, request.GetTerminalType()); + txtParams.Add(TERMINAL_INFO, request.GetTerminalInfo()); + txtParams.Add(PROD_CODE, request.GetProdCode()); + txtParams.Add(NOTIFY_URL, request.GetNotifyUrl()); + txtParams.Add(CHARSET, charset); + txtParams.Add(RETURN_URL, request.GetReturnUrl()); + //字典排序 + IDictionary sortedTxtParams = new SortedDictionary(txtParams); + txtParams = new AopDictionary(sortedTxtParams); + // 排序返回字典类型添加签名参数 + + var signContent =AlipaySignature.GetSignContent(txtParams); + + var path ="Logs/"+DateTime.Now.ToString("yyyyMMdd"); + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + } + var file = path + "/alipay.log"; + File.AppendAllText(file, "pay body:" + signContent); + + txtParams.Add(SIGN, AopUtils.SignAopRequest(sortedTxtParams, privateKeyPem, charset, keyFromFile, signType)); + File.AppendAllText(file, "pay SIGN:" + txtParams[SIGN]); + // 是否需要上传文件 + string body; + + if (request is IAopUploadRequest) + { + var uRequest = (IAopUploadRequest) request; + var fileParams = AopUtils.CleanupDictionary(uRequest.GetFileParameters()); + body = await webUtils.DoPostAsync(serverUrl + "?" + CHARSET + "=" + charset, txtParams, fileParams, charset); + } + else + { + if (reqMethod.Equals("GET")) + { + //直接调用DoGet方法请求 + //body=webUtils .DoGet (this.serverUrl ,txtParams ,this.charset); + //拼接get请求的url + var tmpUrl = serverUrl; + if (txtParams != null && txtParams.Count > 0) + if (tmpUrl.Contains("?")) + tmpUrl = tmpUrl + "&" + WebUtils.BuildQuery(txtParams, charset); + else + tmpUrl = tmpUrl + "?" + WebUtils.BuildQuery(txtParams, charset); + body = tmpUrl; + } + else + { + //直接调用DoPost方法请求 + // body = webUtils.DoPost(this.serverUrl, txtParams, this.charset); + //输出post表单 + body = BuildHtmlRequest(txtParams, reqMethod, reqMethod); + } + } + + T rsp = null; + IAopParser parser = null; + if ("xml".Equals(format)) + { + parser = new AopXmlParser(); + rsp = parser.Parse(body, charset); + } + else + { + parser = new AopJsonParser(); + rsp = parser.Parse(body, charset); + } + + //验签 + // CheckResponseSign(request, rsp, parser, this.alipayPublicKey, this.charset); + return rsp; + } + + #endregion + + #region SDK Execute + + public T SdkExecute(IAopRequest request) where T : AopResponse + { + // 构造请求参数 + var requestParams = buildRequestParams(request, null, null); + + // 字典排序 + IDictionary sortedParams = new SortedDictionary(requestParams); + var sortedAopDic = new AopDictionary(sortedParams); + + // 参数签名 + var charset = string.IsNullOrEmpty(this.charset) ? "utf-8" : this.charset; + var signResult = AopUtils.SignAopRequest(sortedAopDic, privateKeyPem, charset, keyFromFile, signType); + + // 添加签名结果参数 + sortedAopDic.Add(SIGN, signResult); + + // 参数拼接 + var signedResult = WebUtils.BuildQuery(sortedAopDic, charset); + + // 构造结果 + var rsp = (T) Activator.CreateInstance(typeof(T)); + rsp.Body = signedResult; + return rsp; + } + + #endregion + + #region IAopClient Members + + public string BuildHtmlRequest(IDictionary sParaTemp, string strMethod, string strButtonValue) + { + //待请求参数数组 + IDictionary dicPara = new Dictionary(); + dicPara = sParaTemp; + + var sbHtml = new StringBuilder(); + //sbHtml.Append(""); + + sbHtml.Append("
"); + ; + foreach (var temp in dicPara) + sbHtml.Append(""); + + //submit按钮控件请不要含有name属性 + sbHtml.Append("
"); + // sbHtml.Append(""); + + //表单实现自动提交 + sbHtml.Append(""); + + return sbHtml.ToString(); + } + + #endregion + + #region Common Method + + private AopDictionary buildRequestParams(IAopRequest request, string accessToken, string appAuthToken) + where T : AopResponse + { + // 默认参数 + var oriParams = new AopDictionary(request.GetParameters()); + + // 序列化BizModel + var result = SerializeBizModel(oriParams, request); + + // 获取参数 + var charset = string.IsNullOrEmpty(this.charset) ? "utf-8" : this.charset; + var apiVersion = string.IsNullOrEmpty(request.GetApiVersion()) ? Version : request.GetApiVersion(); + + // 添加协议级请求参数,为空的参数后面会自动过滤,这里不做处理。 + result.Add(METHOD, request.GetApiName()); + result.Add(VERSION, apiVersion); + result.Add(APP_ID, AppId); + result.Add(FORMAT, format); + result.Add(TIMESTAMP, DateTime.Now); + result.Add(ACCESS_TOKEN, accessToken); + result.Add(SIGN_TYPE, signType); + result.Add(TERMINAL_TYPE, request.GetTerminalType()); + result.Add(TERMINAL_INFO, request.GetTerminalInfo()); + result.Add(PROD_CODE, request.GetProdCode()); + result.Add(NOTIFY_URL, request.GetNotifyUrl()); + result.Add(CHARSET, charset); + result.Add(RETURN_URL, request.GetReturnUrl()); + result.Add(APP_AUTH_TOKEN, appAuthToken); + + if (request.GetNeedEncrypt()) + { + if (string.IsNullOrEmpty(result[BIZ_CONTENT])) + throw new AopException("api request Fail ! The reason: encrypt request is not supported!"); + + if (string.IsNullOrEmpty(encyptKey) || string.IsNullOrEmpty(encyptType)) + throw new AopException("encryptType or encryptKey must not null!"); + + if (!"AES".Equals(encyptType)) + throw new AopException("api only support Aes!"); + + var encryptContent = AopUtils.AesEncrypt(encyptKey, result[BIZ_CONTENT], this.charset); + result.Remove(BIZ_CONTENT); + result.Add(BIZ_CONTENT, encryptContent); + result.Add(ENCRYPT_TYPE, encyptType); + } + + return result; + } + + #endregion + + #region DefaultAopClient Constructors + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem) + { + AppId = appId; + this.privateKeyPem = privateKeyPem; + this.serverUrl = serverUrl; + webUtils = new WebUtils(serverUrl); + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, bool keyFromFile) + { + AppId = appId; + this.privateKeyPem = privateKeyPem; + this.serverUrl = serverUrl; + this.keyFromFile = keyFromFile; + webUtils = new WebUtils(serverUrl); + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format) + { + AppId = appId; + this.privateKeyPem = privateKeyPem; + this.serverUrl = serverUrl; + this.format = format; + webUtils = new WebUtils(serverUrl); + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format, string charset) + : this(serverUrl, appId, privateKeyPem, format) + { + this.charset = charset; + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format, string version, + string signType) + : this(serverUrl, appId, privateKeyPem) + { + this.format = format; + this.version = version; + this.signType = signType; + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format, string version, + string signType, string alipayPulicKey) + : this(serverUrl, appId, privateKeyPem, format, version, signType) + { + alipayPublicKey = alipayPulicKey; + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format, string version, + string signType, string alipayPulicKey, string charset) + : this(serverUrl, appId, privateKeyPem, format, version, signType, alipayPulicKey) + { + this.charset = charset; + } + + // + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format, string version, + string signType, string alipayPulicKey, string charset, bool keyFromFile) + : this(serverUrl, appId, privateKeyPem, format, version, signType, alipayPulicKey) + { + this.keyFromFile = keyFromFile; + this.charset = charset; + } + + public DefaultAopClient(string serverUrl, string appId, string privateKeyPem, string format, string version, + string signType, string alipayPulicKey, string charset, string encyptKey) + : this(serverUrl, appId, privateKeyPem, format, version, signType, alipayPulicKey, charset) + { + this.encyptKey = encyptKey; + encyptType = "AES"; + } + + #endregion + + #region IAopClient Members + + public T Execute(IAopRequest request) where T : AopResponse + { + return Execute(request, null); + } + + public T Execute(IAopRequest request, string accessToken) where T : AopResponse + { + return Execute(request, accessToken, null); + } + + public async Task ExecuteAsync(IAopRequest request) where T : AopResponse + { + return await ExecuteAsync(request, null); + } + + public async Task ExecuteAsync(IAopRequest request, string accessToken) where T : AopResponse + { + return await ExecuteAsync(request, accessToken, null); + } + + #endregion + + #region IAopClient Members + + public T Execute(IAopRequest request, string accessToken, string appAuthToken) where T : AopResponse + { + return AsyncHelper.RunSync(async () => await ExecuteAsync(request, accessToken, appAuthToken)); + } + + public async Task ExecuteAsync(IAopRequest request, string accessToken, string appAuthToken) where T : AopResponse + { + if (string.IsNullOrEmpty(charset)) + charset = "utf-8"; + + string apiVersion = null; + + if (!string.IsNullOrEmpty(request.GetApiVersion())) + apiVersion = request.GetApiVersion(); + else + apiVersion = Version; + + // 添加协议级请求参数 + var txtParams = new AopDictionary(request.GetParameters()); + + // 序列化BizModel + txtParams = SerializeBizModel(txtParams, request); + + txtParams.Add(METHOD, request.GetApiName()); + txtParams.Add(VERSION, apiVersion); + txtParams.Add(APP_ID, AppId); + txtParams.Add(FORMAT, format); + txtParams.Add(TIMESTAMP, DateTime.Now); + txtParams.Add(ACCESS_TOKEN, accessToken); + txtParams.Add(SIGN_TYPE, signType); + txtParams.Add(TERMINAL_TYPE, request.GetTerminalType()); + txtParams.Add(TERMINAL_INFO, request.GetTerminalInfo()); + txtParams.Add(PROD_CODE, request.GetProdCode()); + txtParams.Add(CHARSET, charset); + + + if (!string.IsNullOrEmpty(request.GetNotifyUrl())) + txtParams.Add(NOTIFY_URL, request.GetNotifyUrl()); + + if (!string.IsNullOrEmpty(appAuthToken)) + txtParams.Add(APP_AUTH_TOKEN, appAuthToken); + + + if (request.GetNeedEncrypt()) + { + if (string.IsNullOrEmpty(txtParams[BIZ_CONTENT])) + throw new AopException("api request Fail ! The reason: encrypt request is not supported!"); + + if (string.IsNullOrEmpty(encyptKey) || string.IsNullOrEmpty(encyptType)) + throw new AopException("encryptType or encryptKey must not null!"); + + if (!"AES".Equals(encyptType)) + throw new AopException("api only support Aes!"); + + var encryptContent = AopUtils.AesEncrypt(encyptKey, txtParams[BIZ_CONTENT], charset); + txtParams.Remove(BIZ_CONTENT); + txtParams.Add(BIZ_CONTENT, encryptContent); + txtParams.Add(ENCRYPT_TYPE, encyptType); + } + + // 添加签名参数 + txtParams.Add(SIGN, AopUtils.SignAopRequest(txtParams, privateKeyPem, charset, keyFromFile, signType)); + + + // 是否需要上传文件 + string body; + + + if (request is IAopUploadRequest) + { + var uRequest = (IAopUploadRequest)request; + var fileParams = AopUtils.CleanupDictionary(uRequest.GetFileParameters()); + body = await webUtils.DoPostAsync(serverUrl + "?" + CHARSET + "=" + charset, txtParams, fileParams, charset); + } + else + { + body = await webUtils.DoPostAsync(serverUrl + "?" + CHARSET + "=" + charset, txtParams, charset); + } + + T rsp = null; + IAopParser parser = null; + if ("xml".Equals(format)) + { + parser = new AopXmlParser(); + rsp = parser.Parse(body, charset); + } + else + { + parser = new AopJsonParser(); + rsp = parser.Parse(body, charset); + } + + var item = parseRespItem(request, body, parser, encyptKey, encyptType, charset); + rsp = parser.Parse(item.realContent, charset); + + CheckResponseSign(request, item.respContent, rsp.IsError, parser, alipayPublicKey, charset, signType, keyFromFile); + + return rsp; + } + + private static ResponseParseItem parseRespItem(IAopRequest request, string respBody, IAopParser parser, + string encryptKey, string encryptType, string charset) where T : AopResponse + { + string realContent = null; + + if (request.GetNeedEncrypt()) + realContent = parser.EncryptSourceData(request, respBody, encryptType, encryptKey, charset); + else + realContent = respBody; + + var item = new ResponseParseItem(); + item.realContent = realContent; + item.respContent = respBody; + + return item; + } + + public static void CheckResponseSign(IAopRequest request, string responseBody, bool isError, + IAopParser parser, string alipayPublicKey, string charset, string signType) where T : AopResponse + { + if (string.IsNullOrEmpty(alipayPublicKey) || string.IsNullOrEmpty(charset)) + return; + + var signItem = parser.GetSignItem(request, responseBody); + if (signItem == null) + throw new AopException("sign check fail: Body is Empty!"); + + if (!isError || + isError && !string.IsNullOrEmpty(signItem.Sign)) + { + var rsaCheckContent = + AlipaySignature.RSACheckContent(signItem.SignSourceDate, signItem.Sign, alipayPublicKey, charset, signType); + if (!rsaCheckContent) + if (!string.IsNullOrEmpty(signItem.SignSourceDate) && signItem.SignSourceDate.Contains("\\/")) + { + var srouceData = signItem.SignSourceDate.Replace("\\/", "/"); + var jsonCheck = AlipaySignature.RSACheckContent(srouceData, signItem.Sign, alipayPublicKey, charset, signType); + if (!jsonCheck) + throw new AopException( + "sign check fail: check Sign and Data Fail JSON also"); + } + else + { + throw new AopException( + "sign check fail: check Sign and Data Fail!"); + } + } + } + + public static void CheckResponseSign(IAopRequest request, string responseBody, bool isError, + IAopParser parser, string alipayPublicKey, string charset, string signType, bool keyFromFile) + where T : AopResponse + { + if (string.IsNullOrEmpty(alipayPublicKey) || string.IsNullOrEmpty(charset)) + return; + + var signItem = parser.GetSignItem(request, responseBody); + if (signItem == null) + throw new AopException("sign check fail: Body is Empty!"); + + if (!isError || + isError && !string.IsNullOrEmpty(signItem.Sign)) + { + var rsaCheckContent = AlipaySignature.RSACheckContent(signItem.SignSourceDate, signItem.Sign, alipayPublicKey, + charset, signType, keyFromFile); + if (!rsaCheckContent) + if (!string.IsNullOrEmpty(signItem.SignSourceDate) && signItem.SignSourceDate.Contains("\\/")) + { + var srouceData = signItem.SignSourceDate.Replace("\\/", "/"); + var jsonCheck = + AlipaySignature.RSACheckContent(srouceData, signItem.Sign, alipayPublicKey, charset, signType, keyFromFile); + if (!jsonCheck) + throw new AopException( + "sign check fail: check Sign and Data Fail JSON also"); + } + else + { + throw new AopException( + "sign check fail: check Sign and Data Fail!"); + } + } + } + + #endregion + + #region IAopClient Members + + public Dictionary FilterPara(SortedDictionary dicArrayPre) + { + var dicArray = new Dictionary(); + foreach (var temp in dicArrayPre) + if (temp.Key.ToLower() != "sign" && temp.Key.ToLower() != "sign_type" && temp.Value != "" && temp.Value != null) + dicArray.Add(temp.Key, temp.Value); + + return dicArray; + } + + public static string CreateLinkStringUrlencode(Dictionary dicArray, Encoding code) + { + var prestr = new StringBuilder(); + foreach (var temp in dicArray) + prestr.Append(temp.Key + "=" + HttpUtility.UrlEncode(temp.Value, code) + "&"); + + //去掉最後一個&字符 + var nLen = prestr.Length; + prestr.Remove(nLen - 1, 1); + + return prestr.ToString(); + } + + #endregion + + #region Model Serialize + + /// + /// + /// + /// + /// + /// + private AopDictionary SerializeBizModel(AopDictionary requestParams, IAopRequest request) where T : AopResponse + { + var result = requestParams; + var isBizContentEmpty = !requestParams.ContainsKey(BIZ_CONTENT) || string.IsNullOrEmpty(requestParams[BIZ_CONTENT]); + if (isBizContentEmpty && request.GetBizModel() != null) + { + var bizModel = request.GetBizModel(); + var content = Serialize(bizModel); + result.Add(BIZ_CONTENT, content); + } + return result; + } + + /// + /// AopObject序列化 + /// + /// + /// + private string Serialize(AopObject obj) + { + JsonSerializerSettings jsetting = new JsonSerializerSettings(); + jsetting.NullValueHandling = NullValueHandling.Ignore; + return JsonConvert.SerializeObject(obj, Formatting.None, jsetting); + } + + #endregion + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessOrdersFeedBack.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessOrdersFeedBack.cs new file mode 100644 index 0000000..9a65cbc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessOrdersFeedBack.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessOrdersFeedBack Data Structure. + /// + [Serializable] + public class AccessOrdersFeedBack : AopObject + { + /// + /// 错误码 + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误描述 + /// + [JsonProperty("error_desc")] + public string ErrorDesc { get; set; } + + /// + /// 反馈主键ID(生产单ID或者采购单ID或者码token) + /// + [JsonProperty("feedback_id")] + public string FeedbackId { get; set; } + + /// + /// 生产单:PRODUCE_ORDER 采购单:PURCHASE_ORDER 二维码:QRCODE + /// + [JsonProperty("order_type")] + public string OrderType { get; set; } + + /// + /// 外部单据号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 每条记录处理结果 + /// + [JsonProperty("success")] + public bool Success { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessOrdersFeedBackResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessOrdersFeedBackResult.cs new file mode 100644 index 0000000..46af2ad --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessOrdersFeedBackResult.cs @@ -0,0 +1,47 @@ +using System; +using Newtonsoft.Json; +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessOrdersFeedBackResult Data Structure. + /// + [Serializable] + public class AccessOrdersFeedBackResult : AopObject + { + /// + /// 错误码 + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误描述 + /// + [JsonProperty("error_desc")] + public string ErrorDesc { get; set; } + + /// + /// 反馈主键ID(生产单ID或者采购单ID或者码token) + /// + [JsonProperty("feedback_id")] + public string FeedbackId { get; set; } + + /// + /// 生产单:PRODUCE_ORDER 采购单:PURCHASE_ORDER 二维码:QRCODE + /// + [JsonProperty("order_type")] + public string OrderType { get; set; } + + /// + /// 外部单据号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 每条记录处理结果 + /// + [JsonProperty("success")] + public bool Success { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessParams.cs new file mode 100644 index 0000000..7f3d638 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessParams.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessParams Data Structure. + /// + [Serializable] + public class AccessParams : AopObject + { + /// + /// 目前支持以下值: 1. ALIPAYAPP (钱包h5页面签约) 2. QRCODE(扫码签约) 3. QRCODEORSMS(扫码签约或者短信签约) + /// + [JsonProperty("channel")] + public string Channel { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessProduceOrder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessProduceOrder.cs new file mode 100644 index 0000000..d126720 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessProduceOrder.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessProduceOrder Data Structure. + /// + [Serializable] + public class AccessProduceOrder : AopObject + { + /// + /// 口碑码批次号 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 生产单标识 + /// + [JsonProperty("produce_order_id")] + public string ProduceOrderId { get; set; } + + /// + /// 生产数量 + /// + [JsonProperty("produce_quantity")] + public long ProduceQuantity { get; set; } + + /// + /// 物料属性名称 + /// + [JsonProperty("stuff_attr_name")] + public string StuffAttrName { get; set; } + + /// + /// 物料材质 + /// + [JsonProperty("stuff_material")] + public string StuffMaterial { get; set; } + + /// + /// 物料尺寸 + /// + [JsonProperty("stuff_size")] + public string StuffSize { get; set; } + + /// + /// 物料类型 + /// + [JsonProperty("stuff_type")] + public string StuffType { get; set; } + + /// + /// 模板唯一标识 + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 模板名称 + /// + [JsonProperty("template_name")] + public string TemplateName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessProduceQrcode.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessProduceQrcode.cs new file mode 100644 index 0000000..b814825 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessProduceQrcode.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessProduceQrcode Data Structure. + /// + [Serializable] + public class AccessProduceQrcode : AopObject + { + /// + /// 口碑码批次号 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 码url + /// + [JsonProperty("core_url")] + public string CoreUrl { get; set; } + + /// + /// 生产单号 + /// + [JsonProperty("produce_order_id")] + public string ProduceOrderId { get; set; } + + /// + /// 二维码编码 + /// + [JsonProperty("qrcode")] + public string Qrcode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrder.cs new file mode 100644 index 0000000..6a81ba4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrder.cs @@ -0,0 +1,126 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessPurchaseOrder Data Structure. + /// + [Serializable] + public class AccessPurchaseOrder : AopObject + { + /// + /// 申请日期, 格式: yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("apply_date")] + public string ApplyDate { get; set; } + + /// + /// 申请订单明细号 + /// + [JsonProperty("asset_item_id")] + public string AssetItemId { get; set; } + + /// + /// 申请订单号 + /// + [JsonProperty("asset_order_id")] + public string AssetOrderId { get; set; } + + /// + /// 采购单号(订单汇总表ID) + /// + [JsonProperty("asset_purchase_id")] + public string AssetPurchaseId { get; set; } + + /// + /// 市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 数量 + /// + [JsonProperty("count")] + public string Count { get; set; } + + /// + /// 订单创建日期, 格式: yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("create_date")] + public string CreateDate { get; set; } + + /// + /// 区 + /// + [JsonProperty("district")] + public string District { get; set; } + + /// + /// 是否需要生产 + /// + [JsonProperty("is_produce")] + public string IsProduce { get; set; } + + /// + /// 省 + /// + [JsonProperty("province")] + public string Province { get; set; } + + /// + /// 收货人地址 + /// + [JsonProperty("receiver_address")] + public string ReceiverAddress { get; set; } + + /// + /// 联系人电话 + /// + [JsonProperty("receiver_mobile")] + public string ReceiverMobile { get; set; } + + /// + /// 收货人姓名 + /// + [JsonProperty("receiver_name")] + public string ReceiverName { get; set; } + + /// + /// 物料类型 + /// + [JsonProperty("stuff_attr_name")] + public string StuffAttrName { get; set; } + + /// + /// 物料材质 + /// + [JsonProperty("stuff_material")] + public string StuffMaterial { get; set; } + + /// + /// 物料尺寸 + /// + [JsonProperty("stuff_size")] + public string StuffSize { get; set; } + + /// + /// 物料属性 + /// + [JsonProperty("stuff_type")] + public string StuffType { get; set; } + + /// + /// 模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 模板名称,线下约定的物料名 + /// + [JsonProperty("template_name")] + public string TemplateName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrderSend.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrderSend.cs new file mode 100644 index 0000000..4aafe69 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrderSend.cs @@ -0,0 +1,71 @@ +using System; +using Newtonsoft.Json; +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessPurchaseOrderSend Data Structure. + /// + [Serializable] + public class AccessPurchaseOrderSend : AopObject + { + /// + /// 申请单明细号 + /// + [JsonProperty("asset_item_id")] + public string AssetItemId { get; set; } + + /// + /// 申请单号 + /// + [JsonProperty("asset_order_id")] + public string AssetOrderId { get; set; } + + /// + /// 采购单ID + /// + [JsonProperty("asset_purchase_id")] + public string AssetPurchaseId { get; set; } + + /// + /// 物流公司code + /// + [JsonProperty("express_code")] + public string ExpressCode { get; set; } + + /// + /// 物流公司名称 + /// + [JsonProperty("express_name")] + public string ExpressName { get; set; } + + /// + /// 物流单号 + /// + [JsonProperty("express_no")] + public string ExpressNo { get; set; } + + /// + /// 外部单号(供应商主键标识) + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// PO单号 + /// + [JsonProperty("po_no")] + public string PoNo { get; set; } + + /// + /// 回传码值数量1000(不是码物料时为0) + /// + [JsonProperty("return_qrcode_count")] + public string ReturnQrcodeCount { get; set; } + + /// + /// 本次发货数量 + /// + [JsonProperty("ship_count")] + public string ShipCount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrderSendResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrderSendResult.cs new file mode 100644 index 0000000..2f1a588 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessPurchaseOrderSendResult.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessPurchaseOrderSendResult Data Structure. + /// + [Serializable] + public class AccessPurchaseOrderSendResult : AopObject + { + /// + /// 申请单明细号 + /// + [JsonProperty("asset_item_id")] + public string AssetItemId { get; set; } + + /// + /// 申请单号 + /// + [JsonProperty("asset_order_id")] + public string AssetOrderId { get; set; } + + /// + /// 采购单ID + /// + [JsonProperty("asset_purchase_id")] + public string AssetPurchaseId { get; set; } + + /// + /// 错误CODE + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误描述 + /// + [JsonProperty("error_desc")] + public string ErrorDesc { get; set; } + + /// + /// 外部单号(调用方业务主键标识) + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 处理是否成功 + /// + [JsonProperty("success")] + public bool Success { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessReturnQrcode.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessReturnQrcode.cs new file mode 100644 index 0000000..e5fca69 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessReturnQrcode.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessReturnQrcode Data Structure. + /// + [Serializable] + public class AccessReturnQrcode : AopObject + { + /// + /// 采购单ID + /// + [JsonProperty("asset_purchase_id")] + public string AssetPurchaseId { get; set; } + + /// + /// 物流单号 + /// + [JsonProperty("express_no")] + public string ExpressNo { get; set; } + + /// + /// 外部单号(调用方业务主键) + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 二维码token值 + /// + [JsonProperty("qrcode")] + public string Qrcode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessReturnQrcodeResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessReturnQrcodeResult.cs new file mode 100644 index 0000000..1554de1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccessReturnQrcodeResult.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccessReturnQrcodeResult Data Structure. + /// + [Serializable] + public class AccessReturnQrcodeResult : AopObject + { + /// + /// 采购单ID + /// + [JsonProperty("asset_purchase_id")] + public string AssetPurchaseId { get; set; } + + /// + /// 错误码 + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误描述 + /// + [JsonProperty("error_desc")] + public string ErrorDesc { get; set; } + + /// + /// 物流单号 + /// + [JsonProperty("express_no")] + public string ExpressNo { get; set; } + + /// + /// 外部单号(调用方业务主键) + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 二维码token值 + /// + [JsonProperty("qrcode")] + public string Qrcode { get; set; } + + /// + /// 处理结果(成功或失败) + /// + [JsonProperty("success")] + public bool Success { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccountFreeze.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccountFreeze.cs new file mode 100644 index 0000000..9c9c05d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccountFreeze.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccountFreeze Data Structure. + /// + [Serializable] + public class AccountFreeze : AopObject + { + /// + /// 冻结金额 + /// + [JsonProperty("freeze_amount")] + public string FreezeAmount { get; set; } + + /// + /// 冻结类型名称 + /// + [JsonProperty("freeze_name")] + public string FreezeName { get; set; } + + /// + /// 冻结类型值 + /// + [JsonProperty("freeze_type")] + public string FreezeType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccountRecord.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccountRecord.cs new file mode 100644 index 0000000..ec143da --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AccountRecord.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AccountRecord Data Structure. + /// + [Serializable] + public class AccountRecord : AopObject + { + /// + /// 支付宝订单号 + /// + [JsonProperty("alipay_order_no")] + public string AlipayOrderNo { get; set; } + + /// + /// 当时账户的余额 + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// 业务类型 + /// + [JsonProperty("business_type")] + public string BusinessType { get; set; } + + /// + /// 创建时间 + /// + [JsonProperty("create_time")] + public string CreateTime { get; set; } + + /// + /// 收入金额 + /// + [JsonProperty("in_amount")] + public string InAmount { get; set; } + + /// + /// 账务备注说明 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户订单号 + /// + [JsonProperty("merchant_order_no")] + public string MerchantOrderNo { get; set; } + + /// + /// 对方支付宝账户ID + /// + [JsonProperty("opt_user_id")] + public string OptUserId { get; set; } + + /// + /// 支出金额 + /// + [JsonProperty("out_amount")] + public string OutAmount { get; set; } + + /// + /// 本方支付宝账户ID + /// + [JsonProperty("self_user_id")] + public string SelfUserId { get; set; } + + /// + /// 账务类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ActivityAuditDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ActivityAuditDTO.cs new file mode 100644 index 0000000..0573419 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ActivityAuditDTO.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ActivityAuditDTO Data Structure. + /// + [Serializable] + public class ActivityAuditDTO : AopObject + { + /// + /// 审核id + /// + [JsonProperty("audit_id")] + public string AuditId { get; set; } + + /// + /// INIT:初始化;AUDITING:审核中;REJECT:审核驳回;PASS:审核通过;CANCEL:审核撤销;FAIL:审核失败 + /// + [JsonProperty("audit_status")] + public string AuditStatus { get; set; } + + /// + /// 操作人id + /// + [JsonProperty("creator_id")] + public string CreatorId { get; set; } + + /// + /// SALES:口碑内部小二;PROVIDER:外部服务商;PROVIDER_STAFF:外部服务商员工 + /// + [JsonProperty("creator_type")] + public string CreatorType { get; set; } + + /// + /// 操作时间 + /// + [JsonProperty("operation_time")] + public string OperationTime { get; set; } + + /// + /// 审核通过或者审核驳回的原因 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ActivityOrderDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ActivityOrderDTO.cs new file mode 100644 index 0000000..acbcd3f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ActivityOrderDTO.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ActivityOrderDTO Data Structure. + /// + [Serializable] + public class ActivityOrderDTO : AopObject + { + /// + /// 工单中的审核信息 + /// + [JsonProperty("activity_audit_list")] + public List ActivityAuditList { get; set; } + + /// + /// INIT:初始化;AUDITING:审核中;REJECT:审核驳回;PASS:审核通过;CANCEL:审核撤销;FAIL:审核失败 + /// + [JsonProperty("audit_status")] + public string AuditStatus { get; set; } + + /// + /// 订单号 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// INIT:初始化;DOING:处理中;SUCCESS:成功;FAIL:失败 + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// CAMPAIGN_CREATE_ORDER:创建工单;CAMPAIGN_ENABLE_ORDER:生效工单;CAMPAIGN_START_ORDER:启动工单;CAMPAIGN_CLOSE_ORDER:关闭工单;CAMPAIGN_FINISH_ORDER:结束工单;CAMPAIGN_DELETE_ORDER:删除工单;CAMPAIGN_MODIFY_ORDER:修改工单 + /// + [JsonProperty("order_type")] + public string OrderType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AddressInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AddressInfo.cs new file mode 100644 index 0000000..e731137 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AddressInfo.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AddressInfo Data Structure. + /// + [Serializable] + public class AddressInfo : AopObject + { + /// + /// 商户详细经营地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 商户所在城市编码,城市编码是与国家统计局一致,请查询: http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/ + /// 国标省市区号下载:http://aopsdkdownload.cn-hangzhou.alipay-pub.aliyun-inc.com/doc/2016.xls?spm=a219a.7629140.0.0.qRW4KQ&file + /// =2016.xls + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 商户所在区县编码,区县编码是与国家统计局一致,请查询: http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/ + /// 国标省市区号下载:http://aopsdkdownload.cn-hangzhou.alipay-pub.aliyun-inc.com/doc/2016.xls?spm=a219a.7629140.0.0.qRW4KQ&file + /// =2016.xls + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 纬度,浮点型,小数点后最多保留6位 如需要录入经纬度,请以高德坐标系为准,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度,浮点型, 小数点后最多保留6位。 如需要录入经纬度,请以高德坐标系为准,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 商户所在省份编码, 省份编码是与国家统计局一致,请查询: http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/ + /// 国标省市区号下载:http://aopsdkdownload.cn-hangzhou.alipay-pub.aliyun-inc.com/doc/2016.xls?spm=a219a.7629140.0.0.qRW4KQ&file + /// =2016.xls + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 地址类型。取值范围:BUSINESS_ADDRESS:经营地址(默认) + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AdviceVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AdviceVO.cs new file mode 100644 index 0000000..12000e1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AdviceVO.cs @@ -0,0 +1,212 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AdviceVO Data Structure. + /// + [Serializable] + public class AdviceVO : AopObject + { + /// + /// 兑换请求发起时间 + /// + [JsonProperty("client_advice_timestamp")] + public string ClientAdviceTimestamp { get; set; } + + /// + /// 客户号:用于定义FX交易的客户,由外汇交易中心统一分配 + /// + [JsonProperty("client_id")] + public string ClientId { get; set; } + + /// + /// 客户请求序号: 客户侧的流水号,由客户上送 + /// + [JsonProperty("client_ref")] + public string ClientRef { get; set; } + + /// + /// 对应金额,选输项 + /// + [JsonProperty("contra_amount")] + public string ContraAmount { get; set; } + + /// + /// 对应币种 + /// + [JsonProperty("contra_ccy")] + public string ContraCcy { get; set; } + + /// + /// 端对端流水号 原TransactionID,用于标识全局唯一序号 + /// + [JsonProperty("end_to_end_id")] + public string EndToEndId { get; set; } + + /// + /// 请求类型:H - HedgeAdvise , T - TradeAdvise。锁价模式下先发送Hedge,在发送对应的Trade。非锁价模式下,可直接发送Trade + /// + [JsonProperty("msg_type")] + public string MsgType { get; set; } + + /// + /// 是否部分成交:Y,N。是否可部分成交 默认为不可部分成交 + /// + [JsonProperty("partial_trade")] + public string PartialTrade { get; set; } + + /// + /// 支付渠道: 上送收单业务中的支付渠道,须提前约定。 + /// + [JsonProperty("payment_provider")] + public string PaymentProvider { get; set; } + + /// + /// 支付类型, 默认为DEFAULT + /// + [JsonProperty("payment_type")] + public string PaymentType { get; set; } + + /// + /// 客户协议扩展号,用于支持同一客户在不同场景下所需的汇率 + /// + [JsonProperty("profile_id")] + public string ProfileId { get; set; } + + /// + /// 汇率的唯一编码 + /// + [JsonProperty("rate_ref")] + public string RateRef { get; set; } + + /// + /// 汇率请求模式 : TA时必输,仅在TA时有效。 字典:REQ - 按客户请求(含滑点)成交,若该价格失效,则交易失败;ACP - 汇率失效或请求中不带汇率,接受该客户协议的最新汇率,实际成交汇率以GlobalFX为准;" + /// + [JsonProperty("rate_request_mode")] + public string RateRequestMode { get; set; } + + /// + /// 汇率类型:SPOT,FORWARD。送RateRef的情况下,以RateRef关联的汇率为准。 + /// + [JsonProperty("rate_type")] + public string RateType { get; set; } + + /// + /// 备用字段1 + /// + [JsonProperty("reference_field1")] + public string ReferenceField1 { get; set; } + + /// + /// 备用字段2 + /// + [JsonProperty("reference_field2")] + public string ReferenceField2 { get; set; } + + /// + /// 备用字段3 + /// + [JsonProperty("reference_field3")] + public string ReferenceField3 { get; set; } + + /// + /// 关联交易请求号: "本次交易请求关联的原交易号。填写规范: 1)正向交易的TA,填写HA MessageId 2)REFUND,添加原SALE的TA MessageId 3)CHARGEBACK,填写原SALE的TA + /// MessageId 4)CHARGEBACK_REVERSE,填写原CHARGEBACK的TA MessageId 5)CANCELLATION,填写被Cancel交易的TA MessageId" + /// + [JsonProperty("related_message_id")] + public string RelatedMessageId { get; set; } + + /// + /// 交易请求号 + /// + [JsonProperty("request_message_id")] + public string RequestMessageId { get; set; } + + /// + /// 客户请求的汇率,送RateRef的情况下,以RateRef关联的汇率为准。 + /// + [JsonProperty("requested_rate")] + public string RequestedRate { get; set; } + + /// + /// NDF交割下,实际交割币种的金额 + /// + [JsonProperty("settlement_amount")] + public string SettlementAmount { get; set; } + + /// + /// NDF交割下,实际交割的币种 + /// + [JsonProperty("settlement_ccy")] + public string SettlementCcy { get; set; } + + /// + /// 买卖方向:BUY,SELL。客户视角对交易货币的操作。该字段为必填,与原TransactionType的对应关系如下: SALE - SELL REFUND - BUY CHARGEBACK - BUY + /// CHARGEBACK_RESEVSE - SELL CANCELLATION - 使用原交易的side" + /// + [JsonProperty("side")] + public string Side { get; set; } + + /// + /// 汇率上浮滑点 : BP单位,即汇率单位的万分之一。仅在“请求汇率模式”为REQ时有效,在请求汇率/汇率编码对应的汇率的基础上,Side为BUY时上浮滑点,Side为SELL时下浮滑点 + /// + [JsonProperty("slip_point")] + public long SlipPoint { get; set; } + + /// + /// 调用方事件码 + /// + [JsonProperty("source_event_code")] + public string SourceEventCode { get; set; } + + /// + /// 调用方产品码 + /// + [JsonProperty("source_product_code")] + public string SourceProductCode { get; set; } + + /// + /// 时间所在时区 + /// + [JsonProperty("time_zone")] + public string TimeZone { get; set; } + + /// + /// 上层业务发起时间 + /// + [JsonProperty("trade_timestamp")] + public string TradeTimestamp { get; set; } + + /// + /// 交易金额 + /// + [JsonProperty("transaction_amount")] + public string TransactionAmount { get; set; } + + /// + /// 交易币种: 客户视角的交易买卖币种 + /// + [JsonProperty("transaction_ccy")] + public string TransactionCcy { get; set; } + + /// + /// 交易币种交割方式:DELIV,NDF。当Client的实际交割货币与交易币种不一致时,送NDF。 + /// + [JsonProperty("transaction_ccy_type")] + public string TransactionCcyType { get; set; } + + /// + /// 交易类型: 兼容收单业务兑换使用。字典:SALE,REFUND,CHARGEBACK,CHARGEBACK_REVERSE,CANCELLATION + /// + [JsonProperty("transaction_type")] + public string TransactionType { get; set; } + + /// + /// 起息日期 : YYYYMMDD,客户期望的资金交割日期 + /// + [JsonProperty("value_date")] + public string ValueDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AgreementParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AgreementParams.cs new file mode 100644 index 0000000..19735e5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AgreementParams.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AgreementParams Data Structure. + /// + [Serializable] + public class AgreementParams : AopObject + { + /// + /// 支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号 ) + /// + [JsonProperty("agreement_no")] + public string AgreementNo { get; set; } + + /// + /// 鉴权申请token,其格式和内容,由支付宝定义。在需要做支付鉴权校验时,该参数不能为空。 + /// + [JsonProperty("apply_token")] + public string ApplyToken { get; set; } + + /// + /// 鉴权确认码,在需要做支付鉴权校验时,该参数不能为空 + /// + [JsonProperty("auth_confirm_no")] + public string AuthConfirmNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AgreementSignParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AgreementSignParams.cs new file mode 100644 index 0000000..04d8890 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AgreementSignParams.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AgreementSignParams Data Structure. + /// + [Serializable] + public class AgreementSignParams : AopObject + { + /// + /// 商户在芝麻端申请的appId + /// + [JsonProperty("buckle_app_id")] + public string BuckleAppId { get; set; } + + /// + /// 商户在芝麻端申请的merchantId + /// + [JsonProperty("buckle_merchant_id")] + public string BuckleMerchantId { get; set; } + + /// + /// 商户签约号,代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。 格式规则:支持大写小写字母和数字,最长32位。 商户系统按需传入,如果同一用户在同一产品码、同一签约场景下,签订了多份代扣协议,那么需要指定并传入该值。 + /// + [JsonProperty("external_agreement_no")] + public string ExternalAgreementNo { get; set; } + + /// + /// 用户在商户网站的登录账号,用于在签约页面展示,如果为空,则不展示 + /// + [JsonProperty("external_logon_id")] + public string ExternalLogonId { get; set; } + + /// + /// 个人签约产品码,商户和支付宝签约时确定。 + /// + [JsonProperty("personal_product_code")] + public string PersonalProductCode { get; set; } + + /// + /// 签约营销参数,此值为json格式;具体的key需与营销约定 + /// + [JsonProperty("promo_params")] + public string PromoParams { get; set; } + + /// + /// 协议签约场景,商户和支付宝签约时确定。 当传入商户签约号external_agreement_no时,场景不能为默认值DEFAULT|DEFAULT。 + /// + [JsonProperty("sign_scene")] + public string SignScene { get; set; } + + /// + /// 当前用户签约请求的协议有效周期。 整形数字加上时间单位的协议有效期,从发起签约请求的时间开始算起。 目前支持的时间单位: 1. d:天 2. m:月 如果未传入,默认为长期有效。 + /// + [JsonProperty("sign_validity_period")] + public string SignValidityPeriod { get; set; } + + /// + /// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。 取值范围: 1. PARTNER(平台商户); 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容; 默认为PARTNER。 + /// + [JsonProperty("third_party_type")] + public string ThirdPartyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustAlipayCert.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustAlipayCert.cs new file mode 100644 index 0000000..d59cf52 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustAlipayCert.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AliTrustAlipayCert Data Structure. + /// + [Serializable] + public class AliTrustAlipayCert : AopObject + { + /// + /// 用户出生日期 + /// + [JsonProperty("birthday")] + public string Birthday { get; set; } + + /// + /// 点击支付宝实名认证图标之后的跳转链接 + /// + [JsonProperty("forward_url")] + public string ForwardUrl { get; set; } + + /// + /// 用户性别(M/F) + /// + [JsonProperty("gender")] + public string Gender { get; set; } + + /// + /// 支付宝实名认证图标的链接地址 + /// + [JsonProperty("icon_url")] + public string IconUrl { get; set; } + + /// + /// 当账户为支付宝实名认证时,取值为"T";否则为"F". + /// + [JsonProperty("is_certified")] + public string IsCertified { get; set; } + + /// + /// 用户姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustCert.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustCert.cs new file mode 100644 index 0000000..41cd515 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustCert.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AliTrustCert Data Structure. + /// + [Serializable] + public class AliTrustCert : AopObject + { + /// + /// 点击信用认证图标之后的跳转链接 + /// + [JsonProperty("forward_url")] + public string ForwardUrl { get; set; } + + /// + /// 通过信用认证的图标链接 + /// + [JsonProperty("icon_url")] + public string IconUrl { get; set; } + + /// + /// 当通过信用认证时,取值为"T";否则为"F". + /// + [JsonProperty("is_certified")] + public string IsCertified { get; set; } + + /// + /// 芝麻认证等级,取值为1,2,3 + /// + [JsonProperty("level")] + public string Level { get; set; } + + /// + /// 当用户未通过芝麻认证时给出的原因提示 + /// + [JsonProperty("message")] + public string Message { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustRiskIdentify.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustRiskIdentify.cs new file mode 100644 index 0000000..9e796a8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustRiskIdentify.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AliTrustRiskIdentify Data Structure. + /// + [Serializable] + public class AliTrustRiskIdentify : AopObject + { + /// + /// 芝麻信用风险名单详情列表 + /// + [JsonProperty("details")] + + public List Details { get; set; } + + /// + /// 当有风险时,为"T";无风险识别是为"F" + /// + [JsonProperty("is_risk")] + public string IsRisk { get; set; } + + /// + /// 已废弃 + /// + [JsonProperty("risk_tag")] + public string RiskTag { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustScore.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustScore.cs new file mode 100644 index 0000000..33cd9cb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AliTrustScore.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AliTrustScore Data Structure. + /// + [Serializable] + public class AliTrustScore : AopObject + { + /// + /// 芝麻分 + /// + [JsonProperty("score")] + public long Score { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccount.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccount.cs new file mode 100644 index 0000000..d271767 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccount.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccount Data Structure. + /// + [Serializable] + public class AlipayAccount : AopObject + { + /// + /// 支付宝用户ID + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 可用余额 + /// + [JsonProperty("available_amount")] + public string AvailableAmount { get; set; } + + /// + /// 不可用余额 + /// + [JsonProperty("freeze_amount")] + public string FreezeAmount { get; set; } + + /// + /// 余额总额 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateAdviceAcceptModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateAdviceAcceptModel.cs new file mode 100644 index 0000000..20ed750 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateAdviceAcceptModel.cs @@ -0,0 +1,19 @@ +using System; +using Newtonsoft.Json; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccountExrateAdviceAcceptModel Data Structure. + /// + [Serializable] + public class AlipayAccountExrateAdviceAcceptModel : AopObject + { + /// + /// 交易请求对象内容 + /// + [JsonProperty("advice")] + public AdviceVO Advice { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateAllclientrateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateAllclientrateQueryModel.cs new file mode 100644 index 0000000..852f149 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateAllclientrateQueryModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccountExrateAllclientrateQueryModel Data Structure. + /// + [Serializable] + public class AlipayAccountExrateAllclientrateQueryModel : AopObject + { + /// + /// 客户id,客户和报价中心签约时约定的信息 + /// + [JsonProperty("client_id")] + public string ClientId { get; set; } + + /// + /// 子协议扩展号,同一个客户不同业务场景下需要不同的客户报价,通过profile_id区分。正常情况下可能每个客户只有一个默认的profile_id + /// + [JsonProperty("profile_id")] + public string ProfileId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateCollectcoreDataSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateCollectcoreDataSendModel.cs new file mode 100644 index 0000000..9f7a03f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateCollectcoreDataSendModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccountExrateCollectcoreDataSendModel Data Structure. + /// + [Serializable] + public class AlipayAccountExrateCollectcoreDataSendModel : AopObject + { + /// + /// 上数提交数据内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExratePricingNotifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExratePricingNotifyModel.cs new file mode 100644 index 0000000..8947433 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExratePricingNotifyModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccountExratePricingNotifyModel Data Structure. + /// + [Serializable] + public class AlipayAccountExratePricingNotifyModel : AopObject + { + /// + /// 标识该汇率提供给哪个客户使用 + /// + [JsonProperty("client_id")] + public string ClientId { get; set; } + + /// + /// 源汇率机构 + /// + [JsonProperty("inst")] + public string Inst { get; set; } + + /// + /// 源汇率数据 + /// + [JsonProperty("pricing_list")] + + public List PricingList { get; set; } + + /// + /// 该汇率的使用场景 + /// + [JsonProperty("segment_id")] + public string SegmentId { get; set; } + + /// + /// 所在时区,所有的时间都是该时区的时间 支持 GMT+8 UTC+0 Europe/London 的格式 + /// + [JsonProperty("time_zone")] + public string TimeZone { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateRatequeryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateRatequeryModel.cs new file mode 100644 index 0000000..71380a9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateRatequeryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccountExrateRatequeryModel Data Structure. + /// + [Serializable] + public class AlipayAccountExrateRatequeryModel : AopObject + { + /// + /// 需要查询汇率的货币对,如果为空则返回当前支持的所有货币对的汇率 + /// + [JsonProperty("currency_pair")] + public string CurrencyPair { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateTraderequestCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateTraderequestCreateModel.cs new file mode 100644 index 0000000..946051e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAccountExrateTraderequestCreateModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAccountExrateTraderequestCreateModel Data Structure. + /// + [Serializable] + public class AlipayAccountExrateTraderequestCreateModel : AopObject + { + /// + /// 交易请求对象内容 + /// + [JsonProperty("trade_request")] + public TradeRequestVO TradeRequest { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointAccountlogQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointAccountlogQueryModel.cs new file mode 100644 index 0000000..fc6c205 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointAccountlogQueryModel.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAssetPointAccountlogQueryModel Data Structure. + /// + [Serializable] + public class AlipayAssetPointAccountlogQueryModel : AopObject + { + /// + /// 用户流水查询起始时间 + /// + [JsonProperty("account_date_begin")] + public string AccountDateBegin { get; set; } + + /// + /// 用户流水查询结束时间 + /// + [JsonProperty("account_date_end")] + public string AccountDateEnd { get; set; } + + /// + /// 分页查询的当前页号,从1开始 + /// + [JsonProperty("page_number")] + public long PageNumber { get; set; } + + /// + /// 分页查询的单页大小 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 子交易代码,标记大业务下的子业务,例如充值-外部商户发放,可选参数可以不传 + /// + [JsonProperty("sub_trans_code")] + + public List SubTransCode { get; set; } + + /// + /// 主交易代码,例如支付、充值等,标记业务大类,可选参数可以不传 + /// + [JsonProperty("trans_code")] + + public List TransCode { get; set; } + + /// + /// 用户标识符,用于指定集分宝发放的用户,和user_symbol_type一起使用,确定一个唯一的支付宝用户 + /// + [JsonProperty("user_symbol")] + public string UserSymbol { get; set; } + + /// + /// 用户标识符类型, 现在支持ALIPAY_USER_ID:表示支付宝用户ID, ALIPAY_LOGON_ID:表示支付宝登陆号, + /// + [JsonProperty("user_symbol_type")] + public string UserSymbolType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointOrderCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointOrderCreateModel.cs new file mode 100644 index 0000000..d83ba7f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointOrderCreateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAssetPointOrderCreateModel Data Structure. + /// + [Serializable] + public class AlipayAssetPointOrderCreateModel : AopObject + { + /// + /// 向用户展示集分宝发放备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// isv提供的发放订单号,由数字和字母组成,最大长度为32位,需要保证每笔订单发放的唯一性,支付宝对该参数做唯一性校验。如果订单号已存在,支付宝将返回订单号已经存在的错误 + /// + [JsonProperty("merchant_order_no")] + public string MerchantOrderNo { get; set; } + + /// + /// 发放集分宝时间 + /// + [JsonProperty("order_time")] + public string OrderTime { get; set; } + + /// + /// 发放集分宝的数量 + /// + [JsonProperty("point_count")] + public long PointCount { get; set; } + + /// + /// 用户标识符,用于指定集分宝发放的用户,和user_symbol_type一起使用,确定一个唯一的支付宝用户 + /// + [JsonProperty("user_symbol")] + public string UserSymbol { get; set; } + + /// + /// 用户标识符类型, 现在支持ALIPAY_USER_ID:表示支付宝用户ID, ALIPAY_LOGON_ID:表示支付宝登陆号, TAOBAO_NICK:淘宝昵称 + /// + [JsonProperty("user_symbol_type")] + public string UserSymbolType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointOrderQueryModel.cs new file mode 100644 index 0000000..d0a7bd9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayAssetPointOrderQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayAssetPointOrderQueryModel Data Structure. + /// + [Serializable] + public class AlipayAssetPointOrderQueryModel : AopObject + { + /// + /// isv提供的发放号订单号,由数字和字母组成,最大长度为32为,需要保证每笔发放的唯一性,集分宝系统会对该参数做唯一性控制。调用接口后集分宝系统会根据这个外部订单号查询发放的订单详情。 + /// + [JsonProperty("merchant_order_no")] + public string MerchantOrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceCancelModel.cs new file mode 100644 index 0000000..0bbf8b1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceCancelModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossBaseProcessInstanceCancelModel Data Structure. + /// + [Serializable] + public class AlipayBossBaseProcessInstanceCancelModel : AopObject + { + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 处理人域账号 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 流程全局唯一ID + /// + [JsonProperty("puid")] + public string Puid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceCreateModel.cs new file mode 100644 index 0000000..64e6b76 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceCreateModel.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossBaseProcessInstanceCreateModel Data Structure. + /// + [Serializable] + public class AlipayBossBaseProcessInstanceCreateModel : AopObject + { + /// + /// 加签内容 + /// + [JsonProperty("add_sign_content")] + + public List AddSignContent { get; set; } + + /// + /// 业务上下文,JSON格式 + /// + [JsonProperty("context")] + public string Context { get; set; } + + /// + /// 创建人的域账号 + /// + [JsonProperty("creator")] + public string Creator { get; set; } + + /// + /// 描述信息 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 2088账号 + /// + [JsonProperty("ip_role_id")] + public string IpRoleId { get; set; } + + /// + /// 流程配置名称。需要先在流程平台配置流程 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 优先级,数字越大优先级越高,最大不超过29 + /// + [JsonProperty("priority")] + public long Priority { get; set; } + + /// + /// 流程全局唯一ID,和业务一一对应 + /// + [JsonProperty("puid")] + public BPOpenApiPUID Puid { get; set; } + + /// + /// 前置流程从哪个节点发起的本流程 + /// + [JsonProperty("source_node_name")] + public string SourceNodeName { get; set; } + + /// + /// 前置流程的PUID。用于串连起两个流程 + /// + [JsonProperty("source_puid")] + public string SourcePuid { get; set; } + + /// + /// 子流程的上下文。每一个上下文都使用JSON格式 + /// + [JsonProperty("sub_contexts")] + + public List SubContexts { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceQueryModel.cs new file mode 100644 index 0000000..d098777 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessInstanceQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossBaseProcessInstanceQueryModel Data Structure. + /// + [Serializable] + public class AlipayBossBaseProcessInstanceQueryModel : AopObject + { + /// + /// 流程全局唯一ID + /// + [JsonProperty("puid")] + public string Puid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessTaskProcessModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessTaskProcessModel.cs new file mode 100644 index 0000000..0501ab1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossBaseProcessTaskProcessModel.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossBaseProcessTaskProcessModel Data Structure. + /// + [Serializable] + public class AlipayBossBaseProcessTaskProcessModel : AopObject + { + /// + /// 更新的业务上下文。和原有业务上下文同key覆盖,新增key新增。 + /// + [JsonProperty("context")] + public string Context { get; set; } + + /// + /// 处理幂等值,特别注意这个值的使用,不能依赖于流程中的任何值。 + /// + [JsonProperty("idempotent_id")] + public string IdempotentId { get; set; } + + /// + /// 处理备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 当前需要推进的节点 + /// + [JsonProperty("node")] + public string Node { get; set; } + + /// + /// 操作名称 + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 当前处理人域账号 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 更新的优先级。填写0则不更新,使用原值 + /// + [JsonProperty("priority")] + public long Priority { get; set; } + + /// + /// 流程全局唯一ID + /// + [JsonProperty("puid")] + public string Puid { get; set; } + + /// + /// 更新的子流程上下文。完全覆盖原值。若不需要覆盖,则传null + /// + [JsonProperty("sub_contexts")] + + public List SubContexts { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossCsChannelQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossCsChannelQueryModel.cs new file mode 100644 index 0000000..7849c07 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossCsChannelQueryModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossCsChannelQueryModel Data Structure. + /// + [Serializable] + public class AlipayBossCsChannelQueryModel : AopObject + { + /// + /// 平均通话时长的qualifier + /// + [JsonProperty("att")] + public string Att { get; set; } + + /// + /// 总接通率的qualifier + /// + [JsonProperty("connectionrate")] + public string Connectionrate { get; set; } + + /// + /// 在线小二人数的qualifier + /// + [JsonProperty("curragentsloggedin")] + public string Curragentsloggedin { get; set; } + + /// + /// 通话中人数的qualifier + /// + [JsonProperty("curragenttalking")] + public string Curragenttalking { get; set; } + + /// + /// 小休人数的qualifier + /// + [JsonProperty("currentnotreadyagents")] + public string Currentnotreadyagents { get; set; } + + /// + /// 等待人数的qualifier + /// + [JsonProperty("currentreadyagents")] + public string Currentreadyagents { get; set; } + + /// + /// 总排队数的Qualifier + /// + [JsonProperty("currnumberwaitingcalls")] + public string Currnumberwaitingcalls { get; set; } + + /// + /// 查询hbase的rowkey + /// + [JsonProperty("endkey")] + public string Endkey { get; set; } + + /// + /// 查询hbase的rowkey + /// + [JsonProperty("startkey")] + public string Startkey { get; set; } + + /// + /// 总流入量的qualifier + /// + [JsonProperty("visitorinflow")] + public string Visitorinflow { get; set; } + + /// + /// 总应答量的qualifier + /// + [JsonProperty("visitorresponse")] + public string Visitorresponse { get; set; } + + /// + /// 应答量[转接] 的qualifier + /// + [JsonProperty("visitorresponsetransfer")] + public string Visitorresponsetransfer { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossCsDatacollectSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossCsDatacollectSendModel.cs new file mode 100644 index 0000000..bc6474b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossCsDatacollectSendModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossCsDatacollectSendModel Data Structure. + /// + [Serializable] + public class AlipayBossCsDatacollectSendModel : AopObject + { + /// + /// 上数提交数据内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantCreateModel.cs new file mode 100644 index 0000000..c285166 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantCreateModel.cs @@ -0,0 +1,114 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossProdSubmerchantCreateModel Data Structure. + /// + [Serializable] + public class AlipayBossProdSubmerchantCreateModel : AopObject + { + /// + /// 受理商户详细经营地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 受理商户简称 + /// + [JsonProperty("alias_name")] + public string AliasName { get; set; } + + /// + /// 受理商户营业执照编号 + /// + [JsonProperty("business_license")] + public string BusinessLicense { get; set; } + + /// + /// 受理商户经营类目,参考开放平台口碑开放行业入驻要求 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 受理商户所在城市编码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 受理商户联系人邮箱 + /// + [JsonProperty("contact_email")] + public string ContactEmail { get; set; } + + /// + /// 受理商户联系人手机号 + /// + [JsonProperty("contact_mobile")] + public string ContactMobile { get; set; } + + /// + /// 受理商户联系人名称 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 受理商户联系人电话 + /// + [JsonProperty("contact_phone")] + public string ContactPhone { get; set; } + + /// + /// 受理商户所在区县编码 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 受理商户编号,由受理机构定义,需要保证在受理机构下唯一 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 受理商户身份证编号 + /// + [JsonProperty("id_card")] + public string IdCard { get; set; } + + /// + /// 受理商户备注信息,可填写额外信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 受理商户名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 受理商户所在省份编码 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 受理商户客服电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 受理商户来源机构标识,填写受理机构在支付宝的pid + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantModifyModel.cs new file mode 100644 index 0000000..69a44e1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantModifyModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossProdSubmerchantModifyModel Data Structure. + /// + [Serializable] + public class AlipayBossProdSubmerchantModifyModel : AopObject + { + /// + /// 受理商户详细经营地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 受理商户简称 + /// + [JsonProperty("alias_name")] + public string AliasName { get; set; } + + /// + /// 受理商户营业执照编号 + /// + [JsonProperty("business_license")] + public string BusinessLicense { get; set; } + + /// + /// 受理商户城市编码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 受理商户联系人名称 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 受理商户区县编码 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 受理商户编号,与sub_merchant_id二选一必传 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 受理商户身份证编号 + /// + [JsonProperty("id_card")] + public string IdCard { get; set; } + + /// + /// 受理商户省份编码 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 受理商户客服电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 受理商户来源机构标识,填写受理机构在支付宝的pid + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 本次修改受理商户的支付宝识别号,同请求传入的sub_merchant_id字段,与external_id二选一必传 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantQueryModel.cs new file mode 100644 index 0000000..2d48662 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayBossProdSubmerchantQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayBossProdSubmerchantQueryModel Data Structure. + /// + [Serializable] + public class AlipayBossProdSubmerchantQueryModel : AopObject + { + /// + /// 受理商户在受理机构下的唯一标识,与sub_merchant_id二选一必传 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 受理商户在支付宝入驻后的识别号,商户入驻后由支付宝返回,与external_id二选一必传 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayChinareModelResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayChinareModelResult.cs new file mode 100644 index 0000000..fbb2177 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayChinareModelResult.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayChinareModelResult Data Structure. + /// + [Serializable] + public class AlipayChinareModelResult : AopObject + { + /// + /// 体检记录id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 规则id + /// + [JsonProperty("rule_id")] + public string RuleId { get; set; } + + /// + /// 核保结果 + /// + [JsonProperty("rule_result")] + public string RuleResult { get; set; } + + /// + /// 交易流水记录id + /// + [JsonProperty("trans_id")] + public string TransId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCodeRecoResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCodeRecoResult.cs new file mode 100644 index 0000000..bfdaeb6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCodeRecoResult.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCodeRecoResult Data Structure. + /// + [Serializable] + public class AlipayCodeRecoResult : AopObject + { + /// + /// 识别的验证码内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceBusinessorderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceBusinessorderQueryModel.cs new file mode 100644 index 0000000..5de1047 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceBusinessorderQueryModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceBusinessorderQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceBusinessorderQueryModel : AopObject + { + /// + /// 查询办事记录的时间区间中的开始时间,格式为yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("begin_time")] + public string BeginTime { get; set; } + + /// + /// 查询办事记录的时间区间中的结束时间,格式为yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// isv的appid + /// + [JsonProperty("isv_appid")] + public string IsvAppid { get; set; } + + /// + /// 分页查询的起始页数 + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 分页查询的每页数据量 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 查询的办事记录所属服务展台(如城市服务为CITY_SERVICE,车主平台为MYCAR_SERVICE等) + /// + [JsonProperty("platform_type")] + public string PlatformType { get; set; } + + /// + /// 办事记录状态列表 + /// + [JsonProperty("status_list")] + + public List StatusList { get; set; } + + /// + /// 支付宝userId + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositCancelModel.cs new file mode 100644 index 0000000..7f737b4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositCancelModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorDepositCancelModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorDepositCancelModel : AopObject + { + /// + /// 扩展字段,传递撤销的终端信息,原因等 + /// + [JsonProperty("biz_info_ext")] + public string BizInfoExt { get; set; } + + /// + /// 充值卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 交通卡卡类型,一个城市只有一个固定的值 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 撤销时间 + /// + [JsonProperty("operate_time")] + public string OperateTime { get; set; } + + /// + /// 商户的交易号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositConfirmModel.cs new file mode 100644 index 0000000..226ebc9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositConfirmModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorDepositConfirmModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorDepositConfirmModel : AopObject + { + /// + /// 传递确认的终端信息,终端编号等 + /// + [JsonProperty("biz_info_ext")] + public string BizInfoExt { get; set; } + + /// + /// 交通卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 交通卡卡类型,一个城市只有一个固定的值 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 核销时间 + /// + [JsonProperty("operate_time")] + public string OperateTime { get; set; } + + /// + /// 商户的交易号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 该笔请求的唯一编号,强校验,控制幂等性 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositQueryModel.cs new file mode 100644 index 0000000..6f71fcb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorDepositQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorDepositQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorDepositQueryModel : AopObject + { + /// + /// 交通卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 和渠道定义的卡类型,一个城市支持一种卡类型 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// transfer:待圈存 success:圈存成功 fail:圈存失败 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorFunctionQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorFunctionQueryModel.cs new file mode 100644 index 0000000..1fca6d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorFunctionQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorFunctionQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorFunctionQueryModel : AopObject + { + /// + /// 城市国家标准编码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 终端设备编码,android可直接获取设备的devicecode值 + /// + [JsonProperty("device_code")] + public string DeviceCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorScriptQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorScriptQueryModel.cs new file mode 100644 index 0000000..7cb38a3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorScriptQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorScriptQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorScriptQueryModel : AopObject + { + /// + /// 卡类型,智能卡中心的内部编码规则 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 脚本类型,目前支持两种 readCardType:判定卡是什么城市的交通卡 readCardInfo:读取卡中的余额等信息 + /// + [JsonProperty("script_type")] + public string ScriptType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorStationQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorStationQueryModel.cs new file mode 100644 index 0000000..3a6da39 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorStationQueryModel.cs @@ -0,0 +1,19 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorStationQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorStationQueryModel : AopObject + { + /// + /// 城市编码请参考查询:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html; 已支持城市:广州 440100,深圳 + /// 440300,杭州330100。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherBatchqueryModel.cs new file mode 100644 index 0000000..f1f4839 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherBatchqueryModel.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherBatchqueryModel : AopObject + { + /// + /// 城市编码请参考查询:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html; 已支持城市:广州 440100,深圳 + /// 440300,杭州330100。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 支付宝交易号列表 + /// + [JsonProperty("trade_nos")] + + public List TradeNos { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherCancelModel.cs new file mode 100644 index 0000000..cf1c0d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherCancelModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherCancelModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherCancelModel : AopObject + { + /// + /// 渠道商提供的其它信息 + /// + [JsonProperty("biz_info_ext")] + public string BizInfoExt { get; set; } + + /// + /// 城市标准码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 商户退款时间 + /// + [JsonProperty("operate_time")] + public string OperateTime { get; set; } + + /// + /// 核销号 + /// + [JsonProperty("ticket_no")] + public string TicketNo { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherConfirmModel.cs new file mode 100644 index 0000000..dd5d564 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherConfirmModel.cs @@ -0,0 +1,102 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherConfirmModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherConfirmModel : AopObject + { + /// + /// 金额,元为单位 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 渠道商提供的其它信息 + /// + [JsonProperty("biz_info_ext")] + public string BizInfoExt { get; set; } + + /// + /// 该笔请求的唯一编号,有值请求强校验 + /// + [JsonProperty("biz_request_id")] + public string BizRequestId { get; set; } + + /// + /// 城市标准码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 终点站编号 + /// + [JsonProperty("end_station")] + public string EndStation { get; set; } + + /// + /// 单张票编号列表,多个逗号分隔 + /// + [JsonProperty("exchange_ids")] + public string ExchangeIds { get; set; } + + /// + /// 商户核销时间 + /// + [JsonProperty("operate_time")] + public string OperateTime { get; set; } + + /// + /// 商户的交易号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 票数 + /// + [JsonProperty("quantity")] + public string Quantity { get; set; } + + /// + /// 请求方标识 + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 起点站编号 + /// + [JsonProperty("start_station")] + public string StartStation { get; set; } + + /// + /// 核销号 + /// + [JsonProperty("ticket_no")] + public string TicketNo { get; set; } + + /// + /// 票单价,元为单位 + /// + [JsonProperty("ticket_price")] + public string TicketPrice { get; set; } + + /// + /// 票类型 + /// + [JsonProperty("ticket_type")] + public string TicketType { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherGenerateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherGenerateModel.cs new file mode 100644 index 0000000..14d5fbd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherGenerateModel.cs @@ -0,0 +1,61 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherGenerateModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherGenerateModel : AopObject + { + /// + /// 城市编码请参考查询:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html; 已支持城市:广州 440100,深圳 + /// 440300,杭州330100。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 起点站站点编码 + /// + [JsonProperty("site_begin")] + public string SiteBegin { get; set; } + + /// + /// 终点站站点编码 + /// + [JsonProperty("site_end")] + public string SiteEnd { get; set; } + + /// + /// 地铁票购票数量 + /// + [JsonProperty("ticket_num")] + public string TicketNum { get; set; } + + /// + /// 单张票价,元为单价 + /// + [JsonProperty("ticket_price")] + public string TicketPrice { get; set; } + + /// + /// 地铁票种类 + /// + [JsonProperty("ticket_type")] + public string TicketType { get; set; } + + /// + /// 订单总金额,元为单位 + /// + [JsonProperty("total_fee")] + public string TotalFee { get; set; } + + /// + /// 支付宝交易号(交易支付时,必须通过指定sellerId:2088121612215201,将钱支付到指定的中间户中) + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherQueryModel.cs new file mode 100644 index 0000000..e68c631 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherQueryModel : AopObject + { + /// + /// 城市标准码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 8位核销码 + /// + [JsonProperty("ticket_no")] + public string TicketNo { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherRefundModel.cs new file mode 100644 index 0000000..ba441f8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherRefundModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherRefundModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherRefundModel : AopObject + { + /// + /// 城市编码请参考查询:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html; 已支持城市:广州 440100,深圳 + /// 440300,杭州330100。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherUploadModel.cs new file mode 100644 index 0000000..0dc303f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceCityfacilitatorVoucherUploadModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceCityfacilitatorVoucherUploadModel Data Structure. + /// + [Serializable] + public class AlipayCommerceCityfacilitatorVoucherUploadModel : AopObject + { + /// + /// 渠道商提供的其它信息 + /// + [JsonProperty("biz_info_ext")] + public string BizInfoExt { get; set; } + + /// + /// 城市标准码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// JSON字符串,包含出票的序列号,票号,出票时间,出票流水号 + /// + [JsonProperty("exchange_ids")] + public string ExchangeIds { get; set; } + + /// + /// 操作时间 + /// + [JsonProperty("operate_time")] + public string OperateTime { get; set; } + + /// + /// 核销码 + /// + [JsonProperty("ticket_no")] + public string TicketNo { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataMonitordataSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataMonitordataSyncModel.cs new file mode 100644 index 0000000..41b78fe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataMonitordataSyncModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceDataMonitordataSyncModel Data Structure. + /// + [Serializable] + public class AlipayCommerceDataMonitordataSyncModel : AopObject + { + /// + /// 传入的批量打包数据,dataEntry和dataDim的组合数据,详见dataEntry和dataDim的说明 + /// + [JsonProperty("datas")] + + public List Datas { get; set; } + + /// + /// 接口的版本,当前版本是v1.0.0 + /// + [JsonProperty("interface_version")] + public string InterfaceVersion { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataResultSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataResultSendModel.cs new file mode 100644 index 0000000..24b2894 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataResultSendModel.cs @@ -0,0 +1,62 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceDataResultSendModel Data Structure. + /// + [Serializable] + public class AlipayCommerceDataResultSendModel : AopObject + { + /// + /// 请求来源 + /// + [JsonProperty("channel")] + public string Channel { get; set; } + + /// + /// 版本号,由支付宝分配 + /// + [JsonProperty("interface_version")] + public string InterfaceVersion { get; set; } + + /// + /// 操作code,由支付宝分配 + /// + [JsonProperty("op_code")] + public string OpCode { get; set; } + + /// + /// 结果码,由支付宝分配,该结果码将对应不同的页面展示 + /// + [JsonProperty("result_code")] + public string ResultCode { get; set; } + + /// + /// 场景code,由支付宝分配 + /// + [JsonProperty("scene_code")] + public string SceneCode { get; set; } + + /// + /// 场景的数据表示. json 数组格式, 根据不同的scene_code,op_code, channel,version共同确定参数是否 可以为空,接入时由支付宝确定 参数格式。 + /// + [JsonProperty("scene_data")] + public string SceneData { get; set; } + + /// + /// 通知的目标用户 + /// + [JsonProperty("target_id")] + public string TargetId { get; set; } + + /// + /// 取值范围: IDENTITY_CARD_NO :身份证 ALIPAY_LOGON_ID:支付宝登录账号 BINDING_MOBILE_NO:支付宝账号绑定的手机号 ALIPAY_USER_ID:支付宝user_id + /// 标明target_id对应的类型,此参数为空时, 默认为支付宝账号的user_id。 注意:类型为身份证、支付宝绑定的手机号时, 可能对应多个支付宝账号,此时只会选择列表 + /// 第一个支付宝账号的userId作为targetId使用。 + /// + [JsonProperty("target_id_type")] + public string TargetIdType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataSendModel.cs new file mode 100644 index 0000000..f573e60 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceDataSendModel.cs @@ -0,0 +1,63 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceDataSendModel Data Structure. + /// + [Serializable] + public class AlipayCommerceDataSendModel : AopObject + { + /// + /// 场景的来源渠道,比如场景 在阿里旅行触发,就用alitrip 接入时和支付宝共同确认 + /// + [JsonProperty("channel")] + public string Channel { get; set; } + + /// + /// 操作码,由支付宝分配 + /// + [JsonProperty("op_code")] + public string OpCode { get; set; } + + /// + /// 操作数据,如果只需要支付宝这边利用 数据直接完成某个功能(通知),则使 用此参数传输数据.,根据不同的scene_code, op_code,channel,version共同确定参数是否 + /// 可以为空,接入时由支付宝确定参数格式。 + /// + [JsonProperty("op_data")] + public string OpData { get; set; } + + /// + /// 场景标识,由支付宝分配 + /// + [JsonProperty("scene_code")] + public string SceneCode { get; set; } + + /// + /// 场景的数据表示. json 数组 格式,根据不同的scene_code, op_code,channel,version共同确定 参数是否可以为空,接入时由支付宝确定 参数格式。 + /// + [JsonProperty("scene_data")] + public string SceneData { get; set; } + + /// + /// 场景覆盖的目标人群标识, 单个用户是支付宝的userId, 多个用户userId 使用英文半 角逗号隔开,最多200个 如果是群组,使用支付宝分配 的群组ID. + /// + [JsonProperty("target_id")] + public string TargetId { get; set; } + + /// + /// 取值范围: IDENTITY_CARD_NO :身份证 ALIPAY_LOGON_ID:支付宝登录账号 BINDING_MOBILE_NO:支付宝账号绑定的手机号 ALIPAY_USER_ID:支付宝user_id + /// 标明target_id对应的类型,此参数为空时, 默认为支付宝账号的user_id。 注意:类型为身份证、支付宝绑定的手机号时, 可能对应多个支付宝账号,此时只会选择列表 + /// 第一个支付宝账号的userId作为targetId使用。 + /// + [JsonProperty("target_id_type")] + public string TargetIdType { get; set; } + + /// + /// 场景数据的类型的版本,由支付宝分配 + /// + [JsonProperty("version")] + public string Version { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceLotteryPresentSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceLotteryPresentSendModel.cs new file mode 100644 index 0000000..c4ead1b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceLotteryPresentSendModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceLotteryPresentSendModel Data Structure. + /// + [Serializable] + public class AlipayCommerceLotteryPresentSendModel : AopObject + { + /// + /// 被赠送彩票的支付宝用户的ID,不支持一次赠送给多个用户 + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 彩种ID + /// + [JsonProperty("lottery_type_id")] + public long LotteryTypeId { get; set; } + + /// + /// 外部订单号,不超过255字符,可包含英文和数字,需保证在商户端不重复 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 彩票注数,大于0,最大为100 + /// + [JsonProperty("stake_count")] + public long StakeCount { get; set; } + + /// + /// 赠言,不超过20个汉字 + /// + [JsonProperty("swety_words")] + public string SwetyWords { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceLotteryPresentlistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceLotteryPresentlistQueryModel.cs new file mode 100644 index 0000000..e4b578b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceLotteryPresentlistQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceLotteryPresentlistQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceLotteryPresentlistQueryModel : AopObject + { + /// + /// 结束日期,格式为yyyyMMdd + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 开始日期,格式为yyyyMMdd + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 页号,必须大于0,默认为1 + /// + [JsonProperty("page_no")] + public long PageNo { get; set; } + + /// + /// 页大小,必须大于0,最大为500,默认为500 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalCardQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalCardQueryModel.cs new file mode 100644 index 0000000..17f2cb0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalCardQueryModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceMedicalCardQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceMedicalCardQueryModel : AopObject + { + /// + /// 支付授权码 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 买家支付宝账号对应的支付宝唯一用户号。 以2088开头的纯16位数字。 + /// + [JsonProperty("buyer_id")] + public string BuyerId { get; set; } + + /// + /// 卡颁发机构编号 + /// + [JsonProperty("card_org_no")] + public string CardOrgNo { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 跳回的地址 + /// + [JsonProperty("return_url")] + public string ReturnUrl { get; set; } + + /// + /// 支付场景 条码支付,取值:bar_code 声波支付,取值:wave_code + /// + [JsonProperty("scene")] + public string Scene { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInformationUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInformationUploadModel.cs new file mode 100644 index 0000000..17d043b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInformationUploadModel.cs @@ -0,0 +1,144 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceMedicalInformationUploadModel Data Structure. + /// + [Serializable] + public class AlipayCommerceMedicalInformationUploadModel : AopObject + { + /// + /// 支付授权码 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 支付场景(默认为条形码) 条码支付,取值:bar_code 声波支付,取值:wave_code 二维码支付,取值qr_code + /// + [JsonProperty("auth_type")] + public string AuthType { get; set; } + + /// + /// 上报明细: 挂号场景:挂号科室名 线下药店:药品名称 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 买家id + /// + [JsonProperty("buyer_id")] + public string BuyerId { get; set; } + + /// + /// 业务扩展参数 系统商编号:sys_service_provider_id 该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 外部生成时间。 格式为 yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("gmt_out_create")] + public string GmtOutCreate { get; set; } + + /// + /// 上报行业: 药店:STORE + /// + [JsonProperty("industry")] + public string Industry { get; set; } + + /// + /// 是否医保业务 是:T 不是:F + /// + [JsonProperty("is_insurance")] + public string IsInsurance { get; set; } + + /// + /// 医保机构的编号 + /// + [JsonProperty("medical_card_inst_id")] + public string MedicalCardInstId { get; set; } + + /// + /// 医疗机构名称 + /// + [JsonProperty("org_name")] + public string OrgName { get; set; } + + /// + /// 医疗机构编码(医保局分配) + /// + [JsonProperty("org_no")] + public string OrgNo { get; set; } + + /// + /// 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复。 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 患者证件号码 + /// + [JsonProperty("patient_card_no")] + public string PatientCardNo { get; set; } + + /// + /// 患者证件类型 + /// + [JsonProperty("patient_card_type")] + public string PatientCardType { get; set; } + + /// + /// 患者手机号 + /// + [JsonProperty("patient_mobile")] + public string PatientMobile { get; set; } + + /// + /// 患者姓名 患者姓名&患者证件和医保卡信息全部匹配才能使用医保,否则认为套保嫌疑不允许医保只能自费 + /// + [JsonProperty("patient_name")] + public string PatientName { get; set; } + + /// + /// 如果需要医保支付这个字段必传。业务报文,报文中可包含多条业务数据 + /// + [JsonProperty("request_content")] + public string RequestContent { get; set; } + + /// + /// 场景,取值:REGISTRATION(挂号) + /// + [JsonProperty("scene")] + public string Scene { get; set; } + + /// + /// 卖家支付宝用户ID,如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 业务流水号 + /// + [JsonProperty("serial_no")] + public string SerialNo { get; set; } + + /// + /// 主题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 金额,单位元 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInstcardBindModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInstcardBindModel.cs new file mode 100644 index 0000000..0192717 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInstcardBindModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceMedicalInstcardBindModel Data Structure. + /// + [Serializable] + public class AlipayCommerceMedicalInstcardBindModel : AopObject + { + /// + /// 区域编码,使用国家行政区划代码,可参看 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 支付宝处理完请求后,如验证成功,当前页面自动跳转到商户网站里指定页面的http路径。 + /// + [JsonProperty("return_url")] + public string ReturnUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInstcardCreateandpayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInstcardCreateandpayModel.cs new file mode 100644 index 0000000..59146a2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceMedicalInstcardCreateandpayModel.cs @@ -0,0 +1,144 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceMedicalInstcardCreateandpayModel Data Structure. + /// + [Serializable] + public class AlipayCommerceMedicalInstcardCreateandpayModel : AopObject + { + /// + /// 业务单据号 + /// + [JsonProperty("bill_no")] + public string BillNo { get; set; } + + /// + /// 对交易或者商品的描述 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 买家id + /// + [JsonProperty("buyer_id")] + public string BuyerId { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 外部下单时间。 格式为 yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("gmt_out_create")] + public string GmtOutCreate { get; set; } + + /// + /// 支付行业: 医院:HOSPITAL 药店:STORE + /// + [JsonProperty("industry")] + public string Industry { get; set; } + + /// + /// 外部机构业务上是否允许这笔单订单使用医保支付 允许使用:T 不允许使用:F + /// + [JsonProperty("is_insurance")] + public string IsInsurance { get; set; } + + /// + /// 医保机构的编号 + /// + [JsonProperty("medical_card_inst_id")] + public string MedicalCardInstId { get; set; } + + /// + /// 医疗机构名称 + /// + [JsonProperty("org_name")] + public string OrgName { get; set; } + + /// + /// 医疗机构编码(医保局分配) + /// + [JsonProperty("org_no")] + public string OrgNo { get; set; } + + /// + /// 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复。 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 患者证件号码 + /// + [JsonProperty("patient_card_no")] + public string PatientCardNo { get; set; } + + /// + /// 患者证件类型 + /// + [JsonProperty("patient_card_type")] + public string PatientCardType { get; set; } + + /// + /// 患者手机号 + /// + [JsonProperty("patient_mobile")] + public string PatientMobile { get; set; } + + /// + /// 患者姓名 患者姓名&患者证件和医保卡信息全部匹配才能使用医保,否则认为套保嫌疑不允许医保只能自费 + /// + [JsonProperty("patient_name")] + public string PatientName { get; set; } + + /// + /// 如果需要医保支付这个字段必传。业务报文,报文中可包含多条业务数据 + /// + [JsonProperty("request_content")] + public string RequestContent { get; set; } + + /// + /// 支付场景,取值:REGISTRATION(挂号) TREATMENT(诊间) HOSPITALIZATION(住院) COMMON(非医院类) + /// + [JsonProperty("scene")] + public string Scene { get; set; } + + /// + /// 卖家支付宝用户ID,如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 业务流水号 + /// + [JsonProperty("serial_no")] + public string SerialNo { get; set; } + + /// + /// 订单标题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,不能小于0,精确到小数点后2位。 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTradeApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTradeApplyModel.cs new file mode 100644 index 0000000..3272c93 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTradeApplyModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceTradeApplyModel Data Structure. + /// + [Serializable] + public class AlipayCommerceTradeApplyModel : AopObject + { + /// + /// 订单费用详情,用于在订单确认页面展示 + /// + [JsonProperty("amount_detail")] + public string AmountDetail { get; set; } + + /// + /// 接口请求渠道编码,由支付宝提供 + /// + [JsonProperty("channel")] + public string Channel { get; set; } + + /// + /// 接口版本号 + /// + [JsonProperty("interface_version")] + public string InterfaceVersion { get; set; } + + /// + /// 用于标识操作模型,由支付宝配置提供 + /// + [JsonProperty("op_code")] + public string OpCode { get; set; } + + /// + /// 场景的数据表示. json 数组格式,根据场景不同的模型传入不同参数,由支付宝负责提供参数集合 + /// + [JsonProperty("order_detail")] + public string OrderDetail { get; set; } + + /// + /// 用于标识数据模型,由支付宝配置提供 + /// + [JsonProperty("scene_code")] + public string SceneCode { get; set; } + + /// + /// 场景覆盖的目标人群标识,支持支付宝userId、身份证号、支付宝登录号、支付宝绑定手机号; + /// + [JsonProperty("target_id")] + public string TargetId { get; set; } + + /// + /// 场景覆盖人群id类型 + /// + [JsonProperty("target_id_type")] + public string TargetIdType { get; set; } + + /// + /// 交易请求参数 + /// + [JsonProperty("trade_apply_params")] + public TradeApplyParams TradeApplyParams { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayRecordVerifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayRecordVerifyModel.cs new file mode 100644 index 0000000..615bfc0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayRecordVerifyModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceTransportOfflinepayRecordVerifyModel Data Structure. + /// + [Serializable] + public class AlipayCommerceTransportOfflinepayRecordVerifyModel : AopObject + { + /// + /// 原始脱机记录信息 + /// + [JsonProperty("record")] + public string Record { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayTradeSettleModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayTradeSettleModel.cs new file mode 100644 index 0000000..da65d8e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayTradeSettleModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceTransportOfflinepayTradeSettleModel Data Structure. + /// + [Serializable] + public class AlipayCommerceTransportOfflinepayTradeSettleModel : AopObject + { + /// + /// 脱机交易列表 + /// + [JsonProperty("trade_list")] + + public List TradeList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayUserblacklistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayUserblacklistQueryModel.cs new file mode 100644 index 0000000..74d4f78 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayUserblacklistQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceTransportOfflinepayUserblacklistQueryModel Data Structure. + /// + [Serializable] + public class AlipayCommerceTransportOfflinepayUserblacklistQueryModel : AopObject + { + /// + /// 用户黑名单分页ID,1开始 + /// + [JsonProperty("page_index")] + public long PageIndex { get; set; } + + /// + /// 脱机交易用户黑名单分页页大小,最大页大小不超过1000 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayVirtualcardSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayVirtualcardSendModel.cs new file mode 100644 index 0000000..f20f472 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCommerceTransportOfflinepayVirtualcardSendModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCommerceTransportOfflinepayVirtualcardSendModel Data Structure. + /// + [Serializable] + public class AlipayCommerceTransportOfflinepayVirtualcardSendModel : AopObject + { + /// + /// 虚拟卡信息同步动作 + /// + [JsonProperty("action")] + public string Action { get; set; } + + /// + /// 用户虚拟卡余额,单位元。 + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// hex格式表示的虚拟卡数据,卡数据将在虚拟卡二维码中透传。 + /// + [JsonProperty("card_data")] + public string CardData { get; set; } + + /// + /// 用户虚拟卡卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 虚拟卡卡类型 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 表示虚拟卡是否可用 + /// + [JsonProperty("disabled")] + public string Disabled { get; set; } + + /// + /// 卡状态不可用时,标示卡的具体不可用状态。 CARD_OVERDUE ---- 欠费,CARD_REVOKING ---- 退卡中 + /// + [JsonProperty("disabled_code")] + public string DisabledCode { get; set; } + + /// + /// 当虚拟卡不可用时,提示用户不可用原因。 + /// + [JsonProperty("disabled_tips")] + public string DisabledTips { get; set; } + + /// + /// json格式字符串,存放扩展信息。discount_type ---- 优惠标识 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 虚拟卡最后更新时间 使用标准java时间格式 + /// + [JsonProperty("last_update_time")] + public string LastUpdateTime { get; set; } + + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayContract.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayContract.cs new file mode 100644 index 0000000..8f87aec --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayContract.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayContract Data Structure. + /// + [Serializable] + public class AlipayContract : AopObject + { + /// + /// 支付宝用户ID + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 订购的应用名称,有效时间。 + /// + [JsonProperty("contract_content")] + public string ContractContent { get; set; } + + /// + /// 订购的失效时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 订购URL。在sign返回false时返回应用的订购地址,可以引导用户订购。 + /// + [JsonProperty("page_url")] + public string PageUrl { get; set; } + + /// + /// 订购的生效时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 是否订购的标识。true:代表已订购。 + /// + [JsonProperty("subscribe")] + public bool Subscribe { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanApplyModel.cs new file mode 100644 index 0000000..241d1d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanApplyModel.cs @@ -0,0 +1,67 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCreditAutofinanceLoanApplyModel Data Structure. + /// + [Serializable] + public class AlipayCreditAutofinanceLoanApplyModel : AopObject + { + /// + /// 区域 + /// + [JsonProperty("area")] + public string Area { get; set; } + + /// + /// 征信结果回调地址 + /// + [JsonProperty("backurl")] + public string Backurl { get; set; } + + /// + /// 扩展参数信息,json格式,针对不同的业务平台有不同的参数,目前大搜车业务支持的参数有:firstpayamt 首付租金,firstpayprop 首付比例,lastpayamt 回购尾款,loantenor + /// 贷款期数,monthpayamt 每月还款额度 + /// + [JsonProperty("extparam")] + public string Extparam { get; set; } + + /// + /// 外部平台宝贝ID + /// + [JsonProperty("itemid")] + public string Itemid { get; set; } + + /// + /// 机构编码 + /// + [JsonProperty("orgcode")] + public string Orgcode { get; set; } + + /// + /// 外部平台订单号,64个字符以内、只能包含字母、数字、下划线;需保证在外部平台端不重复 + /// + [JsonProperty("outorderno")] + public string Outorderno { get; set; } + + /// + /// 支付宝账号数字ID + /// + [JsonProperty("uid")] + public string Uid { get; set; } + + /// + /// 核身VID + /// + [JsonProperty("verifyid")] + public string Verifyid { get; set; } + + /// + /// 当前安装的支付宝钱包版本号 + /// + [JsonProperty("version")] + public string Version { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanCloseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanCloseModel.cs new file mode 100644 index 0000000..b137660 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanCloseModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCreditAutofinanceLoanCloseModel Data Structure. + /// + [Serializable] + public class AlipayCreditAutofinanceLoanCloseModel : AopObject + { + /// + /// 汽车金融内部订单号 + /// + [JsonProperty("applyno")] + public string Applyno { get; set; } + + /// + /// 机构编号 + /// + [JsonProperty("orgcode")] + public string Orgcode { get; set; } + + /// + /// 外部平台订单号,64个字符以内、只能包含字母、数字、下划线;需保证在外部平台端不重复 + /// + [JsonProperty("outorderno")] + public string Outorderno { get; set; } + + /// + /// 关闭原因 + /// + [JsonProperty("reson")] + public string Reson { get; set; } + + /// + /// 关闭类型 1. CLOSE_USER_CANCEL(用户主动放弃贷款) 2. CLOSE_TD_REJECT(同盾校验失败) 3. CLOSE_OTHER(其他情况) + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanPlanQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanPlanQueryModel.cs new file mode 100644 index 0000000..1e5b8f8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceLoanPlanQueryModel.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCreditAutofinanceLoanPlanQueryModel Data Structure. + /// + [Serializable] + public class AlipayCreditAutofinanceLoanPlanQueryModel : AopObject + { + /// + /// 扩展参数,针对不同的平台特殊业务场景,将需要的参数填入改字段,目前针对大搜车业务有以下参数:itemprice 车辆价格,lastprop 车辆残值率,extintamt 基础服务包+增值服务包,loantenor + /// 贷款期数,creditamtprop 授信额度比例调整值; + /// + [JsonProperty("extparam")] + public string Extparam { get; set; } + + /// + /// 机构编码,机构接入汽车金融平台时分配,固定值 + /// + [JsonProperty("orgcode")] + public string Orgcode { get; set; } + + /// + /// 产品编码,汽车金融平台给机构提供的产品编码 + /// + [JsonProperty("productcode")] + public string Productcode { get; set; } + + /// + /// 本次请求流水号,全局唯一 + /// + [JsonProperty("seqno")] + public string Seqno { get; set; } + + /// + /// 支付宝账号数字ID + /// + [JsonProperty("uid")] + public string Uid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceVidGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceVidGetModel.cs new file mode 100644 index 0000000..ca28763 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditAutofinanceVidGetModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCreditAutofinanceVidGetModel Data Structure. + /// + [Serializable] + public class AlipayCreditAutofinanceVidGetModel : AopObject + { + /// + /// 机构编号 + /// + [JsonProperty("orgcode")] + public string Orgcode { get; set; } + + /// + /// 支付宝账号数字ID + /// + [JsonProperty("uid")] + public string Uid { get; set; } + + /// + /// 当前安装的支付宝钱包版本号 + /// + [JsonProperty("version")] + public string Version { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditCreditriskDataPutModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditCreditriskDataPutModel.cs new file mode 100644 index 0000000..91ecd70 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayCreditCreditriskDataPutModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayCreditCreditriskDataPutModel Data Structure. + /// + [Serializable] + public class AlipayCreditCreditriskDataPutModel : AopObject + { + /// + /// 数据类别,ISV注册成为网商银行的会员,达成数据合作服务,约定数据模型,由网商分配给ISV的数据模型的类别 + /// + [JsonProperty("category")] + public string Category { get; set; } + + /// + /// 外部机构编码(ISV注册成为网商银行的会员,ISV在网商的会员ID) + /// + [JsonProperty("dataorgid")] + public string Dataorgid { get; set; } + + /// + /// 数据提供者,ISV注册成为网商银行的会员,达成数据合作服务,约定数据模型,由网商分配给ISV的机构代号 + /// + [JsonProperty("dataprovider")] + public string Dataprovider { get; set; } + + /// + /// 实体编码(ISV客户的支付宝数字ID) + /// + [JsonProperty("entitycode")] + public string Entitycode { get; set; } + + /// + /// 实体名(ISV客户的支付宝登录号) + /// + [JsonProperty("entityname")] + public string Entityname { get; set; } + + /// + /// 实体类型(固定为ALIPAY) + /// + [JsonProperty("entitytype")] + public string Entitytype { get; set; } + + /// + /// Json格式,数据内容,ISV注册成为网商银行的会员,达成数据合作服务,约定json串字段和内容,ISV将数据给到网商,网商按照约定解析Json内容 + /// + [JsonProperty("objectcontent")] + public string Objectcontent { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderCancelModel.cs new file mode 100644 index 0000000..c45e7b6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderCancelModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderCancelModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderCancelModel : AopObject + { + /// + /// 到位业务订单号。用户在到位下单时,由到位系统生成的32位全局唯一数字 id。 + /// 通过应用中的应用网关post发送给商户(应用网关配置参考链接:https%3A%2F%2Fdoc.open.alipay.com%2Fdocs%2Fdoc.htm%3Fspm%3Da219a.7629140.0.0.TcIuKL%26treeId%3D193%26articleId%3D105310%26docType%3D1)。 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 取消订单原因。取消订单时必须填写订单取消原因。 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderConfirmModel.cs new file mode 100644 index 0000000..2e97b3f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderConfirmModel.cs @@ -0,0 +1,31 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderConfirmModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderConfirmModel : AopObject + { + /// + /// 备注信息,商家确认订单时添加的备注信息,长度不超过2000个字符 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 到位业务订单号。用户在到位下单时,由到位系统生成的32位全局唯一数字 id。 + /// 通过应用中的应用网关post发送给商户(应用网关配置参考链接:https%3A%2F%2Fdoc.open.alipay.com%2Fdocs%2Fdoc.htm%3Fspm%3Da219a.7629140.0.0.TcIuKL%26treeId%3D193%26articleId%3D105310%26docType%3D1)。 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 商户订单号码。确认接单时需要设置外部订单号,由商户自行生成,并确保其唯一性 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderModifyModel.cs new file mode 100644 index 0000000..d39e118 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderModifyModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderModifyModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderModifyModel : AopObject + { + /// + /// 服务地址,修改物流地址时填写的新服务地址:由第三方确认新的服务地址,最长不超过500字符 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 服务开始时间,修改服务开始时间时传递的开始服务时间,格式:yyyy-MM-dd HH:mm(到分) + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 备注信息,修改服务订单操作填写的备注信息,可以是修改的原因,不超过2000字符 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 订单修改类型,枚举值(AMOUNT、OTHER)如果是改金额的话,就传AMOUNT;如果是改开始时间或者物流地址的话,就传OTHER; + /// + [JsonProperty("modify_type")] + public string ModifyType { get; set; } + + /// + /// 到位业务订单号,全局唯一,由32位数字组成,用户在到位下单时系统生成并消息同步给商家,商户只能查自己同步到的订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 订单原始金额,即修改前订单的原始金额,单位元,订单金额小于10w + /// + [JsonProperty("origin_amount")] + public string OriginAmount { get; set; } + + /// + /// 实际金额,即修改后的订单应收金额,单位为元,订单金额小于10w + /// + [JsonProperty("real_amount")] + public string RealAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderQueryModel.cs new file mode 100644 index 0000000..8ad8500 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderQueryModel.cs @@ -0,0 +1,19 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderQueryModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderQueryModel : AopObject + { + /// + /// 到位业务订单号。用户在到位下单时,由到位系统生成的32位全局唯一数字 id。 + /// 通过应用中的应用网关post发送给商户(应用网关配置参考链接:https%3A%2F%2Fdoc.open.alipay.com%2Fdocs%2Fdoc.htm%3Fspm%3Da219a.7629140.0.0.TcIuKL%26treeId%3D193%26articleId%3D105310%26docType%3D1)。 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderRefundModel.cs new file mode 100644 index 0000000..9771250 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderRefundModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderRefundModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderRefundModel : AopObject + { + /// + /// 退款操作备注信息,用于详述退款单原因(使用该接口,必须要详细说明退款的原因),必填,长度不超过2000字符 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 到位业务订单号,全局唯一,由32位数字组成,用户在到位下单时系统生成并消息同步给商家,商户只能查自己同步到的订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 外部商户的退款id,用于控制退款操作的幂等,不同退款请求保证不同,最大长度不超过64字符 + /// + [JsonProperty("out_refund_id")] + public string OutRefundId { get; set; } + + /// + /// 退款金额,单位是元,商户可以全额退款也可以部分,退款金额不大于订单实际支付金额 + /// + [JsonProperty("refund_amount")] + public string RefundAmount { get; set; } + + /// + /// 订单退款的详细信息:可能包含多个服务订单的退款,内部包含每一个服务的订单号和单个的退款金额 + /// + [JsonProperty("refund_details")] + + public List RefundDetails { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderRefuseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderRefuseModel.cs new file mode 100644 index 0000000..6a7cde8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderRefuseModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderRefuseModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderRefuseModel : AopObject + { + /// + /// 到位业务订单号,全局唯一,由32位数字组成,用户在到位下单时系统生成并消息同步给商家,商户只能查自己同步到的订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 拒单理由,第三方商户拒绝接单时填写的拒单理由,必填,长度不超过500字符 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderSpModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderSpModifyModel.cs new file mode 100644 index 0000000..46573ca --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderSpModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderSpModifyModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderSpModifyModel : AopObject + { + /// + /// 到位业务订单号,全局唯一,由32位数字组成,用户在到位下单时系统生成并消息同步给商家,商户只能查自己同步到的订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 外部服务者id,由商户自己生成,保证同一商户id唯一,同步服务者信息或者修改订单服务者信息时设置,长度不超过64个字符 + /// + [JsonProperty("out_sp_id")] + public string OutSpId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderTransferModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderTransferModel.cs new file mode 100644 index 0000000..8f605ca --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiOrderTransferModel.cs @@ -0,0 +1,31 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiOrderTransferModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiOrderTransferModel : AopObject + { + /// + /// 备注信息。商户在推进订单状态时填写的备注信息,不超过500字符。 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 需要推进的订单状态。目前支持的订单动作是:START_SERVICE(派单模式服务开始);PROVIDER_CONFIRMED (服务者完成服务)。 + /// + [JsonProperty("order_action")] + public string OrderAction { get; set; } + + /// + /// 到位业务订单号。用户在到位下单时,由到位系统生成的32位全局唯一数字 id。 + /// 通过应用中的应用网关post发送给商户(应用网关配置参考链接:https%3A%2F%2Fdoc.open.alipay.com%2Fdocs%2Fdoc.htm%3Fspm%3Da219a.7629140.0.0.TcIuKL%26treeId%3D193%26articleId%3D105310%26docType%3D1)。 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiServiceModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiServiceModifyModel.cs new file mode 100644 index 0000000..eb507b4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiServiceModifyModel.cs @@ -0,0 +1,175 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiServiceModifyModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiServiceModifyModel : AopObject + { + /// + /// 服务保障描述 + /// + [JsonProperty("assurance_desc")] + + public List AssuranceDesc { get; set; } + + /// + /// 注意事项描述,支持图文形式,text为文本,分成不同的json表示换行,img为图片url,只支持https,图片大小限制60K以下。请勿发布涉及黄赌毒以及其他违反国家法律法规的图片,否则会导致服务下架,情节严重者会被到位强制解约 + /// + [JsonProperty("attention")] + + public List Attention { get; set; } + + /// + /// 服务所属的到位类目id,可发邮件到lei.mao@antfin.com,联系支付宝获取开通类目ID列表.支付宝在收到邮件后三个工作日内回复 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 服务城市行政编码,请参考高德标准。如果为空,表示能服务全国。城市编码请从http://lbs.amap.com/api/javascript-api/download/下载最新全国标准城市码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 服务内容描述,支持图文形式,text为文本,分成不同的json表示换行,img为图片url,只支持https,图片大小限制60K以下。请勿发布涉及黄赌毒以及其他违反国家法律法规的图片,否则会导致服务下架,情节严重者会被到位强制解约 + /// + [JsonProperty("desc")] + + public List Desc { get; set; } + + /// + /// 服务的区县范围,请参考高德标准。如果为空,表示能服务整个城市。城市编码请从http://lbs.amap.com/api/javascript-api/download/下载最新全国标准城市码 + /// + [JsonProperty("district_code_list")] + + public List DistrictCodeList { get; set; } + + /// + /// 商品封面图片url列表,单张图片大小不超过60KB,支持jpg、png格式,协议必须是HTTPS,数量小于等于10张。请勿发布涉及黄赌毒以及其他违反国家法律法规的图片,否则会导致服务下架,情节严重者会被到位强制解约 + /// + [JsonProperty("image_urls")] + + public List ImageUrls { get; set; } + + /// + /// 服务所在坐标的纬度(高德坐标系),服务者模式必传。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 服务所在位置的经度(高德坐标系),如果是服务者模式必传。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 服务模式, 可选值: SP(服务者模式)、DISPATCH(派单模式) + /// + [JsonProperty("mode")] + public string Mode { get; set; } + + /// + /// 外部服务id,商家自己维护的唯一标识,用于确定商家的某个服务.仅支持数字,字母和下划线 + /// + [JsonProperty("out_service_id")] + public string OutServiceId { get; set; } + + /// + /// 外部的服务者id:由商家自己维护的服务者唯一标识,服务者模式必填.仅支持数字,字母和下划线 + /// + [JsonProperty("out_sp_id")] + public string OutSpId { get; set; } + + /// + /// 服务报价描述,支持图文形式,text为文本,分成不同的json表示换行,img为图片url,只支持https,图片大小限制60K以下。请勿发布涉及黄赌毒以及其他违反国家法律法规的图片,否则会导致服务下架,情节严重者会被到位强制解约 + /// + [JsonProperty("price_desc")] + + public List PriceDesc { get; set; } + + /// + /// 价格维度类型,可选值:string;json,不填默认string,表示unit_price的类型为是一维价格,如果是json默认是多维价格 + /// + [JsonProperty("price_dim_type")] + public string PriceDimType { get; set; } + + /// + /// 服务流程描述,支持图文形式,text为文本,分成不同的json表示换行,img为图片url,只支持https,图片大小限制60K以下。请勿发布涉及黄赌毒以及其他违反国家法律法规的图片,否则会导致服务下架,情节严重者会被到位强制解约 + /// + [JsonProperty("process_desc")] + + public List ProcessDesc { get; set; } + + /// + /// 外部商家sku属性信息。示例:{"key":"floor","value":[{"out_pv_id":"a1","value":"一楼"},{"out_pv_id":"a2","value":"二楼"}]}表示定义了一个floor的sku属性,该属性有两个值分别为"一楼"和二楼,分别用编号1,2来代替。out_pv_id在每个商品中是唯一的,由商家定义,用来标示一个sku属性值 + /// + [JsonProperty("property")] + + public List Property { get; set; } + + /// + /// 可用数量,不填写表示不限量 + /// + [JsonProperty("quantity")] + public long Quantity { get; set; } + + /// + /// 服务名称 + /// + [JsonProperty("service_name")] + public string ServiceName { get; set; } + + /// + /// 服务范围描述,可以用于描述服务的范围信息,最大支持500字符,比如: { \"330100\": \"黄龙,古荡,翠苑\", \"110100\": \"三里屯,西单\" } 表示杭州地区用户会展示黄龙 古荡 + /// 翠苑,北京地区用户会展示三里屯 西单,其他地区用户不展示服务范围. + /// + [JsonProperty("service_range")] + public string ServiceRange { get; set; } + + /// + /// 商品sku信息,与property配合使用.例如:{"out_sku_id":"1","out_pv_id":"a1","city":"30010"}表示定义了一个sku,sku的城市范围是杭州,包含的属性是floor等于一楼 + /// + [JsonProperty("sku")] + + public List Sku { get; set; } + + /// + /// 服务状态,支持以下状态:ON(上架);OFF(下架);DELETE(删除).ON表示上架服务,在创建和修改服务时,必须设置为ON,调用接口成功后服务会在一分钟内上架;OFF表示下架服务,此操作不会修改服务内容,服务下架后用户将无法再到位中看到该服务,后续可以通过设置状t态为ON重新上架服务;DELETE表示删除该服务,此操作不可恢复 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 服务上提示给消费者的标签,每个标签最多10个字符,英文逗号间隔,最多支持5个标签 + /// + [JsonProperty("tags")] + public string Tags { get; set; } + + /// + /// 服务类型,可选值:ONLINE(线上服务)、OFFLINE(线下服务) + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 服务价格单位,可选值:PER_TIME(每次);PER_GE(每个);PER_FU(每幅);PER_PIECE(每份);PER_DAN(每单);PER_HOUR(每小时);PER_MINUTE(每分钟);PER_DAY(每天);PER_QITA(其他) + /// + [JsonProperty("unit")] + public string Unit { get; set; } + + /// + /// 单价,单位为元,根据price_dim_type的值决定如果是一维价格直接使用字符串,比如:"30.5";如果是多维,需要跟SKU结合进行定价,比如 [{out_sku_id: 1, price: 50.5}, + /// {out_sku_id: 2, price: 60.5} ] + /// out_sku_id是在sku中定义的外部商品库存单位信息ID,该配置表示out_sku_id为1的时候对应的价格是50.5,out_sku_id为2的时候对应的价格是60.5 + /// + [JsonProperty("unit_price")] + public string UnitPrice { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiServicePriceModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiServicePriceModifyModel.cs new file mode 100644 index 0000000..9e1b769 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiServicePriceModifyModel.cs @@ -0,0 +1,32 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiServicePriceModifyModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiServicePriceModifyModel : AopObject + { + /// + /// 外部服务id,商家自己维护的唯一标识,用于确定商家的某个服务.仅支持数字,字母和下划线 + /// + [JsonProperty("out_service_id")] + public string OutServiceId { get; set; } + + /// + /// 价格维度类型,可选值:string;json。string表示unit_price的类型是一维价格,如果是json表示多维价格 + /// + [JsonProperty("price_dim_type")] + public string PriceDimType { get; set; } + + /// + /// 单价,单位为元,根据price_dim_type的值决定如果是一维价格直接使用字符串,比如:"30.5";如果是多维,需要跟SKU结合进行定价,SKU通过alipay.daowei.service.modify接口在创建服务的时候创建。例子: + /// [{out_sku_id: 1, price: 50.5}, {out_sku_id: 2, price: 60.5}, ] + /// out_sku_id是在sku中定义的外部商品库存单位信息ID,该配置表示out_sku_id为1的时候对应的价格是50.5,out_sku_id为2的时候对应的价格是60.5 + /// + [JsonProperty("unit_price")] + public string UnitPrice { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiSpModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiSpModifyModel.cs new file mode 100644 index 0000000..ef174e4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiSpModifyModel.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiSpModifyModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiSpModifyModel : AopObject + { + /// + /// 服务者的可用时间表。其中Duration和Unit配合使用,例如duration=30,unit=MIN表示将一天分为以30分钟一小段的时间片段。Unit:目前支持MIN(分钟)。Date:YYYY-MM-DD格式。Bitmap:根据定义的间隔长度跟单位,将date的时间切分,例如将2016-11-29整天按30分钟为一段切分为48段: + /// 111111111111111111111111111111111110000011111111 , 其中0表示不可用,1表示可用,如果工作日全天可用则每个分段都为1 + /// + [JsonProperty("calendar_schedule")] + public CalendarScheduleInfo CalendarSchedule { get; set; } + + /// + /// 服务者的身份证号码 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 服务者的证件类型(目前只支持身份证号:IDENTITY_CARD) + /// + [JsonProperty("cert_type")] + public string CertType { get; set; } + + /// + /// 服务者的描述,会进行安全审核,请勿传包含敏感信息的昵称,如果审核传含有敏感信息,需修改后重新同步服务者的描述信息 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 服务者服务列表信息:包括服务者可提供的类目服务和证书信息等,其中license_id是商家服务者证照的唯一标识,用于确定商家的某个服务者的某个证照,仅支持数字、字母和下划线 + /// + [JsonProperty("license_list")] + + public List LicenseList { get; set; } + + /// + /// 服务者的支付宝登录账号 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + + /// + /// 服务者的手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 第三方服务者的姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 服务者昵称,会进行安全审核,请勿传包含敏感信息的昵称,如果审核传含有敏感信息,需修改后重新同步服务者信息 + /// + [JsonProperty("nick_name")] + public string NickName { get; set; } + + /// + /// 商家服务者id,由商家维护的该商家下某个服务者的唯一标识,仅支持数字、字母和下划线的组合 + /// + [JsonProperty("out_sp_id")] + public string OutSpId { get; set; } + + /// + /// 服务者的头像url,只支持https,图片大小限制60K以下。请勿发布涉及黄赌毒以及其他违反国家法律法规的图片,如果有安全问题,将会通知商家修改后重新同步服务者头像 + /// + [JsonProperty("photo_url")] + public string PhotoUrl { get; set; } + + /// + /// 服务状态,支持以下状态: ON(上架) OFF(下架) DELETE(删除) + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiSpScheduleModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiSpScheduleModifyModel.cs new file mode 100644 index 0000000..26ae0c5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiSpScheduleModifyModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiSpScheduleModifyModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiSpScheduleModifyModel : AopObject + { + /// + /// 服务者的可用时间表。其中Duration和Unit配合使用,例如duration=30,unit=MIN表示将一天分为以30分钟一小段的时间片段。Unit:目前支持MIN(分钟)。Date:YYYY-MM-DD格式。Bitmap:根据定义的间隔长度跟单位,将date的时间切分,例如将2016-11-29整天按30分钟为一段切分为48段: + /// 111111111111111111111111111111111110000011111111 , 其中0表示不可用,1表示可用,如果工作日全天可用则每个分段都为1 + /// + [JsonProperty("calendar_schedule")] + public CalendarScheduleInfo CalendarSchedule { get; set; } + + /// + /// 商家服务者id,由商家维护的该商家下某个服务者的唯一标识,仅支持数字、字母和下划线的组合 + /// + [JsonProperty("out_sp_id")] + public string OutSpId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiWeikeTaskviewQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiWeikeTaskviewQueryModel.cs new file mode 100644 index 0000000..fd2f9f9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDaoweiWeikeTaskviewQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDaoweiWeikeTaskviewQueryModel Data Structure. + /// + [Serializable] + public class AlipayDaoweiWeikeTaskviewQueryModel : AopObject + { + /// + /// 当前城市城市码,精确到地级市级别.城市编码参考最新国家标准http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201703/t20170310_1471429.html + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 第三方调用场景来源,由微客分配 + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataAiserviceJunengLoanQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataAiserviceJunengLoanQueryModel.cs new file mode 100644 index 0000000..796afe4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataAiserviceJunengLoanQueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataAiserviceJunengLoanQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataAiserviceJunengLoanQueryModel : AopObject + { + /// + /// 额外的信息,以 json 字符串的方式组织 + /// + [JsonProperty("extension_info")] + public string ExtensionInfo { get; set; } + + /// + /// 借款人身份证号的md5 + /// + [JsonProperty("hashed_cert_no")] + public string HashedCertNo { get; set; } + + /// + /// 机构代码,区别调用的外部机构 + /// + [JsonProperty("institution_uuid")] + public string InstitutionUuid { get; set; } + + /// + /// 单次请求的 uuid + /// + [JsonProperty("request_uuid")] + public string RequestUuid { get; set; } + + /// + /// 用户属性,包含隐私保护数据和原始数据。 + /// + [JsonProperty("user_feature")] + public string UserFeature { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataexchangeSfasdfModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataexchangeSfasdfModel.cs new file mode 100644 index 0000000..d90299d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataexchangeSfasdfModel.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataexchangeSfasdfModel Data Structure. + /// + [Serializable] + public class AlipayDataDataexchangeSfasdfModel : AopObject + { + /// + /// sdafsdfsaf + /// + [JsonProperty("adsfghjf")] + public AlipayItemVoucherTemplete Adsfghjf { get; set; } + + /// + /// ghjffdssfghj + /// + [JsonProperty("easadasfd")] + + public List Easadasfd { get; set; } + + /// + /// dsfghdsagfhd + /// + [JsonProperty("gdfsa")] + + public List Gdfsa { get; set; } + + /// + /// ghjkhg + /// + [JsonProperty("hjgdfs")] + public string Hjgdfs { get; set; } + + /// + /// sdgfjhkg + /// + [JsonProperty("sdfgsdfg")] + + public List Sdfgsdfg { get; set; } + + /// + /// ASGFDGASaaf + /// + [JsonProperty("wehtegf")] + + public List Wehtegf { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceBillDownloadurlQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceBillDownloadurlQueryModel.cs new file mode 100644 index 0000000..d7d8b3d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceBillDownloadurlQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceBillDownloadurlQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceBillDownloadurlQueryModel : AopObject + { + /// + /// 账单时间:日账单格式为yyyy-MM-dd,月账单格式为yyyy-MM。 + /// + [JsonProperty("bill_date")] + public string BillDate { get; set; } + + /// + /// 账单类型,商户通过接口或商户经开放平台授权后其所属服务商通过接口可以获取以下账单类型:trade、signcustomer;trade指商户基于支付宝交易收单的业务账单;signcustomer是指基于商户支付宝余额收入及支出等资金变动的帐务账单; + /// + [JsonProperty("bill_type")] + public string BillType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceChinaremodelQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceChinaremodelQueryModel.cs new file mode 100644 index 0000000..8f57402 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceChinaremodelQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceChinaremodelQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceChinaremodelQueryModel : AopObject + { + /// + /// 体检记录id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 规则id + /// + [JsonProperty("rule_id")] + public string RuleId { get; set; } + + /// + /// 交易流水记录id + /// + [JsonProperty("trans_id")] + public string TransId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceCodeRecoModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceCodeRecoModel.cs new file mode 100644 index 0000000..865825b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceCodeRecoModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceCodeRecoModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceCodeRecoModel : AopObject + { + /// + /// 参数配置:内容包括验证码之类,长度,是否可分割等 + /// + [JsonProperty("config")] + public string Config { get; set; } + + /// + /// 图片的内容(以base64位编码),大小不超过10k + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 策略,目前有2种,机器识别与人工打码(机器:machine;人工打码:manual) + /// + [JsonProperty("strategy")] + public string Strategy { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceHolographicFactorQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceHolographicFactorQueryModel.cs new file mode 100644 index 0000000..1905e69 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceHolographicFactorQueryModel.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceHolographicFactorQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceHolographicFactorQueryModel : AopObject + { + /// + /// 参数中文名称:业务id 是否唯一:唯一 参数作用/应用场景:做幂等性控制 枚举值:无 如何获取:调用方生成传递过来 特殊说明:无 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 参数中文名称:身份证号 是否唯一:否 参数作用/应用场景:查询人脉因子和多头因子必备的用户三要素之一 枚举值:无 如何获取:商户传递给上数,上数传递到openapi 特殊说明:无 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 参数中文名称:联系人列表 是否唯一:否 参数作用/应用场景:运行模型生成人脉因子必备的联系人列表参数 枚举值:无 如何获取:上数通过用户授权进行采集通讯录以及运营商报告,上数传递到openapi 特殊说明:无 + /// + [JsonProperty("contact_info_list")] + + public List ContactInfoList { get; set; } + + /// + /// 参数中文名称:运营商特征 是否唯一:否 参数作用/应用场景:运行模型生成人脉因子必备的运营商特征参数 枚举值:无 如何获取:上数通过用户授权采集运营商报告之后实时加工生成的运营商特征,上数传递到openapi + /// 特殊说明:无 + /// + [JsonProperty("isv_feature")] + public string IsvFeature { get; set; } + + /// + /// 参数中文名称:用户手机号 是否唯一:否 参数作用/应用场景:查询人脉因子和多头因子必备的用户三要素之一 枚举值:无 如何获取:商户传递给上数,上数传递到openapi 特殊说明:无 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 参数中文名称:用户姓名 是否唯一:否 参数作用/应用场景:查询人脉因子和多头因子必备的用户三要素之一 枚举值:无 如何获取:商户传递给上数,上数传递到openapi 特殊说明:无 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecShopQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecShopQueryModel.cs new file mode 100644 index 0000000..e3b49ed --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecShopQueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceShoppingmallrecShopQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceShoppingmallrecShopQueryModel : AopObject + { + /// + /// 纬度;注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度;注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 系统内商场的唯一标识id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + + /// + /// 本次请求的全局唯一标识, 支持英文字母和数字, 由开发者自行定义 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 系统内支付宝用户唯一标识id. 支付宝用户号是以2088开头的纯数字组成 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecShopandvoucherQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecShopandvoucherQueryModel.cs new file mode 100644 index 0000000..999df04 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecShopandvoucherQueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceShoppingmallrecShopandvoucherQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceShoppingmallrecShopandvoucherQueryModel : AopObject + { + /// + /// 纬度;注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度;注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 商场id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + + /// + /// 本次请求的全局唯一标识, 支持英文字母和数字, 由开发者自行定义 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 系统内支付宝用户唯一标识id. 支付宝用户号是以2088开头的纯数字组成 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecVoucherQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecVoucherQueryModel.cs new file mode 100644 index 0000000..72f63ad --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceShoppingmallrecVoucherQueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceShoppingmallrecVoucherQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceShoppingmallrecVoucherQueryModel : AopObject + { + /// + /// 纬度;注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度;注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 系统内商场的唯一标识id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + + /// + /// 本次请求的全局唯一标识, 支持英文字母和数字, 由开发者自行定义 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 系统内支付宝用户唯一标识id. 支付宝用户号是以2088开头的纯数字组成 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceUserlevelZrankGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceUserlevelZrankGetModel.cs new file mode 100644 index 0000000..9b3cba9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceUserlevelZrankGetModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceUserlevelZrankGetModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceUserlevelZrankGetModel : AopObject + { + /// + /// type对应的账号:如手机号-13815869530 + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 暂时支持:EMAIL(邮箱),PHONE(手机号),BANKCARD(银行卡),CERTNO(身份证),IMEI(设备唯一码),MAC(mac地址),TBID(淘宝id) + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceYuebaoassetDetailSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceYuebaoassetDetailSendModel.cs new file mode 100644 index 0000000..c843c83 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceYuebaoassetDetailSendModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceYuebaoassetDetailSendModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceYuebaoassetDetailSendModel : AopObject + { + /// + /// 资产负债报表数据列表 + /// + [JsonProperty("alm_report_data")] + + public List AlmReportData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceYuebaolqdDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceYuebaolqdDetailQueryModel.cs new file mode 100644 index 0000000..c2055c5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataDataserviceYuebaolqdDetailQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataDataserviceYuebaolqdDetailQueryModel Data Structure. + /// + [Serializable] + public class AlipayDataDataserviceYuebaolqdDetailQueryModel : AopObject + { + /// + /// 服务入参,格式为yyyymmdd + /// + [JsonProperty("report_date")] + public string ReportDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemDescription.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemDescription.cs new file mode 100644 index 0000000..ec5fb6a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemDescription.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataItemDescription Data Structure. + /// + [Serializable] + public class AlipayDataItemDescription : AopObject + { + /// + /// 标题下的描述列表 + /// + [JsonProperty("details")] + + public List Details { get; set; } + + /// + /// 明细图片列表 + /// + [JsonProperty("images")] + + public List Images { get; set; } + + /// + /// 描述标题,不得超过15个中文字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 套餐使用说明链接,必须是https的地址链接 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemGoodsList.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemGoodsList.cs new file mode 100644 index 0000000..ddc1927 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemGoodsList.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataItemGoodsList Data Structure. + /// + [Serializable] + public class AlipayDataItemGoodsList : AopObject + { + /// + /// 单品的描述信息 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 单品id列表 + /// + [JsonProperty("goods_list")] + + public List GoodsList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemLimitPeriodInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemLimitPeriodInfo.cs new file mode 100644 index 0000000..31e4173 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemLimitPeriodInfo.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataItemLimitPeriodInfo Data Structure. + /// + [Serializable] + public class AlipayDataItemLimitPeriodInfo : AopObject + { + /// + /// 区间范围枚举,分为: INCLUDE(包含) EXCLUDE(排除) + /// + [JsonProperty("rule")] + public string Rule { get; set; } + + /// + /// 单位描述,分为: MINUTE(分钟) HOUR(小时) WEEK_DAY(星期几) DAY(日) WEEK(周) MONTH(月) ALL(整个销售周期) + /// + [JsonProperty("unit")] + public string Unit { get; set; } + + /// + /// 区间范围值 + /// + [JsonProperty("value")] + + public List Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemSalesRule.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemSalesRule.cs new file mode 100644 index 0000000..38516b4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemSalesRule.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataItemSalesRule Data Structure. + /// + [Serializable] + public class AlipayDataItemSalesRule : AopObject + { + /// + /// 购买人群限制集合,开放平台暂时不支持此字段,如果需要使用,需要评估 + /// + [JsonProperty("buyer_crowd_limit")] + public string BuyerCrowdLimit { get; set; } + + /// + /// 商品单日销售上限 + /// + [JsonProperty("daily_sales_limit")] + public long DailySalesLimit { get; set; } + + /// + /// 用户购买策略如不填,则默认值为一个用户一天可以领取三次。 可限制DAY、WEEK、MONTH中n天领取m次,格式为DAY|n|m; 同时也可限制券的1次生命周期中可被领取x次,如ALL|1|x,两个规则可组合使用 + /// + [JsonProperty("user_sales_limit")] + + public List UserSalesLimit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemVoucherTemplete.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemVoucherTemplete.cs new file mode 100644 index 0000000..639a52f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataItemVoucherTemplete.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataItemVoucherTemplete Data Structure. + /// + [Serializable] + public class AlipayDataItemVoucherTemplete : AopObject + { + /// + /// 延迟生效时间(手动领取条件下,可跟valid_period组合使用) + /// + [JsonProperty("delay_minute")] + public long DelayMinute { get; set; } + + /// + /// 券使用规则描述,包括描述标题及描述内容列表 + /// + [JsonProperty("desc_details")] + + public List DescDetails { get; set; } + + /// + /// 折扣率,填写0~1间的小数且不包括0和1,如八折则传入0.8 + /// + [JsonProperty("discount_rate")] + public string DiscountRate { get; set; } + + /// + /// 外部单品列表 + /// + [JsonProperty("external_goods_list")] + public AlipayDataItemGoodsList ExternalGoodsList { get; set; } + + /// + /// 使用时间规则,控制商品的生效时间 + /// + [JsonProperty("limit_period_info_list")] + public AlipayDataItemLimitPeriodInfo LimitPeriodInfoList { get; set; } + + /// + /// 商品原金额,只有单品代金券有,丽人行业需要填写此字段 + /// + [JsonProperty("original_amount")] + public string OriginalAmount { get; set; } + + /// + /// 券原折扣 + /// + [JsonProperty("original_rate")] + public string OriginalRate { get; set; } + + /// + /// 单品代金券中的减至金额 + /// + [JsonProperty("reduce_to_amount")] + public string ReduceToAmount { get; set; } + + /// + /// 折扣金额取整规则 AUTO_ROUNDING_YUAN:自动抹零到元 AUTO_ROUNDING_JIAO:自动抹零到角 ROUNDING_UP_YUAN:四舍五入到元 ROUNDING_UP_JIAO:四舍五入到角 + /// + [JsonProperty("rounding_rule")] + public string RoundingRule { get; set; } + + /// + /// 起步数量,用于指定可享受优惠的起步单品购买数量 + /// + [JsonProperty("threshold_amount")] + public string ThresholdAmount { get; set; } + + /// + /// 起步数量,用于指定可享受优惠的起步单品购买数量 + /// + [JsonProperty("threshold_quantity")] + public string ThresholdQuantity { get; set; } + + /// + /// 领券之后多长时间内可以核销,单位:分钟,传入数值需大于1440(一天) + /// + [JsonProperty("valid_period")] + public long ValidPeriod { get; set; } + + /// + /// 价值金额 CASH类型为代金券金额 DISCOUNT类型为优惠封顶金额 + /// + [JsonProperty("value_amount")] + public string ValueAmount { get; set; } + + /// + /// 券的描述信息,目前客户端将统一展示“折扣须知” + /// + [JsonProperty("voucher_desc")] + public string VoucherDesc { get; set; } + + /// + /// 券类型:单品代金券为CASH类型,全场折扣券为DISCOUNT类型 + /// + [JsonProperty("voucher_type")] + public string VoucherType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataServiceResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataServiceResult.cs new file mode 100644 index 0000000..dd45845 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayDataServiceResult.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayDataServiceResult Data Structure. + /// + [Serializable] + public class AlipayDataServiceResult : AopObject + { + /// + /// 错误码 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 错误信息 + /// + [JsonProperty("message")] + public string Message { get; set; } + + /// + /// 调用结果,json格式 + /// + [JsonProperty("result")] + public string Result { get; set; } + + /// + /// 调用是否成功 + /// + [JsonProperty("success")] + public bool Success { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppCommonBillQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppCommonBillQueryModel.cs new file mode 100644 index 0000000..169ced0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppCommonBillQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppCommonBillQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppCommonBillQueryModel : AopObject + { + /// + /// 支付宝账单流水号(取自创建账单接口返回的alipay_order_no字段) + /// + [JsonProperty("bill_no")] + public string BillNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppCommonBillkeyQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppCommonBillkeyQueryModel.cs new file mode 100644 index 0000000..1c68976 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppCommonBillkeyQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppCommonBillkeyQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppCommonBillkeyQueryModel : AopObject + { + /// + /// 业务类型缩写: JF-缴费 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 出账机构缩写 + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 子业务类型英文名称: ELECTRIC-电力 GAS-燃气 WATER-水 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillCancelModel.cs new file mode 100644 index 0000000..c401f49 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillCancelModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppFacepayBillCancelModel Data Structure. + /// + [Serializable] + public class AlipayEbppFacepayBillCancelModel : AopObject + { + /// + /// 支付宝交易流水号(和user_identity_code、user_id三者至少传一个) + /// + [JsonProperty("bill_no")] + public string BillNo { get; set; } + + /// + /// ISV交易流水号( 要求全局唯一) + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 支付宝用户ID(和user_identity_code、bill_no三者至少传一个) + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 用户支付宝付款码(需使用下单时用的码值,10分钟内有效)(和user_id、bill_no三者至少传一个) + /// + [JsonProperty("user_identity_code")] + public string UserIdentityCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillPayModel.cs new file mode 100644 index 0000000..3d3229c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillPayModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppFacepayBillPayModel Data Structure. + /// + [Serializable] + public class AlipayEbppFacepayBillPayModel : AopObject + { + /// + /// 账期 + /// + [JsonProperty("bill_date")] + public string BillDate { get; set; } + + /// + /// 户号(缴税业务:纳税人识别号,对于三证合一的企业来说,采用社会信用代码;对于个人来说,采用身份证号) + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 业务类型英文名称,JF-缴费、TAX-缴税 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 出账机构代码(缴税业务:指征收机关英文代码,例如南京玄武国税(NJXWGS)) + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 扩展字段(缴税业务:taxpayerName -纳税人名称,taxOrgCode - 征收机关代码;缴费业务如需支付宝销账:billCacheKey -欠费单缓存Key,billUniqId - 欠费单唯一ID) + /// + [JsonProperty("extend_field")] + public string ExtendField { get; set; } + + /// + /// 滞纳金额,单位:元 + /// + [JsonProperty("fine_amount")] + public string FineAmount { get; set; } + + /// + /// 机构账单ID(缴税业务:用外部申报号) + /// + [JsonProperty("inst_no")] + public string InstNo { get; set; } + + /// + /// ISV流水号,用于控制幂等,须确保全局唯一(缴税业务:可采用{征收机关代码}-{外部申报号}的形式) + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 支付金额(包含滞纳金),单位:元 + /// + [JsonProperty("pay_amount")] + public string PayAmount { get; set; } + + /// + /// 商户partnerId + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// 子业务类型英文名称,ELECTRIC-电费,WATER-水费,GAS-燃气费,TAX-缴税 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + + /// + /// 用户支付宝付款码 + /// + [JsonProperty("user_identity_code")] + public string UserIdentityCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillQueryModel.cs new file mode 100644 index 0000000..04bc6f6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppFacepayBillQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppFacepayBillQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppFacepayBillQueryModel : AopObject + { + /// + /// 支付宝交易流水号(和user_id、user_identity_code三者至少传一个) (缴税业务:out_order_no/user_id/bill_no都可以不传) + /// + [JsonProperty("bill_no")] + public string BillNo { get; set; } + + /// + /// ISV流水号,用于控制幂等,须确保全局唯一。 (缴税业务:可采用{征收机关代码}-{外部申报号}的形式) + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 支付宝用户ID(和user_identity_code、bill_no三者至少传一个) (缴税业务:out_order_no/user_id/bill_no都可以不传) + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 用户支付宝付款码 (需使用下单时用的码值,10分钟内有效)(和user_id、bill_no三者至少传一个) (缴税业务:out_order_no/user_id/bill_no都可以不传) + /// + [JsonProperty("user_identity_code")] + public string UserIdentityCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceApplyModel.cs new file mode 100644 index 0000000..064f639 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceApplyModel.cs @@ -0,0 +1,49 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceApplyModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceApplyModel : AopObject + { + /// + /// 执行动作:申请开票/申请红冲 可选取值: BLUE:申请开票;RED:申请红冲 + /// + [JsonProperty("action")] + public string Action { get; set; } + + /// + /// 申请发起方,描述开票申请的发起角色, 可选取值: PAYEE:销售方;PAYER:购买方 + /// + [JsonProperty("apply_from")] + public string ApplyFrom { get; set; } + + /// + /// 发票申请内容 + /// + [JsonProperty("invoice_apply_model")] + public InvoiceApplyOpenModel InvoiceApplyModel { get; set; } + + /// + /// 定义商户的一级简称,用于标识商户品牌,对应于商户入驻时填写的"商户品牌简称"。 如:肯德基:KFC + /// + [JsonProperty("m_short_name")] + public string MShortName { get; set; } + + /// + /// 定义商户的二级简称,用于标识商户品牌下的分支机构,如门店,对应于商户入驻时填写的"商户门店简称"。 如:肯德基-杭州西湖区文一西路店:KFC-HZ-19003 + /// 要求:"商户品牌简称+商户门店简称"作为确定商户及其下属机构的唯一标识,不可重复。 + /// + [JsonProperty("sub_m_short_name")] + public string SubMShortName { get; set; } + + /// + /// 支付宝用户id,支付宝用户的唯一标识。 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceApplyResultSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceApplyResultSyncModel.cs new file mode 100644 index 0000000..5a6fdca --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceApplyResultSyncModel.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceApplyResultSyncModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceApplyResultSyncModel : AopObject + { + /// + /// 支付宝发起发票申请的id,该id具有唯一性,该字段由支付宝向税控发起申请的时候带过去,作为支付宝向税控开票申请的唯一标志 + /// + [JsonProperty("apply_id")] + public string ApplyId { get; set; } + + /// + /// 支付宝向税控商或ISV发起发票申请后,对应这笔申请的发票开具结果。 取值如下: SUCCESS:成功;FAIL:失败 + /// + [JsonProperty("result")] + public string Result { get; set; } + + /// + /// 结果码,支付宝向税控商或ISV发起发票申请后,对应这笔申请的发票开具结果进行详细说明的结果码。 取值如下: 成功(SUCCESS), 参数不合法(PARAMETER_ILLEGAL), + /// 商户税控设备异常(MERCHANT_TAX_DEVICE_ERROR). + /// + [JsonProperty("result_code")] + public string ResultCode { get; set; } + + /// + /// 结果描述,支付宝向税控商或ISV发起发票申请后,对应这笔申请的发票开具结果描述信息。 + /// + [JsonProperty("result_msg")] + public string ResultMsg { get; set; } + + /// + /// 该字段是税控商或ISV收到支付宝开票请求后生成的申请id,由税控商或isv自己生成,该id具有唯一性 + /// + [JsonProperty("tax_apply_id")] + public string TaxApplyId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceFileQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceFileQueryModel.cs new file mode 100644 index 0000000..9141a79 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceFileQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceFileQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceFileQueryModel : AopObject + { + /// + /// 支付宝端生成的发票id,该字段可从发票详情查询接口获得 + /// + [JsonProperty("invoice_id")] + public string InvoiceId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceInfoApplyidQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceInfoApplyidQueryModel.cs new file mode 100644 index 0000000..3a68cee --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceInfoApplyidQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceInfoApplyidQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceInfoApplyidQueryModel : AopObject + { + /// + /// 申请开票时支付宝返回的申请id,具有全局唯一性。 + /// + [JsonProperty("apply_id")] + public string ApplyId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceInfoGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceInfoGetModel.cs new file mode 100644 index 0000000..f0944d0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceInfoGetModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceInfoGetModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceInfoGetModel : AopObject + { + /// + /// 发票代码 + /// + [JsonProperty("invoice_code")] + public string InvoiceCode { get; set; } + + /// + /// 发票号码 + /// + [JsonProperty("invoice_no")] + public string InvoiceNo { get; set; } + + /// + /// 用户id,当用户发起发票查询时,可以先通过用户授权获取当前访问用户的userId + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceSycnModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceSycnModel.cs new file mode 100644 index 0000000..16b98fa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceSycnModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceSycnModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceSycnModel : AopObject + { + /// + /// 同步发票信息模型 + /// + [JsonProperty("invoice_info")] + + public List InvoiceInfo { get; set; } + + /// + /// 商户的品牌名称简称,该字段需要接入前向发票管家申请, m_short_name+sub_m_short_name具有唯一约束 如:肯德基:KFC + /// + [JsonProperty("m_short_name")] + public string MShortName { get; set; } + + /// + /// 支付宝为商户分配的商户门店简称,该字段需要接入前在发票管家申请 如:肯德基-杭州西湖区文一西路店:KFC-HZ-XH001 + /// + [JsonProperty("sub_m_short_name")] + public string SubMShortName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleBatchqueryInnerModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleBatchqueryInnerModel.cs new file mode 100644 index 0000000..21c72bb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleBatchqueryInnerModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceTitleBatchqueryInnerModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceTitleBatchqueryInnerModel : AopObject + { + /// + /// 抬头所属支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleDynamicGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleDynamicGetModel.cs new file mode 100644 index 0000000..19672e6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleDynamicGetModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceTitleDynamicGetModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceTitleDynamicGetModel : AopObject + { + /// + /// 抬头动态码 + /// + [JsonProperty("bar_code")] + public string BarCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleListGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleListGetModel.cs new file mode 100644 index 0000000..552c816 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleListGetModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceTitleListGetModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceTitleListGetModel : AopObject + { + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleSyncModel.cs new file mode 100644 index 0000000..4a354ed --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceTitleSyncModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceTitleSyncModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceTitleSyncModel : AopObject + { + /// + /// 开户银行账号 + /// + [JsonProperty("open_bank_account")] + public string OpenBankAccount { get; set; } + + /// + /// 开户银行 + /// + [JsonProperty("open_bank_name")] + public string OpenBankName { get; set; } + + /// + /// 税号 + /// + [JsonProperty("tax_register_no")] + public string TaxRegisterNo { get; set; } + + /// + /// 抬头名称 + /// + [JsonProperty("title_name")] + public string TitleName { get; set; } + + /// + /// 地址 + /// + [JsonProperty("user_address")] + public string UserAddress { get; set; } + + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 电话 + /// + [JsonProperty("user_mobile")] + public string UserMobile { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceUserTradeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceUserTradeQueryModel.cs new file mode 100644 index 0000000..b933d39 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppInvoiceUserTradeQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppInvoiceUserTradeQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppInvoiceUserTradeQueryModel : AopObject + { + /// + /// 发票管家交易id,来源于用户支付后开票申请跳转开票方的链接中带入参数einv_trade_id + /// + [JsonProperty("einv_trade_id")] + public string EinvTradeId { get; set; } + + /// + /// 随机数,从支付宝钱包链接跳转到开票方外部链接中带入的一项参数,调用该方法需将此参数透传回来,参数名:random + /// + [JsonProperty("random")] + public string Random { get; set; } + + /// + /// 时间戳,从支付宝钱包链接跳转到开票方外部链接中带入的一项参数,调用该方法需将此参数透传回来,参数名:timestamp + /// + [JsonProperty("timestamp")] + public string Timestamp { get; set; } + + /// + /// 令牌,从支付宝钱包链接跳转到开票方外部链接中带入的一项参数,调用该方法需将此参数透传回来,传入时请进行URLEncode,采用utf-编码格式,参数名:token + /// + [JsonProperty("token")] + public string Token { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppIsvProdmodeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppIsvProdmodeCreateModel.cs new file mode 100644 index 0000000..732d6a9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppIsvProdmodeCreateModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppIsvProdmodeCreateModel Data Structure. + /// + [Serializable] + public class AlipayEbppIsvProdmodeCreateModel : AopObject + { + /// + /// 参数内容包含:ISV录入产品模型相关信息,具体分类如下:1.销账机构信息 2.对账配置信息 3.清算配置信息 4.产品模型和出账机构信息 5.机构拓展信息 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppJfexportBillQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppJfexportBillQueryModel.cs new file mode 100644 index 0000000..b575a6f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppJfexportBillQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppJfexportBillQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppJfexportBillQueryModel : AopObject + { + /// + /// 支付宝的业务订单号,具有唯一性和幂等性 + /// + [JsonProperty("bill_no")] + public string BillNo { get; set; } + + /// + /// 业务类型英文名称 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 拓展字段,json串(key-value对) + /// + [JsonProperty("extend_field")] + public string ExtendField { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppJfexportInstbillQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppJfexportInstbillQueryModel.cs new file mode 100644 index 0000000..a60f470 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppJfexportInstbillQueryModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppJfexportInstbillQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppJfexportInstbillQueryModel : AopObject + { + /// + /// 账期 + /// + [JsonProperty("bill_date")] + public string BillDate { get; set; } + + /// + /// 户号 + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 业务类型英文名称 ,固定传JF,表示缴费 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 出账机构英文简称 + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 拓展字段,json串(key-value对) + /// + [JsonProperty("extend_field")] + public string ExtendField { get; set; } + + /// + /// 账单拥有者姓名 + /// + [JsonProperty("owner_name")] + public string OwnerName { get; set; } + + /// + /// 子业务类型英文名称,ELECTRIC-电费,WATER-水费,GAS-燃气费 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductAsyncPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductAsyncPayModel.cs new file mode 100644 index 0000000..d788518 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductAsyncPayModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppPdeductAsyncPayModel Data Structure. + /// + [Serializable] + public class AlipayEbppPdeductAsyncPayModel : AopObject + { + /// + /// 分配给外部机构发起扣款时的渠道码。朗新为LANGXIN + /// + [JsonProperty("agent_channel")] + public string AgentChannel { get; set; } + + /// + /// 二级渠道码,预留字段 + /// + [JsonProperty("agent_code")] + public string AgentCode { get; set; } + + /// + /// 支付宝代扣协议Id + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 账期 + /// + [JsonProperty("bill_date")] + public string BillDate { get; set; } + + /// + /// 户号 + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extend_field")] + public string ExtendField { get; set; } + + /// + /// 滞纳金 + /// + [JsonProperty("fine_amount")] + public string FineAmount { get; set; } + + /// + /// 备注信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户外部业务流水号 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 扣款金额,支付总金额,包含滞纳金 + /// + [JsonProperty("pay_amount")] + public string PayAmount { get; set; } + + /// + /// 商户partnerId + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductSignQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductSignQueryModel.cs new file mode 100644 index 0000000..0857afb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductSignQueryModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppPdeductSignQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppPdeductSignQueryModel : AopObject + { + /// + /// 支付宝代扣协议Id。若协议id不传递,则需要保证业务类型、子业务类型、出账机构、户号必传 + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 户号,机构针对于每户的水、电都会有唯一的标识户号 + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 业务类型。 JF:缴水、电、燃气、固话宽带、有线电视、交通罚款费用 WUYE:缴物业费 HK:信用卡还款 TX:手机充值 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 支付宝缴费系统中的出账机构ID + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 业务子类型。 WATER:缴水费 ELECTRIC:缴电费 GAS:缴燃气费 COMMUN:缴固话宽带 CATV:缴有线电视费 TRAFFIC:缴交通罚款 WUYE:缴物业费 HK:信用卡还款 CZ:手机充值 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductSignValidateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductSignValidateModel.cs new file mode 100644 index 0000000..7bd4ae8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppPdeductSignValidateModel.cs @@ -0,0 +1,102 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppPdeductSignValidateModel Data Structure. + /// + [Serializable] + public class AlipayEbppPdeductSignValidateModel : AopObject + { + /// + /// 机构签约代扣来源渠道 PUBLICPLATFORM:服务窗 + /// + [JsonProperty("agent_channel")] + public string AgentChannel { get; set; } + + /// + /// 从服务窗发起则为该服务窗的appid的值 + /// + [JsonProperty("agent_code")] + public string AgentCode { get; set; } + + /// + /// 户号,机构针对于每户的水、电都会有唯一的标识户号 + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 业务类型。 JF:缴水、电、燃气、固话宽带、有线电视、交通罚款费用 WUYE:缴物业费 HK:信用卡还款 TX:手机充值 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 支付宝缴费系统中的出账机构ID + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 签约类型,可为空。目前类型有INST_DIRECT_DEDUCT + /// + [JsonProperty("deduct_type")] + public string DeductType { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extend_field")] + public string ExtendField { get; set; } + + /// + /// 通知方式设置,本期预留字段,固定传空。 + /// + [JsonProperty("notify_config")] + public string NotifyConfig { get; set; } + + /// + /// 外部机构签约的协议id + /// + [JsonProperty("out_agreement_id")] + public string OutAgreementId { get; set; } + + /// + /// 户名,户主真实姓名 + /// + [JsonProperty("owner_name")] + public string OwnerName { get; set; } + + /// + /// 支付工具设置,目前可为空。类型有:BALANCE;CARTOON;BIGAMOUNT_CREDIT_CARTOON;DEBIT_EXPRESS;OPTIMIZED_MOTO;PCREDIT_PAY;MONEY_FUND + /// + [JsonProperty("pay_config")] + public string PayConfig { get; set; } + + /// + /// 商户签约支付宝账号的userid,2088开头16位长度的字符串,在支付宝系统中唯一 + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// 签约到期时间。空表示无限期,一期固定传空。 + /// + [JsonProperty("sign_expire_date")] + public string SignExpireDate { get; set; } + + /// + /// 业务子类型。 WATER:缴水费 ELECTRIC:缴电费 GAS:缴燃气费 COMMUN:缴固话宽带 CATV:缴有线电视费 TRAFFIC:缴交通罚款 WUYE:缴物业费 HK:信用卡还款 CZ:手机充值 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + + /// + /// 用户支付宝账号id,2088开头16位长度的字符串,在支付宝系统中唯一 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeChargeoffinstQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeChargeoffinstQueryModel.cs new file mode 100644 index 0000000..cd6fc20 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeChargeoffinstQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeChargeoffinstQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeChargeoffinstQueryModel : AopObject + { + /// + /// 业务类型 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeDropdataQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeDropdataQueryModel.cs new file mode 100644 index 0000000..dae0bf9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeDropdataQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeDropdataQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeDropdataQueryModel : AopObject + { + /// + /// 参数为:缴费业务类型 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 参数包含:业务类型、子业务类型、产品模式等 + /// + [JsonProperty("search_type")] + public string SearchType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeInstshortnameQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeInstshortnameQueryModel.cs new file mode 100644 index 0000000..85d7687 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeInstshortnameQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeInstshortnameQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeInstshortnameQueryModel : AopObject + { + /// + /// 出账机构中文名称 + /// + [JsonProperty("chargeinst_cn_name")] + public string ChargeinstCnName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeProvcityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeProvcityQueryModel.cs new file mode 100644 index 0000000..7bf68d4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeProvcityQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeProvcityQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeProvcityQueryModel : AopObject + { + /// + /// 省市编号 + /// + [JsonProperty("adcode")] + public string Adcode { get; set; } + + /// + /// 查询类型,queryType=1,查询省下面的市信息 + /// + [JsonProperty("query_type")] + public string QueryType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeReconconfQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeReconconfQueryModel.cs new file mode 100644 index 0000000..6e0c72d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeReconconfQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeReconconfQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeReconconfQueryModel : AopObject + { + /// + /// 缴费业务类型 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 销账机构编码 + /// + [JsonProperty("chargeoff_code")] + public string ChargeoffCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeSignQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeSignQueryModel.cs new file mode 100644 index 0000000..2b00518 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeSignQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeSignQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeSignQueryModel : AopObject + { + /// + /// 出账/销账机构支付宝账号 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + + /// + /// 产品编号 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeTasknodeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeTasknodeQueryModel.cs new file mode 100644 index 0000000..fcc440e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeTasknodeQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeTasknodeQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeTasknodeQueryModel : AopObject + { + /// + /// 任务编号 + /// + [JsonProperty("task_id")] + public string TaskId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeUnionbankQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeUnionbankQueryModel.cs new file mode 100644 index 0000000..2dde42a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppProdmodeUnionbankQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppProdmodeUnionbankQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppProdmodeUnionbankQueryModel : AopObject + { + /// + /// 银联编号 + /// + [JsonProperty("bank_code")] + public string BankCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppRechargeNotifySendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppRechargeNotifySendModel.cs new file mode 100644 index 0000000..0d82a6c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppRechargeNotifySendModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppRechargeNotifySendModel Data Structure. + /// + [Serializable] + public class AlipayEbppRechargeNotifySendModel : AopObject + { + /// + /// 充值面额或者优惠面额 + /// + [JsonProperty("face_price")] + public string FacePrice { get; set; } + + /// + /// 充值时间或者话费券有效时间 + /// + [JsonProperty("gmt_charge")] + public string GmtCharge { get; set; } + + /// + /// 充值的手机号码 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 阿里通信通知类型 + /// + [JsonProperty("notify_type")] + public string NotifyType { get; set; } + + /// + /// 外部用户id + /// + [JsonProperty("out_user_id")] + public string OutUserId { get; set; } + + /// + /// 充值交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppUserChargeinstQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppUserChargeinstQueryModel.cs new file mode 100644 index 0000000..2917651 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEbppUserChargeinstQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEbppUserChargeinstQueryModel Data Structure. + /// + [Serializable] + public class AlipayEbppUserChargeinstQueryModel : AopObject + { + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCmsCdataUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCmsCdataUploadModel.cs new file mode 100644 index 0000000..75c10e4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCmsCdataUploadModel.cs @@ -0,0 +1,80 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCmsCdataUploadModel Data Structure. + /// + [Serializable] + public class AlipayEcoCmsCdataUploadModel : AopObject + { + /// + /// 属性-消息投放的单个行业页面(如教育的某个幼儿园) + /// + [JsonProperty("attribute")] + public string Attribute { get; set; } + + /// + /// 类目-消息投放的行业平台(教育、车主、医疗等) + /// + [JsonProperty("category")] + public string Category { get; set; } + + /// + /// 消息失效时间,标准时间格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("exp_time")] + public string ExpTime { get; set; } + + /// + /// 商户消息唯一流水,类目范围内唯一,标识此消息唯一ID,若重复上传通过此判断 + /// + [JsonProperty("merch_id")] + public string MerchId { get; set; } + + /// + /// 操作数据,自定义,使用方需知晓 若需要同步域内时: + /// 如果只需要支付宝这边利用数据直接完成某个功能(通知),则使用此参数传输数据.,根据不同的scene_code,op_code,channel,version共同确定参数是否可以为空,接入时由支付宝确定参数格式。 + /// + [JsonProperty("op_data")] + public string OpData { get; set; } + + /// + /// 消息数据,json格式,内容由模板参数列表定义. {"占位符":"参数值","占位符2":"参数值"…} 若需要同步域内时: 场景的数据表示. json 数组 格式,根据不同的scene_code, + /// op_code,channel,version共同确定 参数是否可以为空,接入时由支付宝确定 参数格式。 + /// + [JsonProperty("scene_data")] + public string SceneData { get; set; } + + /// + /// 消息生效时间,标准时间格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 是否需要同步域内,设定模板时需支持; 若需要特殊可选均是必填 + /// + [JsonProperty("syn")] + public bool Syn { get; set; } + + /// + /// 消息模板的版本,由开放生态分配 + /// + [JsonProperty("t_v")] + public string TV { get; set; } + + /// + /// 消息模板ID,需要预先设定模板才能进行消息投放,由开放生态协商分配 + /// + [JsonProperty("tamplate_id")] + public long TamplateId { get; set; } + + /// + /// 投放目标对象,自定义. 若需要同步到域内: 场景覆盖的目标人群标识,单个用户是支付宝的userId,多个用户userId 使用英文半角逗号隔开,最多200个如果是群组,使用支付宝分配的群组ID. + /// + [JsonProperty("target_id")] + public string TargetId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBasicserviceInitializeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBasicserviceInitializeModel.cs new file mode 100644 index 0000000..4ae1f91 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBasicserviceInitializeModel.cs @@ -0,0 +1,53 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBasicserviceInitializeModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBasicserviceInitializeModel : AopObject + { + /// + /// 若服务类型为物业缴费账单模式,每个小区默认的收款帐号为授权物业的支付宝账号,默认不用传该参数。 + /// 但为满足部分物业公司财务要求,允许开发者为每个小区服务传入一个指定的物业收款帐号。根据不同账号类型(account_type),开发者需要向物业或支付宝商务支持接口人获取具体的收款帐号。 + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 若服务类型为物业缴费账单模式,每个小区默认的收款账号为授权物业的支付宝账号,默认不用传该参数。用户完成缴费后实时入账至该支付宝账号,后续由物业财务系统根据缴费异步通知和支付宝对账文件进行资金清分。 + /// 但为了满足部分物业公司的财务清结算需求,允许在授权物业账号下已设置支付宝收款子账号限制集的前提下,由开发者为指定小区服务传入一个物业公司的支付宝收款子帐号,支持通过以下任一种形式传递该账号: ALIPAY_LOGON_ID + /// - 支付宝登陆账号。 ALIPAY_PARTNER_ID - 支付宝登陆账号对应的用户ID,2088开头的16位纯数字用户号。 + /// 注意:若传递的收款子账号事先未在支付宝配置,开发者在上线前的支付验证环节会提示不支持收款到该账户,请联系物业公司完成配置事宜。 + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 由开发者系统提供的,支付宝根据基础服务类型在特定业务环节调用的外部系统服务地址,开发者需要确保外部地址的准确性。在线上环境需要使用HTTPS协议,会检查ssl证书,要求证书为正规的证书机构签发,不支持自签名证书。 + /// 对于PROPERTY_PAY_BILL_MODE服务类型,该地址表示用户缴费支付完成后开发者系统接受支付结果通知的回调地址。 + /// + [JsonProperty("external_invoke_address")] + public string ExternalInvokeAddress { get; set; } + + /// + /// 若本服务有预期的过期时间(如在物业服务合同中约定),开发者按标准时间格式:yyyy-MM-dd HH:mm:ss传入。 + /// + [JsonProperty("service_expires")] + public string ServiceExpires { get; set; } + + /// + /// 基础服务类型,目前支持的类型值为: PROPERTY_PAY_BILL_MODE - 物业缴费账单上传模式 + /// + [JsonProperty("service_type")] + public string ServiceType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBasicserviceModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBasicserviceModifyModel.cs new file mode 100644 index 0000000..6aa5fd9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBasicserviceModifyModel.cs @@ -0,0 +1,59 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBasicserviceModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBasicserviceModifyModel : AopObject + { + /// + /// 若服务类型为物业缴费账单模式,每个小区默认的收款帐号为授权物业的支付宝账号,默认不用传该参数。 + /// 但为满足部分物业个性化需求,允许开发者为每个小区服务传入一个指定的物业收款帐号。根据不同账号类型,开发者需要向物业或支付宝商务支持接口人获取具体的收款帐号。 + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 若服务类型为物业缴费账单模式,每个小区默认的收款帐号为授权物业的支付宝账号,但允许开发者为每个小区服务传入一个指定的物业收款帐号,收款帐号支持三种类型: ALIPAY_LOGON_ID - + /// 物业签约支付宝收单产品时配置的支付宝收款限制集中的支付宝登陆账号,必须在授权物业账号名下的收款限制集中。 ALIPAY_PARTNER_ID - + /// 物业签约支付宝收单产品时配置的支付宝收款限制集中的账号PID,2088开头的16位账号。必须在授权物业账号名下的收款限制集中。 BANK_CARD_ID - + /// 物业集团公司在签约收单产品时支付宝平台配置的银行卡编号(注:非实际银行账号)。 + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 由开发者系统提供的,支付宝根据基础服务类型在特定业务环节调用的外部系统服务地址,开发者需要确保外部地址的准确性。在线上环境需要使用HTTPS协议,会检查ssl证书,要求证书为正规的证书机构签发,不支持自签名证书。 + /// 对于PROPERTY_PAY_BILL_MODE服务类型,该地址表示用户缴费支付完成后开发者系统接受支付结果通知的回调地址。 + /// + [JsonProperty("external_invoke_address")] + public string ExternalInvokeAddress { get; set; } + + /// + /// 若本服务需要变更过期时间(如在物业服务合同中约定),开发者按标准时间格式:yyyy-MM-dd HH:mm:ss传入。 + /// + [JsonProperty("service_expires")] + public string ServiceExpires { get; set; } + + /// + /// 基础服务类型,目前支持的类型值为: PROPERTY_PAY_BILL_MODE - 物业缴费账单上传模式 + /// + [JsonProperty("service_type")] + public string ServiceType { get; set; } + + /// + /// 申请变更的服务状态,可选值为: ONLINE - 上线,服务对接成功并在生产环境验证通过后,需要在status传值ONLINE调用本接口申请服务上线。 MAINTAIN - 维护中 OFFLINE - 下线 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillBatchUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillBatchUploadModel.cs new file mode 100644 index 0000000..52056d5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillBatchUploadModel.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBillBatchUploadModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBillBatchUploadModel : AopObject + { + /// + /// 每次上传物业费账单,都需要提供一个批次号。对于每一个合作伙伴,传递的每一个批次号都必须保证唯一性,同时对于批次号内的账单明细数据必须保证唯一性; + /// 建议格式为:8位当天日期+流水号(3~24位,流水号可以接受数字或英文字符,建议使用数字)。 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 账单应收条目明细集合,同一小区内条目明细不允许重复;一次接口请求最多支持1000条明细。 + /// + [JsonProperty("bill_set")] + + public List BillSet { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillBatchqueryModel.cs new file mode 100644 index 0000000..f6ba842 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillBatchqueryModel.cs @@ -0,0 +1,67 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBillBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBillBatchqueryModel : AopObject + { + /// + /// 查询过滤条件之一: 根据账期查询 + /// + [JsonProperty("acct_period")] + public string AcctPeriod { get; set; } + + /// + /// 查询过滤条件之一: 根据开发者上传物业费账单时需要的批次号查询指定批次下上传成功的账单。 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 查询过滤条件之一:根据账单状态查询,不传该字段则返回所有状态的账单。 状态值: FINISH_PAYMENT - 用户完成支付和销账 UNDER_PAYMENT - 账单锁定待用户完成支付 WAIT_PAYMENT - + /// 待缴且未过缴费截止日期 OUT_OF_DATE - 未支付且已过缴费截止日期 + /// + [JsonProperty("bill_status")] + public string BillStatus { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在授权物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 查询过滤条件之一: 根据费用类型查询,只支持精确查询。 + /// + [JsonProperty("cost_type")] + public string CostType { get; set; } + + /// + /// 查询过滤条件之一: 根据物业系统端房屋编号查询 + /// + [JsonProperty("out_room_id")] + public string OutRoomId { get; set; } + + /// + /// 分页查询的当前页码数,分页从1开始计数。 该参数不传入的时候,默认为1。 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 分页查询的每页最大数据条数,取值范围1-500。 不传该参数默认为200。 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 查询过滤条件之一: 根据出账日期查询,格式为YYYYMMDD,只支持精确查询。 + /// + [JsonProperty("release_day")] + public string ReleaseDay { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillDeleteModel.cs new file mode 100644 index 0000000..226e034 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillDeleteModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBillDeleteModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBillDeleteModel : AopObject + { + /// + /// 指定小区下待删除的物业费账单应收明细条目ID列表,一次最多删除1000条,如果明细条目已被支付或在支付中,则无法被删除。接口会返回无法删除的明细条目ID列表。 + /// + [JsonProperty("bill_entry_id_list")] + + public List BillEntryIdList { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillModifyModel.cs new file mode 100644 index 0000000..9b9a3d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillModifyModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBillModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBillModifyModel : AopObject + { + /// + /// 待修改的物业费账单应收明细条目列表,一次最多修改1000条明细条目。如果明细条目已被支付或在支付中,则无法被修改。接口会返回无法修改的明细条目ID列表。 + /// + [JsonProperty("bill_entry_list")] + + public List BillEntryList { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillSyncModel.cs new file mode 100644 index 0000000..abd6264 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeBillSyncModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeBillSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeBillSyncModel : AopObject + { + /// + /// 待同步的物业费账单应收明细条目ID + /// + [JsonProperty("bill_entry_id")] + public string BillEntryId { get; set; } + + /// + /// 支付宝社区物业平台小区ID,用户通过支付宝社区物业平台物业查询获取。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 指定条目待更新的缴费截止日期 若operate_type为update,该参数选填; 若operate_type为delete,该参数不用填。 + /// + [JsonProperty("new_deadline")] + public string NewDeadline { get; set; } + + /// + /// 指定条目待更新的应收金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 若operate_type为update,该参数选填; 若operate_type为delete,该参数不用填。 + /// + [JsonProperty("new_entry_amount")] + public string NewEntryAmount { get; set; } + + /// + /// 同步类型: delete:删除 update:更改 + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityBatchqueryModel.cs new file mode 100644 index 0000000..e834b35 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeCommunityBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeCommunityBatchqueryModel : AopObject + { + /// + /// 分页查询的当前页码数,分页从1开始计数。 该参数不传入的时候,默认为1。 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 分页查询的每页最大数据条数,取值范围1-500。 不传该参数默认为200。 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 如传入该参数,则返回指定状态的小区,支持的状态值: PENDING_ONLINE 待上线 ONLINE - 上线 MAINTAIN - 维护中 OFFLINE - 下线 不传该值则默认返回所有状态的小区。 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityCreateModel.cs new file mode 100644 index 0000000..39e99d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityCreateModel.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeCommunityCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeCommunityCreateModel : AopObject + { + /// + /// 若开发者录入的物业小区需要精确对应地图上多个小区(比如物业系统中的小区包含类似一期二期、或东区西区的组团结构),以便后续线上推广时覆盖到对应小区的住户,可以指定关联的高德地图中住宅、住宿或地名地址等小区相关类型的POI(地图兴趣点)ID列表。 + /// 若传入该参数且参数值合法,则该参数的优先级高于传入的地理位置经纬度。 注:最多包含10组poiid。 高德POI ID的获取接口: + /// http://lbs.amap.com/api/webservice/guide/api/search/ + /// + [JsonProperty("associated_pois")] + + public List AssociatedPois { get; set; } + + /// + /// 地级市编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 小区主要详细地址,不需要包含省市区名称。 + /// + [JsonProperty("community_address")] + public string CommunityAddress { get; set; } + + /// + /// 小区所在的经纬度列表(注:需要是高德坐标系),每对经纬度用"|"分隔,经度在前,纬度在后,经纬度小数点后不超过6位。 注:若新建的小区覆盖多个片区,最多包含5组经纬度,其中第一组作为主经纬度。 + /// 经纬度是小区搜索和用户推广的重要参数,录入时请确保经纬度参数准确。 高德经纬度查询接口:http://lbs.amap.com/api/webservice/guide/api/search/ + /// 高德坐标系转换接口:http://lbs.amap.com/api/webservice/guide/api/convert/ + /// + [JsonProperty("community_locations")] + + public List CommunityLocations { get; set; } + + /// + /// 小区名称,最长不超过32个字符。 + /// + [JsonProperty("community_name")] + public string CommunityName { get; set; } + + /// + /// 区县编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 需要提供物业服务热线或联系电话,便于用户在需要时联系物业。 + /// + [JsonProperty("hotline")] + public string Hotline { get; set; } + + /// + /// 小区在物业系统中的唯一编号。 + /// + [JsonProperty("out_community_id")] + public string OutCommunityId { get; set; } + + /// + /// 省份编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityDetailsQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityDetailsQueryModel.cs new file mode 100644 index 0000000..b2f9242 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityDetailsQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeCommunityDetailsQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeCommunityDetailsQueryModel : AopObject + { + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityModifyModel.cs new file mode 100644 index 0000000..689568e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeCommunityModifyModel.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeCommunityModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeCommunityModifyModel : AopObject + { + /// + /// 若开发者录入的物业小区需要精确对应地图上多个小区(比如物业系统中的小区包含类似一期二期、或东区西区的组团结构),以便后续线上推广时覆盖到对应小区的住户,可以指定关联的高德地图中住宅、住宿或地名地址等小区相关类型的POI(地图兴趣点)ID列表。 + /// 若传入该参数且参数值合法,则该参数的优先级高于传入的地理位置经纬度。 注:最多包含10组poiid。 高德POI ID的获取接口: + /// http://lbs.amap.com/api/webservice/guide/api/search/ + /// + [JsonProperty("associated_pois")] + + public List AssociatedPois { get; set; } + + /// + /// 地级市编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 小区主要详细地址,不需要包含省市区名称。 + /// + [JsonProperty("community_address")] + public string CommunityAddress { get; set; } + + /// + /// 支付宝社区小区统一编号,必须在物业账号名下存在。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 小区所在的经纬度列表(注:需要是高德坐标系),每对经纬度用"|"分隔,经度在前,纬度在后,经纬度小数点后不超过6位。 注:若新建的小区覆盖多个片区,最多包含5组经纬度,其中第一组作为主经纬度。 + /// 经纬度是小区搜索和用户推广的重要参数,录入时请确保经纬度参数准确。 高德经纬度查询接口:http://lbs.amap.com/api/webservice/guide/api/search/ + /// 高德坐标系转换接口:http://lbs.amap.com/api/webservice/guide/api/convert/ + /// + [JsonProperty("community_locations")] + + public List CommunityLocations { get; set; } + + /// + /// 小区名称,最长不超过32个字符。 + /// + [JsonProperty("community_name")] + public string CommunityName { get; set; } + + /// + /// 区县编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 需要提供物业服务热线或联系电话,便于用户在需要时联系物业。 + /// + [JsonProperty("hotline")] + public string Hotline { get; set; } + + /// + /// 小区在物业系统中的唯一编号。 + /// + [JsonProperty("out_community_id")] + public string OutCommunityId { get; set; } + + /// + /// 省份编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeNoticeDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeNoticeDeleteModel.cs new file mode 100644 index 0000000..ca78a03 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeNoticeDeleteModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeNoticeDeleteModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeNoticeDeleteModel : AopObject + { + /// + /// 待删除通知的支付宝小区ID,如果为空,则在所有小区下线该通知. + /// + [JsonProperty("community_id_set")] + + public List CommunityIdSet { get; set; } + + /// + /// 待删除的通知ID,(见alipay.eco.cplife.notice.publish接口返回参数列表.) + /// + [JsonProperty("notice_id")] + public string NoticeId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeNoticePublishModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeNoticePublishModel.cs new file mode 100644 index 0000000..c188027 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeNoticePublishModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeNoticePublishModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeNoticePublishModel : AopObject + { + /// + /// 待发布通知的目标物业小区ID列表,使用支付宝平台统一的小区ID编码。 + /// + [JsonProperty("community_id_set")] + + public List CommunityIdSet { get; set; } + + /// + /// 待发送的通知内容 + /// + [JsonProperty("notice_details")] + public CplifeNoticeDetail NoticeDetails { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRepairStatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRepairStatusUpdateModel.cs new file mode 100644 index 0000000..080d6de --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRepairStatusUpdateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeRepairStatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeRepairStatusUpdateModel : AopObject + { + /// + /// 报修单状态明细 + /// + [JsonProperty("biz_details")] + public string BizDetails { get; set; } + + /// + /// 当前报修单状态 + /// + [JsonProperty("biz_state")] + public string BizState { get; set; } + + /// + /// 报修单ID + /// + [JsonProperty("req_id")] + public string ReqId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeResidentinfoDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeResidentinfoDeleteModel.cs new file mode 100644 index 0000000..cbd6f21 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeResidentinfoDeleteModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeResidentinfoDeleteModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeResidentinfoDeleteModel : AopObject + { + /// + /// 待删除的住户所在的小区ID(支付宝平台统一小区ID标识) + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 待删除住户在物业系统中的唯一标示,一次至多传入200条用户ID + /// + [JsonProperty("out_resident_id_set")] + + public List OutResidentIdSet { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeResidentinfoUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeResidentinfoUploadModel.cs new file mode 100644 index 0000000..c9ffe3d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeResidentinfoUploadModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeResidentinfoUploadModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeResidentinfoUploadModel : AopObject + { + /// + /// 请求流水号,由商户自定义,在商户系统内唯一标示一次业务请求。 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 业主所在物业小区ID(支付宝平台唯一小区ID标示) + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 请求上传的住户信息列表,单次至多上传200条住户信息. + /// + [JsonProperty("resident_info")] + + public List ResidentInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoDeleteModel.cs new file mode 100644 index 0000000..4ae3bae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoDeleteModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeRoominfoDeleteModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeRoominfoDeleteModel : AopObject + { + /// + /// 请求批次号,由商户自定义,在商户系统内唯一标示一次业务请求。 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 业主所在物业小区ID(支付宝平台唯一小区ID标示) + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 待删除的商户房间列表,一次API调用至多传入200条待删除的房间ID(房间在商户系统的唯一ID标识) + /// + [JsonProperty("out_room_id_set")] + + public List OutRoomIdSet { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoQueryModel.cs new file mode 100644 index 0000000..cdf1fb7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeRoominfoQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeRoominfoQueryModel : AopObject + { + /// + /// 传入该小区在支付宝社区物业平台中的唯一编号,通过小区创建和查询接口获取。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 分页查询的页码数,分页从1开始计数。该参数不传入的时候,默认为1 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 分页查询的每页最大数据条数。默认为200 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoUploadModel.cs new file mode 100644 index 0000000..e0db7cc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRoominfoUploadModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeRoominfoUploadModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeRoominfoUploadModel : AopObject + { + /// + /// 请求批次号,由商户自定义,在商户系统内唯一标示一次业务请求。 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 业主所在物业小区ID(支付宝平台唯一小区ID标示) + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 待上传的房屋信息列表,单次上传不超过200条. + /// + [JsonProperty("room_info_set")] + + public List RoomInfoSet { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRooominfoQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRooominfoQueryModel.cs new file mode 100644 index 0000000..3ae9def --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeRooominfoQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeRooominfoQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeRooominfoQueryModel : AopObject + { + /// + /// 业主所在物业小区ID(支付宝平台唯一小区ID标示) + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 分页查询的页码数,分页从1开始计数。该参数不传入的时候,默认为1 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 分页查询的每页最大数据条数。默认为200 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeUseridentityStatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeUseridentityStatusUpdateModel.cs new file mode 100644 index 0000000..d7c097a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoCplifeUseridentityStatusUpdateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoCplifeUseridentityStatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoCplifeUseridentityStatusUpdateModel : AopObject + { + /// + /// 业务明细 + /// + [JsonProperty("biz_details")] + public string BizDetails { get; set; } + + /// + /// 当前业务状态 + /// + [JsonProperty("biz_state")] + public string BizState { get; set; } + + /// + /// 业务单据ID + /// + [JsonProperty("req_id")] + public string ReqId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobCancelModel.cs new file mode 100644 index 0000000..f4e17b6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobCancelModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobCancelModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobCancelModel : AopObject + { + /// + /// 职位来源方编码 + /// + [JsonProperty("source_code")] + public string SourceCode { get; set; } + + /// + /// 职位在合作方的ID + /// + [JsonProperty("source_id")] + public string SourceId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobCreateModel.cs new file mode 100644 index 0000000..6b65afe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobCreateModel.cs @@ -0,0 +1,234 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobCreateModel : AopObject + { + /// + /// 城市编码 + /// + [JsonProperty("area_city_code")] + public string AreaCityCode { get; set; } + + /// + /// 城市名称 + /// + [JsonProperty("area_city_name")] + public string AreaCityName { get; set; } + + /// + /// 区编码 + /// + [JsonProperty("area_district_code")] + public string AreaDistrictCode { get; set; } + + /// + /// 区名称 + /// + [JsonProperty("area_district_name")] + public string AreaDistrictName { get; set; } + + /// + /// 工作详细地址 + /// + [JsonProperty("area_job_address")] + public string AreaJobAddress { get; set; } + + /// + /// 省份编码(直辖市 + /// + [JsonProperty("area_province_code")] + public long AreaProvinceCode { get; set; } + + /// + /// 省份名称(直辖市) + /// + [JsonProperty("area_province_name")] + public string AreaProvinceName { get; set; } + + /// + /// 街道名称 + /// + [JsonProperty("area_street_name")] + public string AreaStreetName { get; set; } + + /// + /// 企业法律名称 + /// + [JsonProperty("company_lawname")] + public string CompanyLawname { get; set; } + + /// + /// 参数描述企业Logo + /// + [JsonProperty("company_logo")] + public string CompanyLogo { get; set; } + + /// + /// 公司名称 + /// + [JsonProperty("company_name")] + public string CompanyName { get; set; } + + /// + /// 第三方公司ID + /// + [JsonProperty("company_source")] + public string CompanySource { get; set; } + + /// + /// 备注json 数据 + /// + [JsonProperty("content_var")] + public string ContentVar { get; set; } + + /// + /// 过期时间(毫秒数) + /// + [JsonProperty("gmt_expired")] + public string GmtExpired { get; set; } + + /// + /// 刷新时间(毫秒数) + /// + [JsonProperty("gmt_refresh")] + public string GmtRefresh { get; set; } + + /// + /// 职位开始时间(毫秒数) + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 职位描述 + /// + [JsonProperty("job_desc")] + public string JobDesc { get; set; } + + /// + /// 招聘人数 + /// + [JsonProperty("job_hire_number")] + public long JobHireNumber { get; set; } + + /// + /// 职位名称 + /// + [JsonProperty("job_name")] + public string JobName { get; set; } + + /// + /// 职业亮点/关键字 + /// + [JsonProperty("job_perk")] + public string JobPerk { get; set; } + + /// + /// 要求简历语言(1中文;2英文) + /// + [JsonProperty("job_resume_lg")] + public long JobResumeLg { get; set; } + + /// + /// 学历要求专科(1:大专以下2:大专3:本科4:硕士5:博士6:其他7:不限) + /// + [JsonProperty("job_rq_education")] + public long JobRqEducation { get; set; } + + /// + /// 职业一级分类code + /// + [JsonProperty("job_tier_one_code")] + public string JobTierOneCode { get; set; } + + /// + /// 职业一级分类name + /// + [JsonProperty("job_tier_one_name")] + public string JobTierOneName { get; set; } + + /// + /// 职业三级分类code + /// + [JsonProperty("job_tier_three_code")] + public string JobTierThreeCode { get; set; } + + /// + /// 职业三级分类name + /// + [JsonProperty("job_tier_three_name")] + public string JobTierThreeName { get; set; } + + /// + /// 职业二级分类code + /// + [JsonProperty("job_tier_two_code")] + public string JobTierTwoCode { get; set; } + + /// + /// 职业二级分类name + /// + [JsonProperty("job_tier_two_name")] + public string JobTierTwoName { get; set; } + + /// + /// 职位类型枚举(1实习;2兼职;3全职;) + /// + [JsonProperty("job_type")] + public long JobType { get; set; } + + /// + /// 最大薪资(单位¥) + /// + [JsonProperty("payment_max")] + public long PaymentMax { get; set; } + + /// + /// 最小薪资(单位¥) + /// + [JsonProperty("payment_min")] + public long PaymentMin { get; set; } + + /// + /// 薪资单位(1:天2:月3:周) + /// + [JsonProperty("payment_unit")] + public long PaymentUnit { get; set; } + + /// + /// 职位来源方编码 + /// + [JsonProperty("source_code")] + public string SourceCode { get; set; } + + /// + /// 职位在合作方的ID + /// + [JsonProperty("source_id")] + public string SourceId { get; set; } + + /// + /// 每周到岗天数 + /// + [JsonProperty("tra_job_freq")] + public long TraJobFreq { get; set; } + + /// + /// 实习时间长度(单位月) + /// + [JsonProperty("tra_job_period")] + public long TraJobPeriod { get; set; } + + /// + /// 是否可转正(1可以;0不可以) + /// + [JsonProperty("tra_job_promot")] + public long TraJobPromot { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobPublishModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobPublishModel.cs new file mode 100644 index 0000000..64eb2f7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobPublishModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobPublishModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobPublishModel : AopObject + { + /// + /// 过期时间(毫秒数) + /// + [JsonProperty("gmt_expired")] + public string GmtExpired { get; set; } + + /// + /// 刷新时间(毫秒数) + /// + [JsonProperty("gmt_refresh")] + public string GmtRefresh { get; set; } + + /// + /// 职位来源方编码 + /// + [JsonProperty("source_code")] + public string SourceCode { get; set; } + + /// + /// 职位在合作方的ID + /// + [JsonProperty("source_id")] + public string SourceId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobdeliverModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobdeliverModifyModel.cs new file mode 100644 index 0000000..5c76d31 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobdeliverModifyModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobdeliverModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobdeliverModifyModel : AopObject + { + /// + /// 用户id + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 补充文案 + /// + [JsonProperty("comment")] + public string Comment { get; set; } + + /// + /// 备用字段 + /// + [JsonProperty("content_var")] + public string ContentVar { get; set; } + + /// + /// 面试地点 + /// + [JsonProperty("interview_location")] + public string InterviewLocation { get; set; } + + /// + /// 面试时间(毫秒) + /// + [JsonProperty("interview_time")] + public string InterviewTime { get; set; } + + /// + /// 纬度 + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度 + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 职位来源方编码 + /// + [JsonProperty("source_code")] + public string SourceCode { get; set; } + + /// + /// 职位来源方id + /// + [JsonProperty("source_id")] + public string SourceId { get; set; } + + /// + /// 投递状态: 4被查看;5待处理;6邀面试;7已拒绝;8已录用;9已结束 + /// + [JsonProperty("status")] + public long Status { get; set; } + + /// + /// 状态更新时间(毫秒) + /// + [JsonProperty("update_time")] + public string UpdateTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobstudentApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobstudentApplyModel.cs new file mode 100644 index 0000000..a420f25 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobstudentApplyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobstudentApplyModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobstudentApplyModel : AopObject + { + /// + /// 支付宝客户端用户Id + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 备用字段,JSON格式.(可使用单引号或者双引号) + /// + [JsonProperty("content_var")] + public string ContentVar { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobtalkCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobtalkCancelModel.cs new file mode 100644 index 0000000..146db8c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobtalkCancelModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobtalkCancelModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobtalkCancelModel : AopObject + { + /// + /// 备用字段,json格式 + /// + [JsonProperty("content_var")] + public string ContentVar { get; set; } + + /// + /// 宣讲会来源方id + /// + [JsonProperty("talk_source_code")] + public string TalkSourceCode { get; set; } + + /// + /// 宣讲会在合作方的ID + /// + [JsonProperty("talk_source_id")] + public string TalkSourceId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobtalkCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobtalkCreateModel.cs new file mode 100644 index 0000000..1c5c459 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduCampusJobtalkCreateModel.cs @@ -0,0 +1,162 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduCampusJobtalkCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduCampusJobtalkCreateModel : AopObject + { + /// + /// 公司在合作方的唯一标识id + /// + [JsonProperty("campany_source")] + public string CampanySource { get; set; } + + /// + /// 工作城市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 工作城市code + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 宣讲会公司法律名称(唯一) + /// + [JsonProperty("company_lawname")] + public string CompanyLawname { get; set; } + + /// + /// 宣讲会公司全称 + /// + [JsonProperty("company_name")] + public string CompanyName { get; set; } + + /// + /// 备用字段,json格式 + /// + [JsonProperty("content_var")] + public string ContentVar { get; set; } + + /// + /// 工作城市地区 + /// + [JsonProperty("district")] + public string District { get; set; } + + /// + /// 工作地点纬度 + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 企业logo的url + /// + [JsonProperty("logo_url")] + public string LogoUrl { get; set; } + + /// + /// 工作地点经度 + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 工作省份 + /// + [JsonProperty("province")] + public string Province { get; set; } + + /// + /// 工作省份code + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 街道 + /// + [JsonProperty("street")] + public string Street { get; set; } + + /// + /// 宣讲会举办地点 + /// + [JsonProperty("talk_address")] + public string TalkAddress { get; set; } + + /// + /// 宣讲会正文,过滤要求:表格,字体字号,符号,图片,链接 + /// + [JsonProperty("talk_content")] + public string TalkContent { get; set; } + + /// + /// 宣讲会结束时间(毫秒数) + /// + [JsonProperty("talk_endtime")] + public string TalkEndtime { get; set; } + + /// + /// 宣讲会举办时间(毫秒数) + /// + [JsonProperty("talk_holdtime")] + public string TalkHoldtime { get; set; } + + /// + /// 宣讲会举办学校code + /// + [JsonProperty("talk_school_code")] + public string TalkSchoolCode { get; set; } + + /// + /// 宣讲会举办学校 + /// + [JsonProperty("talk_school_name")] + public string TalkSchoolName { get; set; } + + /// + /// 宣讲会来源方id + /// + [JsonProperty("talk_source_code")] + public string TalkSourceCode { get; set; } + + /// + /// 宣讲会在合作方的ID + /// + [JsonProperty("talk_source_id")] + public string TalkSourceId { get; set; } + + /// + /// 宣讲会标题 + /// + [JsonProperty("talk_title")] + public string TalkTitle { get; set; } + + /// + /// 宣讲会类型 1=宣讲会 2=空中宣讲会 3=双选会 + /// + [JsonProperty("talk_type")] + public long TalkType { get; set; } + + /// + /// 宣讲会信息来源 + /// + [JsonProperty("talksource_source")] + public string TalksourceSource { get; set; } + + /// + /// 企业官网 + /// + [JsonProperty("web_url")] + public string WebUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduJzApplyresultSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduJzApplyresultSyncModel.cs new file mode 100644 index 0000000..65abfde --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduJzApplyresultSyncModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduJzApplyresultSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduJzApplyresultSyncModel : AopObject + { + /// + /// 报名编号(通过调用报名信息同步接口返回) + /// + [JsonProperty("apply_third_id")] + public string ApplyThirdId { get; set; } + + /// + /// 备注 + /// + [JsonProperty("audit_remark")] + public string AuditRemark { get; set; } + + /// + /// 报名结果状态 + /// + [JsonProperty("listing_status")] + public string ListingStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduJzPostPublishModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduJzPostPublishModel.cs new file mode 100644 index 0000000..e11b45a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduJzPostPublishModel.cs @@ -0,0 +1,185 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduJzPostPublishModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduJzPostPublishModel : AopObject + { + /// + /// 年龄要求范围 + /// + [JsonProperty("age_demand")] + public EduAgeDemand AgeDemand { get; set; } + + /// + /// 工资/提成信息备注 + /// + [JsonProperty("commission")] + public string Commission { get; set; } + + /// + /// 客服联系方式 + /// + [JsonProperty("company_contact")] + public string CompanyContact { get; set; } + + /// + /// 商户 Logo + /// + [JsonProperty("company_logo")] + public string CompanyLogo { get; set; } + + /// + /// 职位所属公司名称 + /// + [JsonProperty("company_name")] + public string CompanyName { get; set; } + + /// + /// 联系方式 手机座机 + /// + [JsonProperty("contact_phone")] + public string ContactPhone { get; set; } + + /// + /// 工作结束的日期 + /// + [JsonProperty("date_end")] + public string DateEnd { get; set; } + + /// + /// 工作开始的日期 + /// + [JsonProperty("date_start")] + public string DateStart { get; set; } + + /// + /// 报名截止日期 + /// + [JsonProperty("deadline")] + public string Deadline { get; set; } + + /// + /// 性别要求 0:不限;1:男;2:女 + /// + [JsonProperty("gender")] + public string Gender { get; set; } + + /// + /// 招聘人数 + /// + [JsonProperty("hire_number")] + public string HireNumber { get; set; } + + /// + /// 有无提成0:没有1:有 + /// + [JsonProperty("is_commission")] + public string IsCommission { get; set; } + + /// + /// 职位描述:工作内容、岗位要求 + /// + [JsonProperty("job_desc")] + public string JobDesc { get; set; } + + /// + /// 工作类型,0:短期兼职,1:长期兼职,2:周末兼职 + /// + [JsonProperty("job_type")] + public string JobType { get; set; } + + /// + /// 类型代码:兼职类型 1:传单派发 2:促销导购 3:话务客服 4:礼仪模特 5:家教助教 6:服务员 7:问卷调查 8:审核录入 9:地推拉访 10:其他 11:打包分拣 12:展会协助 13:充场 + /// 14:实习生 15:安保 16:送餐员 17:演出 18:翻译 19:校园代理 20:义工 21:食品促销 22:临时工 + /// + [JsonProperty("part_time_type")] + public string PartTimeType { get; set; } + + /// + /// 薪资待遇 + /// + [JsonProperty("payment")] + public string Payment { get; set; } + + /// + /// 薪资待遇备注 + /// + [JsonProperty("payment_remark")] + public string PaymentRemark { get; set; } + + /// + /// 结算方式:0日结;1次日结; 2周结;3半月结; 4月结; 5完工结; + /// + [JsonProperty("payment_type")] + public string PaymentType { get; set; } + + /// + /// 工资 + /// + [JsonProperty("salary")] + public string Salary { get; set; } + + /// + /// 薪资单位:元/天;元/周;元/月(与结算方式匹配) + /// + [JsonProperty("salary_unit")] + public string SalaryUnit { get; set; } + + /// + /// 兼职服务商职位id + /// + [JsonProperty("service_post_id")] + public string ServicePostId { get; set; } + + /// + /// 职位供应商信息 + /// + [JsonProperty("source_info")] + public EduSourceInfo SourceInfo { get; set; } + + /// + /// 职位特殊要求多选项目: - 普通话熟练; - 有健康证; - 自备正装; - 携带学生证; - 沟通能力强; - 形象好; - 服从安排; - 积极主动; - 认真负责; - 活泼开朗; - 吃苦耐劳; + /// + [JsonProperty("special_demand")] + + public List SpecialDemand { get; set; } + + /// + /// 职位标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 福利,1:包工作餐;2:包住宿;3:交通补助 + /// + [JsonProperty("welfare")] + + public List Welfare { get; set; } + + /// + /// 工作地点 + /// + [JsonProperty("work_address")] + + public List WorkAddress { get; set; } + + /// + /// 工作时间备注 + /// + [JsonProperty("work_time_remark")] + public string WorkTimeRemark { get; set; } + + /// + /// 每天工作时长 <以小时计> + /// + [JsonProperty("working_hours")] + public string WorkingHours { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingModifyModel.cs new file mode 100644 index 0000000..d78727a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingModifyModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtBillingModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtBillingModifyModel : AopObject + { + /// + /// 退款时,支付宝返回的用户的登录id + /// + [JsonProperty("buyer_logon_id")] + public string BuyerLogonId { get; set; } + + /// + /// 支付宝返回的买家支付宝用户id + /// + [JsonProperty("buyer_user_id")] + public string BuyerUserId { get; set; } + + /// + /// 本次退款是否发生了资金变化 + /// + [JsonProperty("fund_change")] + public string FundChange { get; set; } + + /// + /// 支付宝返回的退款时间,而不是商户退款申请的时间 + /// + [JsonProperty("gmt_refund")] + public string GmtRefund { get; set; } + + /// + /// 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// isv系统的订单号 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数 + /// + [JsonProperty("refund_amount")] + public string RefundAmount { get; set; } + + /// + /// 支付宝返回的退款资金渠道,json格式字符串 + /// + [JsonProperty("refund_detail_item_list")] + public string RefundDetailItemList { get; set; } + + /// + /// 退款原因,商家根据客户实际退款原因填写 + /// + [JsonProperty("refund_reason")] + public string RefundReason { get; set; } + + /// + /// 状态:1:缴费成功,2:关闭账单,3、退费 如果为退款状态,需要填写以下字段,字段都是支付宝退款返回的必填参数 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 支付宝返回的交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingQueryModel.cs new file mode 100644 index 0000000..04ccb17 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtBillingQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtBillingQueryModel : AopObject + { + /// + /// Isv pid + /// + [JsonProperty("isv_pid")] + public string IsvPid { get; set; } + + /// + /// ISV调用发送账单接口,返回给商户的order_no + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 学校支付宝pid + /// + [JsonProperty("school_pid")] + public string SchoolPid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingSendModel.cs new file mode 100644 index 0000000..e36c682 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtBillingSendModel.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtBillingSendModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtBillingSendModel : AopObject + { + /// + /// 总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000], 如果是非多选项,是要和缴费项的总和相同,多选模式不做验证 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 缴费账单名称 + /// + [JsonProperty("charge_bill_title")] + public string ChargeBillTitle { get; set; } + + /// + /// 缴费详情:输入json格式字符串。Json定义:key填写缴费项名称,value填写缴费项金额,金额保留2位小数 + /// + [JsonProperty("charge_item")] + + public List ChargeItem { get; set; } + + /// + /// 缴费项模式:空或"N",表示缴费项不可选, "M"表示缴费项为可选 ,支持单选和多选。 + /// + [JsonProperty("charge_type")] + public string ChargeType { get; set; } + + /// + /// 孩子名字 + /// + [JsonProperty("child_name")] + public string ChildName { get; set; } + + /// + /// 孩子所在班级 + /// + [JsonProperty("class_in")] + public string ClassIn { get; set; } + + /// + /// 截止日期是否生效,与gmt_end_time发布配合使用,N为gmt_end_time不生效,用户过期后仍可以缴费;Y为gmt_end_time生效,用户过期后,不能再缴费。 + /// + [JsonProperty("end_enable")] + public string EndEnable { get; set; } + + /// + /// 缴费截止时间,格式"yyyy-MM-dd HH:mm:ss" + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 孩子所在年级 + /// + [JsonProperty("grade")] + public string Grade { get; set; } + + /// + /// ISV端的缴费账单编号 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// ISV_NO, 支付宝签约后,返回给ISV编号 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 学校编码,录入学校接口返回的参数 + /// + [JsonProperty("school_no")] + public string SchoolNo { get; set; } + + /// + /// 学校支付宝pid + /// + [JsonProperty("school_pid")] + public string SchoolPid { get; set; } + + /// + /// 学生的学号,只支持字母和数字类型,一般以教育局学号为准,作为学生的唯一标识。此字段与student_identify、家长user_mobile至少选一个 + /// + [JsonProperty("student_code")] + public string StudentCode { get; set; } + + /// + /// 学生的身份证号,如果ISV有学生身份证号,则同步身份证号作为学生唯一标识。此字段与student_code、家长user_mobile至少选一个。 大陆身份证必须是18位 , 其它地区或国家的身份证开头需要加"IC"开头区分并且不超过18位,但查询账单的时候不要带"IC" + /// + [JsonProperty("student_identify")] + public string StudentIdentify { get; set; } + + /// + /// 孩子的家长信息,最多一次输入10个家长,此字段做为识别家长的孩子用,与student_identify、student_code至少选一个 + /// + [JsonProperty("users")] + + public List Users { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtParentQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtParentQueryModel.cs new file mode 100644 index 0000000..66171b5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtParentQueryModel.cs @@ -0,0 +1,54 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtParentQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtParentQueryModel : AopObject + { + /// + /// 孩子或学生姓名 + /// + [XmlElement("child_name")] + public string ChildName { get; set; } + + /// + /// Isv的支付宝pid + /// + [XmlElement("partner_id")] + public string PartnerId { get; set; } + + /// + /// 学校编码,录入学校接口返回的school_no参数 + /// + [XmlElement("school_no")] + public string SchoolNo { get; set; } + + /// + /// 学校支付宝pid + /// + [XmlElement("school_pid")] + public string SchoolPid { get; set; } + + /// + /// 学生的学号,一个学校的学号必须是唯一。结果返回用户是否通过此学号添加此学生的缴费账户。user_mobile、student_code 、student_identify 必须并且只能填一项。 + /// + [XmlElement("student_code")] + public string StudentCode { get; set; } + + /// + /// 学生的身份证号,使用身份证规则验证。结果返回用户是否通过此身份证号添加此学生的缴费账户。user_mobile、student_code 、student_identify 必须并且只能填一项。 + /// + [XmlElement("student_identify")] + public string StudentIdentify { get; set; } + + /// + /// 用户手机号,发账单时填写users数组中的一个手机号。结果返回用户是否通过此手机号添加此学生的缴费账户。user_mobile、student_code 、student_identify 必须并且只能填一项。 + /// + [XmlElement("user_mobile")] + public string UserMobile { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtSchoolinfoModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtSchoolinfoModifyModel.cs new file mode 100644 index 0000000..7280908 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtSchoolinfoModifyModel.cs @@ -0,0 +1,145 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtSchoolinfoModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtSchoolinfoModifyModel : AopObject + { + /// + /// 与浙江网商交易见证平台有交互ISV输入网商交易异步通知回调URL,教育缴费同步账单信息给网商,网商会回调此url,ISV即可获取网商相关的参数,根据教育缴费平台账单发送接口返回的 + /// order_no和网商返回的outer_trade_no来对应账单信息。 + /// + [JsonProperty("bank_notify_url")] + public string BankNotifyUrl { get; set; } + + /// + /// 与浙江网商交易见证平台有交互的ISV,由交易见证平台分配给合作方业务平台 签约唯一ID ,由网商分配给ISV的渠道参数 + /// + [JsonProperty("bank_partner_id")] + public string BankPartnerId { get; set; } + + /// + /// 与浙江网商交易见证平台有交互的ISV在创建账户获得的member_id,由网商分配 + /// + [JsonProperty("bank_uid")] + public string BankUid { get; set; } + + /// + /// 对应集团到卡模式的银行编号.学校与支付宝后台签约时,由学校提交给支付宝的编号 + /// + [JsonProperty("bankcard_no")] + public string BankcardNo { get; set; } + + /// + /// 城市的国家编码(国家统计局出版的行政区划代码 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/) + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 城市名称 + /// + [JsonProperty("city_name")] + public string CityName { get; set; } + + /// + /// 区县的国家编码(国家统计局出版的行政区划代码 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/) + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 区县名称 + /// + [JsonProperty("district_name")] + public string DistrictName { get; set; } + + /// + /// 商家名称,每个接入教育缴费的ISV商家名称,由ISV自己提供 + /// + [JsonProperty("isv_name")] + public string IsvName { get; set; } + + /// + /// 注意:本参数从1.3版本开始已经废弃,不再需要传递。 由支付宝提供的给已经签约的isv的编码,业务上一般直接采用isv的支付宝PID。 + /// + [JsonProperty("isv_no")] + public string IsvNo { get; set; } + + /// + /// 此通知地址是为了保持教育缴费平台与ISV商户支付状态一致性。用户支付成功后,支付宝会根据本isv_notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统,ISV商户可以根据返回的参数更新账单状态。 + /// + [JsonProperty("isv_notify_url")] + public string IsvNotifyUrl { get; set; } + + /// + /// ISV联系电话,用于账单详情页面显示 + /// + [JsonProperty("isv_phone")] + public string IsvPhone { get; set; } + + /// + /// 填写已经签约教育缴费的isv的支付宝PID + /// + [JsonProperty("isv_pid")] + public string IsvPid { get; set; } + + /// + /// 省份的国家编码(国家统计局出版的行政区划代码 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/) + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 省名称 + /// + [JsonProperty("province_name")] + public string ProvinceName { get; set; } + + /// + /// 学校的校徽或logo,在学校展示页面作为学校的标识。该字段为图片的链接地址,只支持png或jpg图片格式,图片高度为108,宽度为108 ,不大于20k。 注意:此链接要求公网可以访问,否则无法正常展示。 + /// + [JsonProperty("school_icon")] + public string SchoolIcon { get; set; } + + /// + /// 如果填写了school_icon参数,则此字段不能为空。目前只支持png和jpg两种格式 + /// + [JsonProperty("school_icon_type")] + public string SchoolIconType { get; set; } + + /// + /// 学校名称 + /// + [JsonProperty("school_name")] + public string SchoolName { get; set; } + + /// + /// 学校用来签约支付宝教育缴费的支付宝PID + /// + [JsonProperty("school_pid")] + public string SchoolPid { get; set; } + + /// + /// 学校(机构)标识码(由教育部按照国家标准及编码规则编制,可以在教育局官网查询) + /// + [JsonProperty("school_stdcode")] + public string SchoolStdcode { get; set; } + + /// + /// 学校的类型: 1:代表托儿所; 2:代表幼儿园;3:代表小学;4:代表初中;5:代表高中。 如果学校兼有多种属性,可以连写,比如: 45:代表兼有初中部高中部;34:代表兼有小学部初中部 + /// + [JsonProperty("school_type")] + public string SchoolType { get; set; } + + /// + /// 与浙江网商交易见证平台有交互的ISV,由网商分配给ISV的渠道参数 + /// + [JsonProperty("white_channel_code")] + public string WhiteChannelCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtStudentModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtStudentModifyModel.cs new file mode 100644 index 0000000..c5258b3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtStudentModifyModel.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtStudentModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtStudentModifyModel : AopObject + { + /// + /// 修改后的学生姓名 本接口调用时,child_name、student_code、student_identify、users这几个参数至少需要填写其中一个,不能同时为空 + /// + [JsonProperty("child_name")] + public string ChildName { get; set; } + + /// + /// 已经签约教育缴费的isv的支付宝PID + /// + [JsonProperty("isv_pid")] + public string IsvPid { get; set; } + + /// + /// 学校编号,调用alipay.eco.edu.kt.schoolinfo.modify接口录入学校信息时,接口返回的编号 + /// + [JsonProperty("school_no")] + public string SchoolNo { get; set; } + + /// + /// 学校用来签约支付宝教育缴费的支付宝PID + /// + [JsonProperty("school_pid")] + public string SchoolPid { get; set; } + + /// + /// 区分ISV操作,“D”表示删除,“U”表示更新,区分大小写。 如果为U,则学生名字,学号,身份证至少填写一项 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 修改后的学号 本接口调用时,child_name、student_code、student_identify、users这几个参数至少需要填写其中一个,不能同时为空 + /// + [JsonProperty("student_code")] + public string StudentCode { get; set; } + + /// + /// 修改后的身份证号码 本接口调用时,child_name、student_code、student_identify、users这几个参数至少需要填写其中一个,不能同时为空 + /// + [JsonProperty("student_identify")] + public string StudentIdentify { get; set; } + + /// + /// 支付宝-中小学-教育缴费生成的学生唯一编号 + /// + [JsonProperty("student_no")] + public string StudentNo { get; set; } + + /// + /// 孩子的家长信息,最多一次输入20个家长。如果输入的家长信息不存在,则该改学生增加家长信息 + /// 本接口调用时,child_name、student_code、student_identify、users这几个参数至少需要填写其中一个,不能同时为空 + /// + [JsonProperty("users")] + + public List Users { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtStudentQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtStudentQueryModel.cs new file mode 100644 index 0000000..8c0f0b6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoEduKtStudentQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoEduKtStudentQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoEduKtStudentQueryModel : AopObject + { + /// + /// 已经签约教育缴费的isv的支付宝PID + /// + [JsonProperty("isv_pid")] + public string IsvPid { get; set; } + + /// + /// 学校编号,调用alipay.eco.edu.kt.schoolinfo.modify接口录入学校信息时,接口返回的编号 + /// + [JsonProperty("school_no")] + public string SchoolNo { get; set; } + + /// + /// 学校用来签约支付宝教育缴费的支付宝PID + /// + [JsonProperty("school_pid")] + public string SchoolPid { get; set; } + + /// + /// 通过alipay.eco.edu.kt.billing.send发送教育缴费账单时,支付宝返回这个student_no,如果支付宝系统中还没有这个学生,则会根据学生的属性,创建一个全局唯一的学生缴费账号并返回。 + /// + [JsonProperty("student_no")] + public string StudentNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressNonserviceModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressNonserviceModifyModel.cs new file mode 100644 index 0000000..a069750 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressNonserviceModifyModel.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoLogisticsExpressNonserviceModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoLogisticsExpressNonserviceModifyModel : AopObject + { + /// + /// 非服务区区域代码列表 + /// + [JsonProperty("area_codes")] + + public List AreaCodes { get; set; } + + /// + /// 物流机构编码,参照物流机构编码文档, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("logis_merch_code")] + public string LogisMerchCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressNonserviceQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressNonserviceQueryModel.cs new file mode 100644 index 0000000..7b93f43 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressNonserviceQueryModel.cs @@ -0,0 +1,23 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoLogisticsExpressNonserviceQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoLogisticsExpressNonserviceQueryModel : AopObject + { + /// + /// 物流机构编码,参照物流机构编码文档, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("logis_merch_code")] + public string LogisMerchCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressOrderModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressOrderModifyModel.cs new file mode 100644 index 0000000..bee612d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressOrderModifyModel.cs @@ -0,0 +1,167 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoLogisticsExpressOrderModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoLogisticsExpressOrderModifyModel : AopObject + { + /// + /// 接单类型,已接单状态时必填 courier_accept:快递员接单, site_accept:快递站接单 + /// + [JsonProperty("accept_type")] + public string AcceptType { get; set; } + + /// + /// 快递员支付宝帐号,快递员接单时选填 + /// + [JsonProperty("courier_alipay_account")] + public string CourierAlipayAccount { get; set; } + + /// + /// 员工号,快递员接单时必填 + /// + [JsonProperty("courier_emp_num")] + public string CourierEmpNum { get; set; } + + /// + /// 接单快递员头像文件二进制内容的BASE64编码串 头像格式为100X100的PNG图片 + /// + [JsonProperty("courier_head_img")] + public string CourierHeadImg { get; set; } + + /// + /// 身份证,快递员接单时选填 + /// + [JsonProperty("courier_id_card")] + public string CourierIdCard { get; set; } + + /// + /// 快递员手机号,快递员接单时必填 + /// + [JsonProperty("courier_mobile")] + public string CourierMobile { get; set; } + + /// + /// 快递员姓名,快递员接单时必填 + /// + [JsonProperty("courier_name")] + public string CourierName { get; set; } + + /// + /// 物品重量(克),已取件状态时必填 + /// + [JsonProperty("goods_weight")] + public long GoodsWeight { get; set; } + + /// + /// 物流机构编码,参照物流机构编码文档, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("logis_merch_code")] + public string LogisMerchCode { get; set; } + + /// + /// 订单金额(元),已取件状态时必填 + /// + [JsonProperty("order_amount")] + public string OrderAmount { get; set; } + + /// + /// 寄件平台订单号,系统唯一 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 订单状态 collected:已取件 accepted:已接单 canceled:已取消 + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// 产品类型变更原因,产品类型变更时选填。 + /// + [JsonProperty("product_type_change_reason")] + public string ProductTypeChangeReason { get; set; } + + /// + /// 产品类型编码,如果快递公司变更了产品类型,则需要将变更后的产品类型编码回传。取值如下: STANDARD:标准快递。这是寄件平台默认支持的产品分类,如有其他产品分类的支持需求,可以发送邮件至xxx@alipay.com联系。 + /// + [JsonProperty("product_type_code")] + public string ProductTypeCode { get; set; } + + /// + /// 快递公司拒绝接单原因编码,已取消状态时必填,取值如下: R01 揽收地超服务范围 R02 派送地超服务范围 R03 揽收预约时间超范围,无法协商 R04 虚假揽货电话(客户电话与联系人不符) R05 + /// 托寄物品为禁限寄品 R06 用户恶意下单 R07 用户取消订单 R08 其他原因,需自定义描述 + /// + [JsonProperty("refuse_code")] + public string RefuseCode { get; set; } + + /// + /// 快递公司拒绝接单原因描述,快递公司拒绝接单原因编码取值为R08时必填 + /// + [JsonProperty("refuse_desc")] + public string RefuseDesc { get; set; } + + /// + /// 站点所在区县编码,快递站点接单时必填。采用国家标准编码,详见国家统计局数据, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("site_area_code")] + public string SiteAreaCode { get; set; } + + /// + /// 快递站点编号,快递站点接单时必填 + /// + [JsonProperty("site_code")] + public string SiteCode { get; set; } + + /// + /// 站点投诉电话,快递站点接单时选填 + /// + [JsonProperty("site_complain_tel")] + public string SiteComplainTel { get; set; } + + /// + /// 站点所在详细地址,快递站点接单时必填 + /// + [JsonProperty("site_detail_addr")] + public string SiteDetailAddr { get; set; } + + /// + /// 站点负责人手机号,快递站点接单时必填 + /// + [JsonProperty("site_leader_mobile")] + public string SiteLeaderMobile { get; set; } + + /// + /// 站点负责人,快递站点接单时必填 + /// + [JsonProperty("site_leader_name")] + public string SiteLeaderName { get; set; } + + /// + /// 快递站点名称,快递站点接单时必填 + /// + [JsonProperty("site_name")] + public string SiteName { get; set; } + + /// + /// 运单号,已取件状态时必填 + /// + [JsonProperty("way_bill_no")] + public string WayBillNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressOrderQueryModel.cs new file mode 100644 index 0000000..1a8a8df --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressOrderQueryModel.cs @@ -0,0 +1,29 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoLogisticsExpressOrderQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoLogisticsExpressOrderQueryModel : AopObject + { + /// + /// 物流机构编码,参照物流机构编码文档, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("logis_merch_code")] + public string LogisMerchCode { get; set; } + + /// + /// 寄件平台订单号,系统唯一 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressPriceModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressPriceModifyModel.cs new file mode 100644 index 0000000..7cd4eb5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressPriceModifyModel.cs @@ -0,0 +1,81 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoLogisticsExpressPriceModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoLogisticsExpressPriceModifyModel : AopObject + { + /// + /// 查询区域类型 AREA_PRVN:省代码; AREA_CITY:市代码; + /// + [JsonProperty("area_type")] + public string AreaType { get; set; } + + /// + /// 续重价格(单位:元) + /// + [JsonProperty("extra_weight_price")] + public string ExtraWeightPrice { get; set; } + + /// + /// 续重单位(单位:克) + /// + [JsonProperty("extra_weight_unit")] + public long ExtraWeightUnit { get; set; } + + /// + /// 发货区域代码 区域类型为省代码时为省代码; 区域类型为市代码时为市代码; 省市区代码采用国家标准编码,详见国家统计局数据, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("from_code")] + public string FromCode { get; set; } + + /// + /// 物流机构编码,参照物流机构编码文档, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("logis_merch_code")] + public string LogisMerchCode { get; set; } + + /// + /// 首重重量(单位:克) + /// + [JsonProperty("preset_weight")] + public long PresetWeight { get; set; } + + /// + /// 首重价格(单位:元) + /// + [JsonProperty("preset_weight_price")] + public string PresetWeightPrice { get; set; } + + /// + /// 产品类型编码,取值如下: STANDARD:标准快递。这是寄件平台默认支持的产品分类,如有其他产品分类的支持需求,可以发送邮件至xxx@alipay.com联系。 + /// + [JsonProperty("product_type_code")] + public string ProductTypeCode { get; set; } + + /// + /// 收货区域代码 区域类型为省代码时为省代码; 区域类型为市代码时为市代码; 省市区代码采用国家标准编码,详见国家统计局数据, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("to_code")] + public string ToCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressPriceQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressPriceQueryModel.cs new file mode 100644 index 0000000..6334e58 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoLogisticsExpressPriceQueryModel.cs @@ -0,0 +1,57 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoLogisticsExpressPriceQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoLogisticsExpressPriceQueryModel : AopObject + { + /// + /// 查询区域类型 AREA_PRVN:省代码; AREA_CITY:市代码; + /// + [JsonProperty("area_type")] + public string AreaType { get; set; } + + /// + /// 发货区域代码 区域类型为省代码时为省代码; 区域类型为市代码时为市代码; 省市区代码采用国家标准编码,详见国家统计局数据, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("from_code")] + public string FromCode { get; set; } + + /// + /// 物流机构编码,参照物流机构编码文档, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("logis_merch_code")] + public string LogisMerchCode { get; set; } + + /// + /// 产品类型编码,取值如下: STANDARD:标准快递。这是寄件平台默认支持的产品分类,如有其他产品分类的支持需求,可以发送邮件至xxx@alipay.com联系。 + /// + [JsonProperty("product_type_code")] + public string ProductTypeCode { get; set; } + + /// + /// 收货区域代码 区域类型为省代码时为省代码; 区域类型为市代码时为市代码; 省市区代码采用国家标准编码,详见国家统计局数据, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("to_code")] + public string ToCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareCommonDataSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareCommonDataSyncModel.cs new file mode 100644 index 0000000..91564e2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareCommonDataSyncModel.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMedicalcareCommonDataSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoMedicalcareCommonDataSyncModel : AopObject + { + /// + /// 为了区分相同ISV不同应用的编码,数据来源是类目平台 当data_type为CALLBACK时必填 + /// + [JsonProperty("app_code")] + public string AppCode { get; set; } + + /// + /// 业务主体,data_body根据不同的模板ID传入对应的JSON格式 注意:业务data_body与模板teaplate_id对应,具体实例: + /// http://medicalcare.oss-cn-hangzhou.aliyuncs.com/prod/data/transfer/[template_id].html + /// + [JsonProperty("data_body")] + public string DataBody { get; set; } + + /// + /// 业务数据类型 APP 应用类Card REMIND 提醒类Card CALLBACK 数据回流 + /// + [JsonProperty("data_type")] + public string DataType { get; set; } + + /// + /// 医疗服务平台提供数据模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 支付宝用户ID,可以通过获取会员信息产品 获取支付宝用户ID 当data_type为CALLBACK时必填 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareCommonTpcardNotifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareCommonTpcardNotifyModel.cs new file mode 100644 index 0000000..6f29170 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareCommonTpcardNotifyModel.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMedicalcareCommonTpcardNotifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMedicalcareCommonTpcardNotifyModel : AopObject + { + /// + /// 模板样式信息中的底部动作 + /// + [JsonProperty("action_info")] + + public List ActionInfo { get; set; } + + /// + /// 模板样式信息中的内容信息 + /// + [JsonProperty("body_info")] + + public List BodyInfo { get; set; } + + /// + /// 业务扩展参数json格式 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 模板样式信息中的头部信息 + /// + [JsonProperty("header_info")] + public MedicalSvTpCardHeadInfo HeaderInfo { get; set; } + + /// + /// 通知时间 注意:通知时间确定card即时显示还是预定未来某个时间显示 通知时间不能早于当前时间 + /// + [JsonProperty("notify_time")] + public string NotifyTime { get; set; } + + /// + /// 操作类型: CREATE_UPDATE表示创建并更新通知信息; DELETE表示删除通知信息 + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 通知业务模板样式编码,根据业务增加会增加模板类型 sv_remind_reg 预约挂号 sv_remind_clinic 诊间缴费 sv_remind_answer 问诊首次答复 sv_remind_report 报告已出 + /// sv_remind_vaccine 疫苗接种 sv_app_doctors_say 名医说 + /// + [JsonProperty("template_code")] + public string TemplateCode { get; set; } + + /// + /// 第三方唯一序列号,创建后不能修改,需要保证在商户端不重复。 + /// + [JsonProperty("third_no")] + public string ThirdNo { get; set; } + + /// + /// 支付宝用户ID,可以通过 获取会员信息产品 获取支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareHosRegnotifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareHosRegnotifyModel.cs new file mode 100644 index 0000000..e27a644 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareHosRegnotifyModel.cs @@ -0,0 +1,129 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMedicalcareHosRegnotifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMedicalcareHosRegnotifyModel : AopObject + { + /// + /// 业务类型: 挂号成功:REG_SUCCESS 挂号取销:REG_CANCEL + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 撤销说明 + /// + [JsonProperty("cancel_desc")] + public string CancelDesc { get; set; } + + /// + /// 取消原因 备注:业务类型是 REG_CANCEL,不可空 + /// + [JsonProperty("cancel_reason")] + public string CancelReason { get; set; } + + /// + /// 科室信息 + /// + [JsonProperty("dept_info")] + public MedicalHospitalDeptInfo DeptInfo { get; set; } + + /// + /// 医生信息 + /// + [JsonProperty("doctor_info")] + public MedicalHospitalDoctorInfo DoctorInfo { get; set; } + + /// + /// 业务扩展参数json格式 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 医院信息 + /// + [JsonProperty("hos_info")] + public MedicalHospitalInfo HosInfo { get; set; } + + /// + /// 排队号 + /// + [JsonProperty("line_no")] + public long LineNo { get; set; } + + /// + /// 通知日期,如果不传通知时间,逻辑由支付宝内部消化判断 格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("notify_time")] + public string NotifyTime { get; set; } + + /// + /// 操作类型: 明确定义数据是创建还是更新 创建并更新CREATE_UPDATE 删除DELETE + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 订单详情链接 链接开头为https或http + /// + [JsonProperty("order_link")] + public string OrderLink { get; set; } + + /// + /// 患者证件号码 获取方式通过支付宝钱包用户信息共享接口中获取证件号或者手工输入证件号 + /// + [JsonProperty("patient_card_no")] + public string PatientCardNo { get; set; } + + /// + /// 证件类型 01 身份证 02 护照 03 军官证 04 士兵证 05 户口本 06 警官证 07 台湾居民来往大陆通行证(简称“台胞证”) 08 港澳居民来往内地通行证(简称“回乡证”) 09 临时身份证 10 + /// 港澳通行证 11 营业执照 12 外国人居留证 13 香港身份证 14 武警证 15 组织机构代码证 16 行政机关 17 社会团体 18 军队 19 武警 20 下属机构(具有主管单位批文号) 21 基金会 + /// 99 其它 + /// + [JsonProperty("patient_card_type")] + public string PatientCardType { get; set; } + + /// + /// 患者姓名 + /// + [JsonProperty("patient_name")] + public string PatientName { get; set; } + + /// + /// 重新预约医生链接 链接开头为https或http 备注:如biz_type的值为REG_CANCEL则不可空 + /// + [JsonProperty("reg_link")] + public string RegLink { get; set; } + + /// + /// 第三方唯一序列号(可以是订单号确保唯一) + /// + [JsonProperty("third_no")] + public string ThirdNo { get; set; } + + /// + /// 就诊日期 格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("treat_date")] + public string TreatDate { get; set; } + + /// + /// 就诊显示日期json格式: 类型: 时间区间类型:range 中文显示类型:cn 备注: 1.range类型HH:mm-HH:mm 中间中横线隔开 {"range":"09:00-10:00"} 2.cn类型 上午 + /// 1 下午 2 晚上 3 {"cn":"1"} + /// + [JsonProperty("treat_date_ext")] + public string TreatDateExt { get; set; } + + /// + /// 支付宝用户Id,可以通过支付宝钱包用户信息共享接口获取支付宝账户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareHosReportnotifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareHosReportnotifyModel.cs new file mode 100644 index 0000000..d6e8524 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMedicalcareHosReportnotifyModel.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMedicalcareHosReportnotifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMedicalcareHosReportnotifyModel : AopObject + { + /// + /// 科室信息 + /// + [JsonProperty("dept_info")] + public MedicalHospitalDeptInfo DeptInfo { get; set; } + + /// + /// 医生信息 + /// + [JsonProperty("doctor_info")] + public MedicalHospitalDoctorInfo DoctorInfo { get; set; } + + /// + /// 业务扩展参数json格式 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 医院信息 + /// + [JsonProperty("hos_info")] + public MedicalHospitalInfo HosInfo { get; set; } + + /// + /// 通知时间 + /// + [JsonProperty("notify_time")] + public string NotifyTime { get; set; } + + /// + /// 操作类型 明确定义数据是创建还是更新 创建并更新CREATE_UPDATE 删除DELETE + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 患者证件号码 获取方式通过支付宝钱包用户信息共享接口中获取证件号或者手工输入证件号 + /// + [JsonProperty("patient_card_no")] + public string PatientCardNo { get; set; } + + /// + /// 证件类型 01 身份证 02 护照 03 军官证 04 士兵证 05 户口本 06 警官证 07 台湾居民来往大陆通行证(简称“台胞证”) 08 港澳居民来往内地通行证(简称“回乡证”) 09 临时身份证 10 + /// 港澳通行证 11 营业执照 12 外国人居留证 13 香港身份证 14 武警证 15 组织机构代码证 16 行政机关 17 社会团体 18 军队 19 武警 20 下属机构(具有主管单位批文号) 21 基金会 + /// 99 其它 + /// + [JsonProperty("patient_card_type")] + public string PatientCardType { get; set; } + + /// + /// 患者姓名 + /// + [JsonProperty("patient_name")] + public string PatientName { get; set; } + + /// + /// 挂号订单号,商户生成 + /// + [JsonProperty("reg_out_trade_no")] + public string RegOutTradeNo { get; set; } + + /// + /// 报告明细 + /// + [JsonProperty("report_list")] + + public List ReportList { get; set; } + + /// + /// 第三方唯一序列号(可以是订单号确保唯一) + /// + [JsonProperty("third_no")] + public string ThirdNo { get; set; } + + /// + /// 诊疗订单号,商户生成 + /// + [JsonProperty("treat_out_trade_no")] + public string TreatOutTradeNo { get; set; } + + /// + /// 支付宝用户Id,可以通过支付宝钱包用户信息共享接口获取支付宝账户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarlibInfoPushModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarlibInfoPushModel.cs new file mode 100644 index 0000000..d0e4ee1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarlibInfoPushModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarCarlibInfoPushModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarCarlibInfoPushModel : AopObject + { + /// + /// 品牌 + /// + [JsonProperty("brand")] + public string Brand { get; set; } + + /// + /// 排量 + /// + [JsonProperty("cc")] + public string Cc { get; set; } + + /// + /// 厂商 + /// + [JsonProperty("company")] + public string Company { get; set; } + + /// + /// 发动机型号 + /// + [JsonProperty("engine")] + public string Engine { get; set; } + + /// + /// 销售名字 + /// + [JsonProperty("marker")] + public string Marker { get; set; } + + /// + /// 生产年份 + /// + [JsonProperty("prod_year")] + public string ProdYear { get; set; } + + /// + /// 车系 + /// + [JsonProperty("serie")] + public string Serie { get; set; } + + /// + /// 车款 + /// + [JsonProperty("style")] + public string Style { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelBatchqueryModel.cs new file mode 100644 index 0000000..72c21a5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelBatchqueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarCarmodelBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarCarmodelBatchqueryModel : AopObject + { + /// + /// 支付宝车型库品牌编号(系统唯一) + /// + [JsonProperty("brand_id")] + public string BrandId { get; set; } + + /// + /// 支付宝车型库厂商编号(系统唯一) + /// + [JsonProperty("company_id")] + public string CompanyId { get; set; } + + /// + /// 查询类型,接口通过此参数判断本次请求是查询品牌信息还是车型信息等,brands(查询品牌),series(查询车系),company(厂商),models(查询车型),当该字段值为brands时,则其他参数不需要填值,当该字段为series时,则字段brand_id为必填,当该字段为company时,则字段brand_id为必填,当该字段为models时,则字段serie_id或者company_id不能同时为空, + /// + [JsonProperty("query_type")] + public string QueryType { get; set; } + + /// + /// 支付宝车型库车系编号(系统唯一) + /// + [JsonProperty("serie_id")] + public string SerieId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelCreateModel.cs new file mode 100644 index 0000000..6b01891 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelCreateModel.cs @@ -0,0 +1,111 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarCarmodelCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarCarmodelCreateModel : AopObject + { + /// + /// 新增车型数据类型,接口通过此参数判断本次请求是增加品牌信息还是车型信息等,brand(品牌),company(厂商),serie(车系),model(车型) + /// + [JsonProperty("add_type")] + public string AddType { get; set; } + + /// + /// 支付宝车型库品牌背景图片,尺寸750 x 448(add_type参数的值为brand时此参数必填)背景图片url可以通过【通用图片上传接口】alipay.eco.mycar.image.upload 上传完成获取, + /// 图片url需要进行URLencode进行转码 + /// + [JsonProperty("background_url")] + public string BackgroundUrl { get; set; } + + /// + /// 支付宝车型库品牌编号,品牌编号可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(add_type参数的值为brand时此参数可为空)系统唯一 + /// + [JsonProperty("brand_id")] + public string BrandId { get; set; } + + /// + /// 支付宝车型库品牌图片,尺寸220 x 147 (add_type参数的值为brand时此参数必填)品牌图片url可以通过【通用图片上传接口】alipay.eco.mycar.image.upload 上传完成后获取, + /// 图片url需要进行URLencode进行转码 + /// + [JsonProperty("brand_logo")] + public string BrandLogo { get; set; } + + /// + /// 支付宝车型库品牌名称(add_type参数的值为brand时此参数必填)开发者自行配置,保证系统唯一 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 支付宝车型库排量(add_type参数的值为model时此参数必填) + /// + [JsonProperty("cc")] + public string Cc { get; set; } + + /// + /// 支付宝车型库厂商编号,厂商编号可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(add_type参数的值为company时此参数可为空)系统唯一 + /// + [JsonProperty("company_id")] + public string CompanyId { get; set; } + + /// + /// 支付宝车型库厂商名称(add_type参数的值为company时此参数必填) + /// + [JsonProperty("company_name")] + public string CompanyName { get; set; } + + /// + /// 支付宝车型库发动机型号(add_type参数的值为model时此参数必填) + /// + [JsonProperty("engine")] + public string Engine { get; set; } + + /// + /// 支付宝车型库车型名称(add_type参数的值为model时此参数必填) + /// + [JsonProperty("model_name")] + public string ModelName { get; set; } + + /// + /// 支付宝车型库生产年份(add_type参数的值为model时此参数必填) + /// + [JsonProperty("prod_year")] + public string ProdYear { get; set; } + + /// + /// 支付宝车型库车系组名称(add_type":"serie状态时必填) + /// + [JsonProperty("serie_group")] + public string SerieGroup { get; set; } + + /// + /// 支付宝车型库车系编号,车系编号可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(add_type参数的值为serie时此参数可为空)系统唯一 + /// + [JsonProperty("serie_id")] + public string SerieId { get; set; } + + /// + /// 支付宝车型库车系名称(add_type参数的值为serie时此参数必填) + /// + [JsonProperty("serie_name")] + public string SerieName { get; set; } + + /// + /// 支付宝车型库车系logo图片链接地址,尺寸220 x 147 (add_type参数的值为serie时此参数必填) 图片url可以通过【通用图片上传接口】alipay.eco.mycar.image.upload上传完成后获取, + /// 图片url需要进行URLencode进行转码 + /// + [JsonProperty("serie_photo")] + public string SeriePhoto { get; set; } + + /// + /// 支付宝车型库年款(add_type参数的值为model时此参数必填) + /// + [JsonProperty("style")] + public string Style { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelModifyModel.cs new file mode 100644 index 0000000..7d7f498 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelModifyModel.cs @@ -0,0 +1,117 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarCarmodelModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarCarmodelModifyModel : AopObject + { + /// + /// 支付宝车型库品牌背景图片,尺寸750 x 448(modify_type参数的值为brand时此参数必填)图片url可以通过【通用图片上传接口】alipay.eco.mycar.image.upload 上传完成后获取, + /// 图片url需要进行URLencode进行转码 + /// + [JsonProperty("background_url")] + public string BackgroundUrl { get; set; } + + /// + /// 支付宝车型库品牌编号(系统唯一),品牌编号可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(modify_type参数的值为brand时此参数必填) + /// + [JsonProperty("brand_id")] + public string BrandId { get; set; } + + /// + /// 支付宝车型库品牌图片,尺寸220 x 147 (modify_type参数的值为brand时此参数必填)品牌图片url可以通过【通用图片上传接口】alipay.eco.mycar.image.upload上传完成后获取, + /// 图片url需要进行URLencode进行转码 + /// + [JsonProperty("brand_logo")] + public string BrandLogo { get; set; } + + /// + /// 支付宝车型库品牌名称(add_type参数的值为brand时此参数必填)开发者自行配置,保证系统唯一 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 支付宝车型库排量(modify_type参数的值为model时此参数必填) + /// + [JsonProperty("cc")] + public string Cc { get; set; } + + /// + /// 支付宝车型库厂商编号(系统唯一),厂商编号可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(modify_type参数的值为company时此参数必填) + /// + [JsonProperty("company_id")] + public string CompanyId { get; set; } + + /// + /// 支付宝车型库厂商名称(modify_type参数的值为company时此参数必填) + /// + [JsonProperty("company_name")] + public string CompanyName { get; set; } + + /// + /// 支付宝车型库发动机型号(modify_type参数的值为model时此参数必填) + /// + [JsonProperty("engine")] + public string Engine { get; set; } + + /// + /// 支付宝车型库车型编号(系统唯一),可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(modify_type参数的值为model时此参数必填) + /// + [JsonProperty("model_id")] + public string ModelId { get; set; } + + /// + /// 支付宝车型库车型名称(modify_type参数的值为model时此参数必填) + /// + [JsonProperty("model_name")] + public string ModelName { get; set; } + + /// + /// 修改类型,接口通过此参数判断本次请求是修改品牌信息还是车型信息等,brand(品牌),company(厂商),serie(车系),model(车型) + /// + [JsonProperty("modify_type")] + public string ModifyType { get; set; } + + /// + /// 支付宝车型库生产年份(modify_type参数的值为model时此参数必填) + /// + [JsonProperty("prod_year")] + public string ProdYear { get; set; } + + /// + /// 支付宝车型库车系组名称(add_type":"serie状态时必填) + /// + [JsonProperty("serie_group")] + public string SerieGroup { get; set; } + + /// + /// 支付宝车型库车系编号(系统唯一),车系编号可以通过调用【批量查询车型信息接口】alipay.eco.mycar.carmodel.batchquery 获取。(modify_type参数的值为serie时此参数必填) + /// + [JsonProperty("serie_id")] + public string SerieId { get; set; } + + /// + /// 支付宝车型库车系名称(modify_type参数的值为serie时此参数必填) + /// + [JsonProperty("serie_name")] + public string SerieName { get; set; } + + /// + /// 支付宝车型库车系logo图片链接地址,尺寸220 x 147 (modify_type参数的值为serie时此参数必填)图片url可以通过【通用图片上传接口】alipay.eco.mycar.image.upload + /// 上传完成后获取,图片url需要进行URLencode进行转码 + /// + [JsonProperty("serie_photo")] + public string SeriePhoto { get; set; } + + /// + /// 支付宝车型库年款(modify_type参数的值为model时此参数必填) + /// + [JsonProperty("style")] + public string Style { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelQueryModel.cs new file mode 100644 index 0000000..6172bb2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarCarmodelQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarCarmodelQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarCarmodelQueryModel : AopObject + { + /// + /// 支付宝车型库车型编号,系统唯一。 + /// + [JsonProperty("model_id")] + public string ModelId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataExternalQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataExternalQueryModel.cs new file mode 100644 index 0000000..a2f5091 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataExternalQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDataExternalQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDataExternalQueryModel : AopObject + { + /// + /// external_system_name + /// + [JsonProperty("external_system_name")] + public string ExternalSystemName { get; set; } + + /// + /// is_transfer_uid + /// + [JsonProperty("is_transfer_uid")] + public bool IsTransferUid { get; set; } + + /// + /// operate_type + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// query_condition + /// + [JsonProperty("query_condition")] + public string QueryCondition { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataExternalSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataExternalSendModel.cs new file mode 100644 index 0000000..c9d6380 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataExternalSendModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDataExternalSendModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDataExternalSendModel : AopObject + { + /// + /// external_system_name + /// + [JsonProperty("external_system_name")] + public string ExternalSystemName { get; set; } + + /// + /// is_transfer_uid + /// + [JsonProperty("is_transfer_uid")] + public string IsTransferUid { get; set; } + + /// + /// operate_type + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// send_data + /// + [JsonProperty("send_data")] + public string SendData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataserviceMaintainvehicleShareModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataserviceMaintainvehicleShareModel.cs new file mode 100644 index 0000000..7cffe31 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataserviceMaintainvehicleShareModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDataserviceMaintainvehicleShareModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDataserviceMaintainvehicleShareModel : AopObject + { + /// + /// 车辆ID + /// + [JsonProperty("vid")] + public string Vid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataserviceViolationinfoShareModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataserviceViolationinfoShareModel.cs new file mode 100644 index 0000000..110ac91 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDataserviceViolationinfoShareModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDataserviceViolationinfoShareModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDataserviceViolationinfoShareModel : AopObject + { + /// + /// 支付宝app_id + /// + [JsonProperty("app_id")] + public string AppId { get; set; } + + /// + /// 车辆id + /// + [JsonProperty("vehicle_id")] + public string VehicleId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineAnswerPushModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineAnswerPushModel.cs new file mode 100644 index 0000000..0884233 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineAnswerPushModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDialogonlineAnswerPushModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDialogonlineAnswerPushModel : AopObject + { + /// + /// 回复内容 + /// + [JsonProperty("answer_content")] + public string AnswerContent { get; set; } + + /// + /// 技师ID + /// + [JsonProperty("answer_id")] + public string AnswerId { get; set; } + + /// + /// 技师头像 + /// + [JsonProperty("answer_logo")] + public string AnswerLogo { get; set; } + + /// + /// 技师昵称 + /// + [JsonProperty("answer_name")] + public string AnswerName { get; set; } + + /// + /// 回复图片 + /// + [JsonProperty("answer_pic")] + public string AnswerPic { get; set; } + + /// + /// 回复时间 + /// + [JsonProperty("answer_time")] + public string AnswerTime { get; set; } + + /// + /// 1:问题回复, 2:对话回复 + /// + [JsonProperty("answer_type")] + public string AnswerType { get; set; } + + /// + /// 内容类型,1:文本, 2:图片 + /// + [JsonProperty("content_type")] + public string ContentType { get; set; } + + /// + /// 问题ID + /// + [JsonProperty("question_id")] + public string QuestionId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineAnswererUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineAnswererUpdateModel.cs new file mode 100644 index 0000000..6c1de1b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineAnswererUpdateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDialogonlineAnswererUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDialogonlineAnswererUpdateModel : AopObject + { + /// + /// 技师ID + /// + [JsonProperty("answer_id")] + public string AnswerId { get; set; } + + /// + /// 技师状态,0:可用,1:停用 + /// + [JsonProperty("answer_status")] + public string AnswerStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineVehicleQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineVehicleQueryModel.cs new file mode 100644 index 0000000..a49040f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarDialogonlineVehicleQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarDialogonlineVehicleQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarDialogonlineVehicleQueryModel : AopObject + { + /// + /// 车辆ID + /// + [JsonProperty("vi_id")] + public string ViId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingProductModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingProductModifyModel.cs new file mode 100644 index 0000000..d47523a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingProductModifyModel.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarFuellingProductModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarFuellingProductModifyModel : AopObject + { + /// + /// 外部门店编号系统唯一,该值添加后不可修改,与字段shop_id不能同时为空 + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 商品信息集合,JSON格式,注意,该参数将覆盖原有已经设置的数据,即如想除去某一商品,去除后重新设置该字段值。 + /// + [JsonProperty("product")] + + public List Product { get; set; } + + /// + /// 促销信息集合,JSON格式 + /// + [JsonProperty("sale")] + + public List Sale { get; set; } + + /// + /// 车主平台内部门店编号,系统唯一,与字段out_shop_id不能同时为空 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopCreateModel.cs new file mode 100644 index 0000000..c35c156 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopCreateModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarFuellingShopCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarFuellingShopCreateModel : AopObject + { + /// + /// 门店地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 国标6位城市编号 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 国标6位区编号 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 纬度,高德坐标系,最好找到高德POI标识,取得标识的维度填入 + /// + [JsonProperty("lat")] + public string Lat { get; set; } + + /// + /// 经度,高德坐标系,最好找到高德POI标识,取得标识的经度填入 + /// + [JsonProperty("lon")] + public string Lon { get; set; } + + /// + /// 外部门店编号,系统唯一,该值添加后不可修改 + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// ISV提供的门店支付链接地址,如果支付链接地址为空,默认使用用户的当面付链接地址。注意:链接地址必须使用https://或alipays://协议。需进行encode转码 + /// + [JsonProperty("pay_url")] + public string PayUrl { get; set; } + + /// + /// 高德POI信息唯一ID,可通过http://lbs.amap.com/api/webservice/guide/api/search/进行查找,查询的TYPE为010100|010101|010102|010103|010104|010105|010107|010108|010109|010110|010111|010112 + /// + [JsonProperty("poi_id")] + public string PoiId { get; set; } + + /// + /// 国标6位省份编号 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 门店名称 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 门店状态,0:有效;1:停用; + /// + [JsonProperty("shop_status")] + public string ShopStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopModifyModel.cs new file mode 100644 index 0000000..f7b4986 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopModifyModel.cs @@ -0,0 +1,85 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarFuellingShopModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarFuellingShopModifyModel : AopObject + { + /// + /// 门店地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 国标6位城市编号 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 国标6位区编号 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 纬度,高德坐标系,最好找到高德POI标识,取得标识的维度填入 + /// + [JsonProperty("lat")] + public string Lat { get; set; } + + /// + /// 经度,高德坐标系,最好找到高德POI标识,取得标识的经度填入 + /// + [JsonProperty("lon")] + public string Lon { get; set; } + + /// + /// 外部门店编号系统唯一,该值添加后不可修改,与字段shop_id不能同时为空 + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// ISV提供的门店支付链接地址,如果支付链接地址为空,默认使用用户的当面付链接地址。注意:链接地址必须使用https://或alipays://协议。,需进行encode转码 + /// + [JsonProperty("pay_url")] + public string PayUrl { get; set; } + + /// + /// 高德POI信息唯一ID,可通过http://lbs.amap.com/api/webservice/guide/api/search/ + /// 进行查找,查询的TYPE为010100|010101|010102|010103|010104|010105|010107|010108|010109|010110|010111|010112 + /// + [JsonProperty("poi_id")] + public string PoiId { get; set; } + + /// + /// 国标6位省份编号 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 车主平台内部门店编号,系统唯一,与字段out_shop_id不能同 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 门店名称 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 门店状态,0:有效;1:停用; + /// + [JsonProperty("shop_status")] + public string ShopStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopQueryModel.cs new file mode 100644 index 0000000..e4a351a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarFuellingShopQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarFuellingShopQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarFuellingShopQueryModel : AopObject + { + /// + /// 外部门店编号系统唯一,该值添加后不可修改,与字段shop_id不能同时为空 + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 车主平台内部门店编号,系统唯一,与字段out_shop_id不能同时为空 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarImageUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarImageUploadModel.cs new file mode 100644 index 0000000..1e8798f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarImageUploadModel.cs @@ -0,0 +1,31 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarImageUploadModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarImageUploadModel : AopObject + { + /// + /// 文件内容(图片字节数组做Base64转换后的字符串) + /// + [JsonProperty("img_content")] + public string ImgContent { get; set; } + + /// + /// 图片格式,枚举:png、jpg、gif + /// + [JsonProperty("img_type")] + public string ImgType { get; set; } + + /// + /// 场景类型 枚举: 洗车保养小图 :MAINTAIN_PIC_S 洗车保养大图 : MAINTAIN_PIC_L 车型 : CAR_TYPE 加油 : OIL 默认: DEFAULT(scene_type + /// 为空时为默认) 根据类型场景校验大小(BASE64之前的大小),超过返回错误。 洗车保养小图最大60K 洗车保养大图最大100K 车型最大1M 加油最大1M 默认 100K + /// + [JsonProperty("scene_type")] + public string SceneType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainAftersaleSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainAftersaleSyncModel.cs new file mode 100644 index 0000000..2db833e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainAftersaleSyncModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainAftersaleSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainAftersaleSyncModel : AopObject + { + /// + /// 车主平台售后编号 + /// + [JsonProperty("aftersale_no")] + public string AftersaleNo { get; set; } + + /// + /// 客服拒绝退款原因描述 + /// + [JsonProperty("refuse_reason")] + public string RefuseReason { get; set; } + + /// + /// 1:受理 2:拒绝 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderCreateModel.cs new file mode 100644 index 0000000..6b14ca9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderCreateModel.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainBizorderCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainBizorderCreateModel : AopObject + { + /// + /// 预约确认时间yyyy-MM-dd HH:mm:ss。门店确认预约时间。门店确认后,预约流程生效,用户可到店服务。 + /// + [JsonProperty("appoint_affirm_time")] + public string AppointAffirmTime { get; set; } + + /// + /// 预约结束时间yyyy-MM-dd HH:mm:ss。用户选择的预约结束时间,用于判断用户是否在预约时间到店服务。 + /// + [JsonProperty("appoint_end_time")] + public string AppointEndTime { get; set; } + + /// + /// 预约开始时间yyyy-MM-dd HH:mm:ss,用户选择的预约开始时间,用于判断用户是否在预约时间到店服务。 + /// + [JsonProperty("appoint_start_time")] + public string AppointStartTime { get; set; } + + /// + /// 预约状态(0-待确认预约 1-确认预约)。有预约流程的订单,门店确认前为待确认预约,门店确认后为 确认预约。 + /// + [JsonProperty("appoint_status")] + public long AppointStatus { get; set; } + + /// + /// 到店时间yyyy-MM-dd HH:mm:ss。 用户到店时间,用于判断用户是否在预约时间到店服务。 + /// + [JsonProperty("arrive_time")] + public string ArriveTime { get; set; } + + /// + /// ISV订单状态文案。由ISV上传自己订单的状态,用于订单数据的匹配和对账。 + /// + [JsonProperty("biz_status_txt")] + public string BizStatusTxt { get; set; } + + /// + /// 订单类型,1:洗车,2:保养,4:4s店 + /// + [JsonProperty("biz_type")] + public long BizType { get; set; } + + /// + /// 车主平台我的爱车ID。可通过接口查询爱车详情。 请查看alipay.eco.mycar.dataservice.maintainvehicle.share接口。 + /// + [JsonProperty("car_id")] + public string CarId { get; set; } + + /// + /// 服务项列表 + /// + [JsonProperty("order_server_list")] + + public List OrderServerList { get; set; } + + /// + /// 车主平台业务订单状态 1-未支付; 4-已关闭; 6-支付完成; 7-已出库; 8-已收货; 11-服务开始; 55-服务完成/已核销; 56-订单完成; + /// + [JsonProperty("order_status")] + public long OrderStatus { get; set; } + + /// + /// 原始金额,服务原价累计后金额。金额单位(元),保留两位小数。 原始金额 = 服务原始价格 * 数量 + 商品售卖价格 * 数量 + /// + [JsonProperty("original_cost")] + public string OriginalCost { get; set; } + + /// + /// ISV业务订单号,ISV上传订单场景,由业务方保证唯一 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 外部门店编号,订单创建时对应的门店的外部编号,要保证编码在车主平台已经创建对应的门店数据,即有与之唯一匹配的车主平台shop_id + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 支付时间yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("pay_time")] + public string PayTime { get; set; } + + /// + /// 交易金额。下单时实际支付金额。金额单位(元),保留两位小数。 交易金额 = 服务售卖价格 * 数量 + 商品售卖价格 * 数量 + /// + [JsonProperty("real_cost")] + public string RealCost { get; set; } + + /// + /// 车主平台门店编号 + /// + [JsonProperty("shop_id")] + public long ShopId { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderQueryModel.cs new file mode 100644 index 0000000..01beb75 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainBizorderQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainBizorderQueryModel : AopObject + { + /// + /// 车主平台生成的订单号。 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderUpdateModel.cs new file mode 100644 index 0000000..256f4f4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderUpdateModel.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainBizorderUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainBizorderUpdateModel : AopObject + { + /// + /// 预约确认时间yyyy-MM-dd HH:mm:ss。门店确认预约时间。门店确认后,预约流程生效,用户可到店服务。 + /// + [JsonProperty("appoint_affirm_time")] + public string AppointAffirmTime { get; set; } + + /// + /// 预约结束时间yyyy-MM-dd HH:mm:ss。用户选择的预约结束时间,用于判断用户是否在预约时间到店服务。 + /// + [JsonProperty("appoint_end_time")] + public string AppointEndTime { get; set; } + + /// + /// 预约开始时间yyyy-MM-dd HH:mm:ss,用户选择的预约开始时间,用于判断用户是否在预约时间到店服务。 + /// + [JsonProperty("appoint_start_time")] + public string AppointStartTime { get; set; } + + /// + /// 预约状态(0-待确认预约 1-确认预约)。有预约流程的订单,门店确认前为待确认预约,门店确认后为 确认预约。 + /// + [JsonProperty("appoint_status")] + public long AppointStatus { get; set; } + + /// + /// 到店时间yyyy-MM-dd HH:mm:ss。 用户到店时间,用于判断用户是否在预约时间到店服务。 + /// + [JsonProperty("arrive_time")] + public string ArriveTime { get; set; } + + /// + /// 车主平台订单编号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 服务项列表 + /// + [JsonProperty("order_server_list")] + + public List OrderServerList { get; set; } + + /// + /// 原始金额。服务原价累计后金额。服务项变更时,重新计算交易金额。金额单位(元),保留两位小数。原始金额 = 服务原始价格 * 数量 + 商品售卖价格 * 数量 + /// + [JsonProperty("original_cost")] + public string OriginalCost { get; set; } + + /// + /// 外部门店编号;更换门店下单是门店编号,适用于门店重新指派场景。 + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 交易金额。服务项变更时,重新计算交易金额。金额单位(元),保留两位小数。交易金额 = 服务售卖价格 * 数量 + 商品售卖价格 * 数量 + /// + [JsonProperty("real_cost")] + public string RealCost { get; set; } + + /// + /// 修改场景类型: appoint_change: 变更预约时间, appoint_affirm : 预约确认 shop_arrive :到店 service_change : 服务项修改 shop_change : + /// 门店重新指派 变更预约时间(appoint_change) 涉及字段:appoint_start_time、 appoint_end_time 条件:订单未支付、已支付,未确定预约。 + /// 确认预约(appoint_affirm) 涉及字段:appoint_status、appoint_affirm_time 条件:订单已支付、未到店 确认到店(shop_arrive) 涉及字段:arrive_time + /// 条件:订单已确定预约、服务未完成 服务项变更(service_change) 涉及字段:order_server_list、real_cost、original_cost 条件:开始保养,服务未完成 + /// 门店重新指派(shop_change) 涉及字段:out_shop_id 条件:服务未完成 + /// + [JsonProperty("scene_type")] + public string SceneType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderstatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderstatusUpdateModel.cs new file mode 100644 index 0000000..02a38e6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainBizorderstatusUpdateModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainBizorderstatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainBizorderstatusUpdateModel : AopObject + { + /// + /// 支付宝交易流水号 如果保养订单变更状态为已支付,则必填 + /// + [JsonProperty("alipay_trade_no")] + public string AlipayTradeNo { get; set; } + + /// + /// ISV订单业务状态文案,车主平台状态和ISV订单状态存在差异时,记录ISV对应的业务状态。 + /// + [JsonProperty("biz_status_txt")] + public string BizStatusTxt { get; set; } + + /// + /// 行业类目标识 洗车-015;保养-016;4S-020 + /// + [JsonProperty("industry_code")] + public string IndustryCode { get; set; } + + /// + /// 物流公司编号。支付宝支持物流公司编号。具体查看 支付宝支持物流公司编码.zip。 如果保养订单变更状态为已出库,则必填 + /// + [JsonProperty("logistics_code")] + public string LogisticsCode { get; set; } + + /// + /// 物流公司名称。支付宝支付物流公司名称。具体查看 支付宝支持物流公司编码.zip。 如果保养订单变更状态为已出库,则必填 + /// + [JsonProperty("logistics_company")] + public string LogisticsCompany { get; set; } + + /// + /// 流单号, ISV上传商品物流单号,用于物流流水的查询。 如果保养订单变更状态为已出库,则必填 + /// + [JsonProperty("logistics_no")] + public string LogisticsNo { get; set; } + + /// + /// 订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 车主平台业务订单状态 1-未支付; 4-已关闭; 6-支付完成; 7-已出库; 8-已收货; 11-服务开始; 55-服务完成/已核销; 56-订单完成; + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// 支付宝账号 如果保养订单变更状态为已支付,则必填 + /// + [JsonProperty("pay_account")] + public string PayAccount { get; set; } + + /// + /// 支付时间yyyy-MM-dd HH:mm:ss 如果保养订单变更状态为已支付,则必填 + /// + [JsonProperty("pay_time")] + public string PayTime { get; set; } + + /// + /// 订单发货地址。记录订单发货的详细地址。省^^^市^^^区^^^详细地址。 如果保养订单变更状态为已出库,则必填 + /// + [JsonProperty("sender_addr")] + public string SenderAddr { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainDataUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainDataUpdateModel.cs new file mode 100644 index 0000000..7f7e3c2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainDataUpdateModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainDataUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainDataUpdateModel : AopObject + { + /// + /// 门店或者服务的编码 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 事件类型(1:上下线 2:服务价格) + /// + [JsonProperty("event_id")] + public long EventId { get; set; } + + /// + /// 来源(1:汽车超人) + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 类型(1:门店 2:服务) + /// + [JsonProperty("type_id")] + public string TypeId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderCreateModel.cs new file mode 100644 index 0000000..cc1dd07 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderCreateModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainOrderCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainOrderCreateModel : AopObject + { + /// + /// 业务订单状态 + /// + [JsonProperty("biz_status")] + public string BizStatus { get; set; } + + /// + /// 状态描述 + /// + [JsonProperty("biz_status_txt")] + public string BizStatusTxt { get; set; } + + /// + /// 拓展参数,区分4S厂商 {”remark”:”DFRC”} 日产- DFRC, 北现- BJXD + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 业务订单编号 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 交易主题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 交易摘要 + /// + [JsonProperty("summary")] + public string Summary { get; set; } + + /// + /// 交易金额,单位:分 + /// + [JsonProperty("total_fee")] + public string TotalFee { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderserverNotifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderserverNotifyModel.cs new file mode 100644 index 0000000..54a18d5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderserverNotifyModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainOrderserverNotifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainOrderserverNotifyModel : AopObject + { + /// + /// 更改金额。变更项影响金额。金额增加为正数,金额减少为负数。金额单位(元),保留两位小数。 + /// + [JsonProperty("change_cost")] + public string ChangeCost { get; set; } + + /// + /// 变更描述,描述订单变更内容。 + /// + [JsonProperty("change_desc")] + public string ChangeDesc { get; set; } + + /// + /// 车主平台订单编号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderstatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderstatusUpdateModel.cs new file mode 100644 index 0000000..cfde814 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainOrderstatusUpdateModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainOrderstatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainOrderstatusUpdateModel : AopObject + { + /// + /// 扩展参数 + /// + [JsonProperty("ext_param")] + public MaintainOrderStatusExtParams ExtParam { get; set; } + + /// + /// 洗车-015;保养-016;4S-020 + /// + [JsonProperty("industry_code")] + public string IndustryCode { get; set; } + + /// + /// 订单编号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 55-已核销;7-已出库;8-已收货 + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// 废弃 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainServiceproductUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainServiceproductUpdateModel.cs new file mode 100644 index 0000000..834b656 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainServiceproductUpdateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainServiceproductUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainServiceproductUpdateModel : AopObject + { + /// + /// 请求操作(INSERT:新增;MODIFY:修改;DELETE:删除;QUERY:查询) + /// + [JsonProperty("operation_type")] + public string OperationType { get; set; } + + /// + /// 外部服务商品标示,ISV保证唯一性。ISV同一门店同一服务项同一产品名称,只能配置一个商品。(存在同一服务项类目对应多个产品情况,5座普通洗车、5座SUV洗车) + /// + [JsonProperty("out_product_id")] + public string OutProductId { get; set; } + + /// + /// 查询删除:否 新增修改:必填 + /// + [JsonProperty("shop_product")] + public MaitainShopProduct ShopProduct { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopCreateModel.cs new file mode 100644 index 0000000..63f933c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopCreateModel.cs @@ -0,0 +1,171 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainShopCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainShopCreateModel : AopObject + { + /// + /// 门店详细地址,地址字符长度在4-50个字符,注:不含省市区。门店详细地址按规范格式填写地址,以免影响门店搜索及活动报名:例1:道路+门牌号,“人民东路18号”;例2:道路+门牌号+标志性建筑+楼层,“四川北路1552号欢乐广场1楼”。 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 支付宝帐号 + /// + [JsonProperty("alipay_account")] + public string AlipayAccount { get; set; } + + /// + /// 门店支持的车型品牌,支付宝车型库品牌编号(系统唯一),品牌编号可以通过调用【查询车型信息接口】alipay.eco.mycar.carmodel.query 获取。4S店接入必填 + /// + [JsonProperty("brand_ids")] + + public List BrandIds { get; set; } + + /// + /// 城市编号(国标码,详见国家统计局数据 + /// 点此下载) + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 营业结束时间(HH:mm) + /// + [JsonProperty("close_time")] + public string CloseTime { get; set; } + + /// + /// 门店店长邮箱 + /// + [JsonProperty("contact_email")] + public string ContactEmail { get; set; } + + /// + /// 门店店长移动电话号码; 不在客户端展示 + /// + [JsonProperty("contact_mobile_phone")] + public string ContactMobilePhone { get; set; } + + /// + /// 门店店长姓名 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 区编号(国标码,详见国家统计局数据 + /// 点此下载) + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 扩展参数,json格式,可以存放营销信息,以及主营描述等扩展信息 + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 行业应用类目编号 15:洗车 16:保养 17:停车 20:4S (空对象不变更/空集合清空/有数据覆盖) + /// + [JsonProperty("industry_app_category_id")] + + public List IndustryAppCategoryId { get; set; } + + /// + /// 行业类目编号(点此查看 非口碑类目 – + /// 爱车) (空对象不变更/空集合清空/有数据覆盖) + /// + [JsonProperty("industry_category_id")] + + public List IndustryCategoryId { get; set; } + + /// + /// 高德地图纬度(经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确) + /// + [JsonProperty("lat")] + public string Lat { get; set; } + + /// + /// 高德地图经度(经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确) + /// + [JsonProperty("lon")] + public string Lon { get; set; } + + /// + /// 车主平台接口上传主图片地址,通过alipay.eco.mycar.image.upload接口上传。 + /// + [JsonProperty("main_image")] + public string MainImage { get; set; } + + /// + /// 分支机构编号,商户在车主平台自己创建的分支机构编码 + /// + [JsonProperty("merchant_branch_id")] + public long MerchantBranchId { get; set; } + + /// + /// 营业开始时间(HH:mm) + /// + [JsonProperty("open_time")] + public string OpenTime { get; set; } + + /// + /// 车主平台接口上传副图片地址,通过alipay.eco.mycar.image.upload接口上传。 + /// + [JsonProperty("other_images")] + + public List OtherImages { get; set; } + + /// + /// 外部门店编号; 请ISV开发者自行确保其唯一性。 + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 省编号(国标码,详见国家统计局数据 + /// 点此下载) + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 分店名称,比如:万塘路店,与主门店名合并在客户端显示为:爱特堡(益乐路店)。 + /// + [JsonProperty("shop_branch_name")] + public string ShopBranchName { get; set; } + + /// + /// 主门店名,比如:爱特堡;主店名里不要包含分店名,如“益乐路店”。主店名长度不能超过20个字符 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 门店电话号码;支持座机和手机,只支持数字和+-号,在客户端对用户展现。 + /// + [JsonProperty("shop_tel")] + public string ShopTel { get; set; } + + /// + /// 门店类型,(shop_type_beauty:美容店,shop_type_repair:快修店,shop_type_maintenance:维修厂,shop_type_parkinglot:停车场,shop_type_gasstation:加油站,shop_type_4s:4s店) + /// + [JsonProperty("shop_type")] + public string ShopType { get; set; } + + /// + /// 门店状态(0:下线;1:上线)。 门店下线后,在门店列表不显示,不能进行下单。 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopDeleteModel.cs new file mode 100644 index 0000000..bb6b16d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopDeleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainShopDeleteModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainShopDeleteModel : AopObject + { + /// + /// 外部门店编号(与shop_id二选一,不能都为空) + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 车主平台门店编号(与out_shop_id二选一,不能都为空) + /// + [JsonProperty("shop_id")] + public long ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopModifyModel.cs new file mode 100644 index 0000000..0e90583 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopModifyModel.cs @@ -0,0 +1,177 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainShopModifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainShopModifyModel : AopObject + { + /// + /// 门店详细地址,地址字符长度在4-50个字符,注:不含省市区。门店详细地址按规范格式填写地址,以免影响门店搜索及活动报名:例1:道路+门牌号,“人民东路18号”;例2:道路+门牌号+标志性建筑+楼层,“四川北路1552号欢乐广场1楼” + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 支付宝帐号 + /// + [JsonProperty("alipay_account")] + public string AlipayAccount { get; set; } + + /// + /// 门店支持的车型品牌,支付宝车型库品牌编号(系统唯一),品牌编号可以通过调用【查询车型信息接口】alipay.eco.mycar.carmodel.query 获取。(空对象不变更/空集合清空/有数据覆盖) + /// + [JsonProperty("brand_ids")] + + public List BrandIds { get; set; } + + /// + /// 城市编号(国标码,详见国家统计局数据 + /// 点此下载) + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 门店营业结束时间(HH:mm) + /// + [JsonProperty("close_time")] + public string CloseTime { get; set; } + + /// + /// 门店店长邮箱 + /// + [JsonProperty("contact_email")] + public string ContactEmail { get; set; } + + /// + /// 门店店长移动电话号码; 不在客户端展示 + /// + [JsonProperty("contact_mobile_phone")] + public string ContactMobilePhone { get; set; } + + /// + /// 门店店长姓名 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 区编号(国标码,详见国家统计局数据 + /// 点此下载) + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 扩展参数,json格式,可以存放营销信息,以及主营描述等扩展信息 + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 行业应用类目编号 15:洗车 16:保养 17:停车 20:4S (空对象不变更/空集合清空/有数据覆盖) + /// + [JsonProperty("industry_app_category_id")] + + public List IndustryAppCategoryId { get; set; } + + /// + /// 行业类目编号(空对象不变更/空集合清空/有数据覆盖, + /// 点此查看 非口碑类目 – 爱车) + /// + [JsonProperty("industry_category_id")] + + public List IndustryCategoryId { get; set; } + + /// + /// 高德地图纬度(经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确) + /// + [JsonProperty("lat")] + public string Lat { get; set; } + + /// + /// 高德地图经度(经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确) + /// + [JsonProperty("lon")] + public string Lon { get; set; } + + /// + /// 车主平台接口上传主图片地址,通过alipay.eco.mycar.image.upload接口上传。 + /// + [JsonProperty("main_image")] + public string MainImage { get; set; } + + /// + /// 分支机构编号,商户在车主平台自己创建的分支机构编码 + /// + [JsonProperty("merchant_branch_id")] + public long MerchantBranchId { get; set; } + + /// + /// 门店营业开始时间(HH:mm) + /// + [JsonProperty("open_time")] + public string OpenTime { get; set; } + + /// + /// 车主平台接口上传副图片地址,通过alipay.eco.mycar.image.upload接口上传。 + /// + [JsonProperty("other_images")] + + public List OtherImages { get; set; } + + /// + /// 外部门店编号(与shop_id二选一,不能都为空) + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 省编号(国标码,详见国家统计局数据 + /// 点此下载) + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 分店名称,比如:万塘路店,与主门店名合并在客户端显示为:爱特堡(益乐路店) + /// + [JsonProperty("shop_branch_name")] + public string ShopBranchName { get; set; } + + /// + /// 车主平台门店编号(与out_shop_id二选一,不能都为空) + /// + [JsonProperty("shop_id")] + public long ShopId { get; set; } + + /// + /// 主门店名,比如:爱特堡;主店名里不要包含分店名,如“益乐路店”。主店名长度不能超过20个字符 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 门店电话号码;支持座机和手机,只支持数字和+-号,在客户端对用户展现 + /// + [JsonProperty("shop_tel")] + public string ShopTel { get; set; } + + /// + /// 门店类型:(shop_type_beauty:美容店,shop_type_repair:快修店,shop_type_maintenance:维修厂,shop_type_parkinglot:停车场,shop_type_gasstation:加油站,shop_type_4s:4s店) + /// + [JsonProperty("shop_type")] + public string ShopType { get; set; } + + /// + /// 门店状态(0:下线;1:上线) + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopQueryModel.cs new file mode 100644 index 0000000..76b1871 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMaintainShopQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMaintainShopQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMaintainShopQueryModel : AopObject + { + /// + /// 外部门店编号(与shop_id二选一,不能都为空) + /// + [JsonProperty("out_shop_id")] + public string OutShopId { get; set; } + + /// + /// 车主平台门店编号(与out_shop_id二选一,不能都为空) + /// + [JsonProperty("shop_id")] + public long ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMerchantshopCommentBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMerchantshopCommentBatchqueryModel.cs new file mode 100644 index 0000000..cbba819 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarMerchantshopCommentBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarMerchantshopCommentBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarMerchantshopCommentBatchqueryModel : AopObject + { + /// + /// 当前页号(从1开始) + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 分页数量,每页不超过100条。 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 门店id + /// + [JsonProperty("shop_id")] + public long ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarOrderRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarOrderRefundModel.cs new file mode 100644 index 0000000..6486cf0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarOrderRefundModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarOrderRefundModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarOrderRefundModel : AopObject + { + /// + /// 退款交易编号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 退款金额(单位:元) + /// + [JsonProperty("refund_fee")] + public string RefundFee { get; set; } + + /// + /// 退款原因 + /// + [JsonProperty("refund_reason")] + public string RefundReason { get; set; } + + /// + /// 退款请求编号,针对一笔退款需保证唯一 + /// + [JsonProperty("req_no")] + public string ReqNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingAgreementQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingAgreementQueryModel.cs new file mode 100644 index 0000000..1ad5ac3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingAgreementQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingAgreementQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingAgreementQueryModel : AopObject + { + /// + /// 车牌,用户车辆进场时ISV设备识别到的车辆牌照 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingCardbarcodeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingCardbarcodeCreateModel.cs new file mode 100644 index 0000000..ffb64ce --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingCardbarcodeCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingCardbarcodeCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingCardbarcodeCreateModel : AopObject + { + /// + /// 设备商订单id + /// + [JsonProperty("equipment_id")] + public string EquipmentId { get; set; } + + /// + /// 支付宝交易流水号订单 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingCardidQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingCardidQueryModel.cs new file mode 100644 index 0000000..cf5cabc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingCardidQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingCardidQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingCardidQueryModel : AopObject + { + /// + /// 如果商户订单号为空,停车场id和车牌号不能为空,商户订单号优先查询 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + + /// + /// 用户支付成功而设备商状态没一起同步过来,手动执行查询 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + + /// + /// 查询订单时间(不传值为当日时间),格式"yyyy-MM-dd" + /// + [JsonProperty("sel_time")] + public string SelTime { get; set; } + + /// + /// 车主平台交易号,不能跟停车场编号和车牌号同时为空 + /// + [JsonProperty("transaction_no")] + public string TransactionNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingConfigQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingConfigQueryModel.cs new file mode 100644 index 0000000..5b2982c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingConfigQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingConfigQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingConfigQueryModel : AopObject + { + /// + /// 传入参数固定值:alipay.eco.mycar.parking.userpage.query + /// + [JsonProperty("interface_name")] + public string InterfaceName { get; set; } + + /// + /// 传入参数固定值:interface_page + /// + [JsonProperty("interface_type")] + public string InterfaceType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingConfigSetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingConfigSetModel.cs new file mode 100644 index 0000000..e570ab8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingConfigSetModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingConfigSetModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingConfigSetModel : AopObject + { + /// + /// 签约支付宝账号 + /// + [JsonProperty("account_no")] + public string AccountNo { get; set; } + + /// + /// 接口信息列表,停车业务需要配置的接口列表,该值为JSON数据格式的LIST对象,现阶段只需要配置一个页面接口即可 。每次请将所有的接口配置信息都传入,未传的接口信息将会被置空。 + /// + [JsonProperty("interface_info_list")] + + public List InterfaceInfoList { get; set; } + + /// + /// 商户在停车平台首页露出的LOGO;注意:该图片为PNG格式内容为BASE64的字符串,若为空则停车平台首页将不露出商户LOGO。建议图片尺寸27px*27px,大小不要超过60K + /// + [JsonProperty("merchant_logo")] + public string MerchantLogo { get; set; } + + /// + /// 商户简称,由开发者提供 + /// + [JsonProperty("merchant_name")] + public string MerchantName { get; set; } + + /// + /// 商户客服电话 + /// + [JsonProperty("merchant_service_phone")] + public string MerchantServicePhone { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingEnterinfoSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingEnterinfoSyncModel.cs new file mode 100644 index 0000000..bb827f6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingEnterinfoSyncModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingEnterinfoSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingEnterinfoSyncModel : AopObject + { + /// + /// 车牌号 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + + /// + /// 车辆入场的时间,格式"YYYY-MM-DD HH:mm:ss",24小时制 + /// + [JsonProperty("in_time")] + public string InTime { get; set; } + + /// + /// 支付宝停车场ID ,系统唯一 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingExitinfoSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingExitinfoSyncModel.cs new file mode 100644 index 0000000..f4f4916 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingExitinfoSyncModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingExitinfoSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingExitinfoSyncModel : AopObject + { + /// + /// 车牌号 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + + /// + /// 车辆离场时间,格式"YYYY-MM-DD HH:mm:ss",24小时制 + /// + [JsonProperty("out_time")] + public string OutTime { get; set; } + + /// + /// 支付宝停车场ID,系统唯一 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingLotbarcodeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingLotbarcodeCreateModel.cs new file mode 100644 index 0000000..c2ad79e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingLotbarcodeCreateModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingLotbarcodeCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingLotbarcodeCreateModel : AopObject + { + /// + /// 停车场编号 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderPayModel.cs new file mode 100644 index 0000000..e9c8607 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderPayModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingOrderPayModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingOrderPayModel : AopObject + { + /// + /// 车牌,需要进行停车缴费代扣的车辆牌照 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + + /// + /// ISV停车场ID,由ISV定义的停车场标识,系统唯一,parking_id和out_parking_id不能同时为空 + /// + [JsonProperty("out_parking_id")] + public string OutParkingId { get; set; } + + /// + /// 支付宝合作商户网站唯一订单号 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 支付宝停车平台ID,由支付宝定义的该停车场标识,系统唯一, parking_id和out_parking_id不能同时为空 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + + /// + /// 卖家支付宝用户号 卖家支付宝账号对应的支付宝唯一用户号。 以2088开头的纯16位数。与seller_logon_id不能同时为空 + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 卖家支付宝账号,可以为email或者手机号。 如果seller_id不为空,则以seller_id的值作为卖家账号,忽略本参数。 + /// + [JsonProperty("seller_logon_id")] + public string SellerLogonId { get; set; } + + /// + /// 订单标题,描述订单用途 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 订单金额,精确到小数点后两位 + /// + [JsonProperty("total_fee")] + public string TotalFee { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderRefundModel.cs new file mode 100644 index 0000000..767cbe3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderRefundModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingOrderRefundModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingOrderRefundModel : AopObject + { + /// + /// 代扣时返回的支付宝支付交易流水号,系统唯一 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// ISV代扣订单号,ISV唯一 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 外部申请退款请求流水,ISV唯一 + /// + [JsonProperty("out_refund_no")] + public string OutRefundNo { get; set; } + + /// + /// 退款金额,保留小数点后两位 + /// + [JsonProperty("refund_fee")] + public string RefundFee { get; set; } + + /// + /// 退款理由 + /// + [JsonProperty("refund_reason")] + public string RefundReason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderSyncModel.cs new file mode 100644 index 0000000..ec0385a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderSyncModel.cs @@ -0,0 +1,102 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingOrderSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingOrderSyncModel : AopObject + { + /// + /// 车牌 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + + /// + /// 如果是停车卡缴费,则填入停车卡卡号,否则为'*' + /// + [JsonProperty("card_number")] + public string CardNumber { get; set; } + + /// + /// 停车时长(以分为单位) + /// + [JsonProperty("in_duration")] + public string InDuration { get; set; } + + /// + /// 入场时间,格式"YYYY-MM-DD HH:mm:ss",24小时制 + /// + [JsonProperty("in_time")] + public string InTime { get; set; } + + /// + /// 支付宝支付流水,系统唯一 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 设备商订单状态,0:成功,1:失败 + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// 订单创建时间,格式"YYYY-MM-DD HH:mm:ss",24小时制 + /// + [JsonProperty("order_time")] + public string OrderTime { get; set; } + + /// + /// 设备商订单号,由ISV系统生成 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// ISV停车场ID,由ISV提供,同一个isv或商户范围内唯一 + /// + [JsonProperty("out_parking_id")] + public string OutParkingId { get; set; } + + /// + /// 支付宝停车场id,系统唯一 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + + /// + /// 停车场名称,由ISV定义,尽量与高德地图上的一致 + /// + [JsonProperty("parking_name")] + public string ParkingName { get; set; } + + /// + /// 缴费金额,保留小数点后两位 + /// + [JsonProperty("pay_money")] + public string PayMoney { get; set; } + + /// + /// 缴费时间, 格式"YYYYMM-DD HH:mm:ss",24小时制 + /// + [JsonProperty("pay_time")] + public string PayTime { get; set; } + + /// + /// 付款方式,1:支付宝在线缴费 ,2:支付宝代扣缴费 + /// + [JsonProperty("pay_type")] + public string PayType { get; set; } + + /// + /// 停车缴费支付宝用户的ID,请ISV保证用户ID的正确性,以免导致用户在停车平台查询不到相关的订单信息 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderUpdateModel.cs new file mode 100644 index 0000000..16963c5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderUpdateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingOrderUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingOrderUpdateModel : AopObject + { + /// + /// 支付宝支付流水号,系统唯一 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 用户停车订单状态,0:成功,1:失败 + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// 停车缴费支付宝用户的ID,请ISV保证用户ID的正确性,以免导致用户在停车平台查询不到相关的订单信息 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderstatusQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderstatusQueryModel.cs new file mode 100644 index 0000000..0e4c739 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingOrderstatusQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingOrderstatusQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingOrderstatusQueryModel : AopObject + { + /// + /// 如果商户订单号为空,停车场id和车牌号不能为空,商户订单号优先查询 + /// + [JsonProperty("car_number")] + public string CarNumber { get; set; } + + /// + /// 如果商户订单号为空,停车场id和车牌号不能为空,商户订单号优先查询 + /// + [JsonProperty("parking_id")] + public string ParkingId { get; set; } + + /// + /// 查询订单时间(不传值为当日时间),格式"yyyy-MM-dd “ + /// + [JsonProperty("sel_time")] + public string SelTime { get; set; } + + /// + /// 车主平台交易号,不能跟停车场编号和车牌号同时为空 + /// + [JsonProperty("transaction_no")] + public string TransactionNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingParkinglotinfoCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingParkinglotinfoCreateModel.cs new file mode 100644 index 0000000..7c2c977 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingParkinglotinfoCreateModel.cs @@ -0,0 +1,150 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingParkinglotinfoCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingParkinglotinfoCreateModel : AopObject + { + /// + /// 城市编号(国家统一标准编码) + /// + [JsonProperty("city_id")] + public string CityId { get; set; } + + /// + /// 停车场联系人支付宝账户,如果有则填入 + /// + [JsonProperty("contact_alipay")] + public string ContactAlipay { get; set; } + + /// + /// 停车场联系人邮箱,如果有则填入 + /// + [JsonProperty("contact_emali")] + public string ContactEmali { get; set; } + + /// + /// 停车场联系人手机,如果有则填入 + /// + [JsonProperty("contact_mobile")] + public string ContactMobile { get; set; } + + /// + /// 停车场联系人,如果有则填入 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 停车场联系人座机,如果有则填入 + /// + [JsonProperty("contact_tel")] + public string ContactTel { get; set; } + + /// + /// 停车场联系人微信,如果有则填入 + /// + [JsonProperty("contact_weixin")] + public string ContactWeixin { get; set; } + + /// + /// 设备商名称 + /// + [JsonProperty("equipment_name")] + public string EquipmentName { get; set; } + + /// + /// 纬度,最长15位字符(包括小数点),注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数的准确。高德经纬度询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度,最长15位字符(包括小数点),注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数的准确。高德经纬度询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// ISV停车场ID,由ISV提供,同一个isv或商户范围内唯一 + /// + [JsonProperty("out_parking_id")] + public string OutParkingId { get; set; } + + /// + /// 停车场地址 + /// + [JsonProperty("parking_address")] + public string ParkingAddress { get; set; } + + /// + /// 停车场结束营业时间,格式 "HH:mm:ss" + /// + [JsonProperty("parking_end_time")] + public string ParkingEndTime { get; set; } + + /// + /// 收费说明 + /// + [JsonProperty("parking_fee_description")] + public string ParkingFeeDescription { get; set; } + + /// + /// 停车场类型,1为小区停车场、2为商圈停车场、3为路面停车场、4为园区停车场、5为写字楼停车场、6为私人停车场 + /// + [JsonProperty("parking_lot_type")] + public string ParkingLotType { get; set; } + + /// + /// 停车场名称 + /// + [JsonProperty("parking_name")] + public string ParkingName { get; set; } + + /// + /// 停车位数目 + /// + [JsonProperty("parking_number")] + public string ParkingNumber { get; set; } + + /// + /// 停车场开始营业时间,格式 "HH:mm:ss" + /// + [JsonProperty("parking_start_time")] + public string ParkingStartTime { get; set; } + + /// + /// 停车场类型(1为地面,2为地下,3为路边)(多个类型,中间用,隔开 + /// + [JsonProperty("parking_type")] + public string ParkingType { get; set; } + + /// + /// 支付方式(1为支付宝在线缴费,2为支付宝代扣缴费,3当面付),如支持多种方式以','进行间隔 + /// + [JsonProperty("pay_type")] + public string PayType { get; set; } + + /// + /// 缴费模式(1为停车卡缴费,2为物料缴费,3为中央缴费机) + /// + [JsonProperty("payment_mode")] + public string PaymentMode { get; set; } + + /// + /// 商圈id + /// + [JsonProperty("shopingmall_id")] + public string ShopingmallId { get; set; } + + /// + /// 用户支付未离场的超时时间(以分钟为单位) + /// + [JsonProperty("time_out")] + public string TimeOut { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingParkinglotinfoUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingParkinglotinfoUpdateModel.cs new file mode 100644 index 0000000..17d5195 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingParkinglotinfoUpdateModel.cs @@ -0,0 +1,150 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingParkinglotinfoUpdateModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingParkinglotinfoUpdateModel : AopObject + { + /// + /// 城市编号(国家统一标准编码) + /// + [JsonProperty("city_id")] + public string CityId { get; set; } + + /// + /// 停车场联系人支付宝账户,如果有则填入 + /// + [JsonProperty("contact_alipay")] + public string ContactAlipay { get; set; } + + /// + /// 停车场联系人邮箱,如果有则填入 + /// + [JsonProperty("contact_email")] + public string ContactEmail { get; set; } + + /// + /// 停车场联系人手机,如果有则填入 + /// + [JsonProperty("contact_mobile")] + public string ContactMobile { get; set; } + + /// + /// 停车场联系人,如果有则填入 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 停车场联系人座机,如果有则填入 + /// + [JsonProperty("contact_tel")] + public string ContactTel { get; set; } + + /// + /// 停车场联系人微信,如果有则填入 + /// + [JsonProperty("contact_weixin")] + public string ContactWeixin { get; set; } + + /// + /// 设备商名称 + /// + [JsonProperty("equipment_name")] + public string EquipmentName { get; set; } + + /// + /// 纬度,最长15位字符(包括小数点),注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数的准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度,最长15位字符(包括小数点),注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数的准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// ISV停车场ID,由ISV提供,同一个ISV或商户范围内唯一 + /// + [JsonProperty("out_parking_id")] + public string OutParkingId { get; set; } + + /// + /// 停车场地址 + /// + [JsonProperty("parking_address")] + public string ParkingAddress { get; set; } + + /// + /// 停车场结束营业时间,格式 "HH:mm:ss" + /// + [JsonProperty("parking_end_time")] + public string ParkingEndTime { get; set; } + + /// + /// 收费说明 + /// + [JsonProperty("parking_fee_description")] + public string ParkingFeeDescription { get; set; } + + /// + /// 支付宝返回停车场id,系统唯一 + /// + [JsonProperty("parking_id ")] + public string ParkingId { get; set; } + + /// + /// 停车场类型,1为小区停车场、2为商圈停车场、3为路面停车场、4为园区停车场、5为写字楼停车场、6为私人停车场 + /// + [JsonProperty("parking_lot_type")] + public string ParkingLotType { get; set; } + + /// + /// 停车场名称,由ISV定义,尽量与高德地图上的一致 + /// + [JsonProperty("parking_name")] + public string ParkingName { get; set; } + + /// + /// 停车位数目 + /// + [JsonProperty("parking_number")] + public string ParkingNumber { get; set; } + + /// + /// 停车场开始营业时间,格式 "HH:mm:ss" + /// + [JsonProperty("parking_start_time")] + public string ParkingStartTime { get; set; } + + /// + /// 停车场类型(1为地面,2为地下,3为路边)(多个类型,中间用,隔开 + /// + [JsonProperty("parking_type")] + public string ParkingType { get; set; } + + /// + /// 支付方式(1为支付宝在线缴费,2为支付宝代扣缴费,3当面付),如支持多种方式以','进行间隔 + /// + [JsonProperty("pay_type")] + public string PayType { get; set; } + + /// + /// 缴费模式(1为停车卡缴费,2为物料缴费,3为中央缴费机) + /// + [JsonProperty("payment_mode")] + public string PaymentMode { get; set; } + + /// + /// 商圈id + /// + [JsonProperty("shopingmall_id")] + public string ShopingmallId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingVehicleQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingVehicleQueryModel.cs new file mode 100644 index 0000000..a98ae66 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarParkingVehicleQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarParkingVehicleQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarParkingVehicleQueryModel : AopObject + { + /// + /// 支付宝用户车辆ID,系统唯一。(该参数会在停车平台用户点击查询缴费,跳转到ISV停车缴费查询页面时,从请求中传递) + /// + [JsonProperty("car_id")] + public string CarId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoTicketPushModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoTicketPushModel.cs new file mode 100644 index 0000000..7bfc073 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoTicketPushModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarPromoTicketPushModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarPromoTicketPushModel : AopObject + { + /// + /// 核销流水 + /// + [JsonProperty("apply_no")] + public string ApplyNo { get; set; } + + /// + /// 核销状态,0:成功,1:失败 + /// + [JsonProperty("apply_status")] + public string ApplyStatus { get; set; } + + /// + /// 对应TP活动码 + /// + [JsonProperty("code_no")] + public string CodeNo { get; set; } + + /// + /// 券ID + /// + [JsonProperty("ticket_id")] + public string TicketId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoTicketSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoTicketSyncModel.cs new file mode 100644 index 0000000..c17a2e5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoTicketSyncModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarPromoTicketSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarPromoTicketSyncModel : AopObject + { + /// + /// 营销活动ID + /// + [JsonProperty("active_id")] + public string ActiveId { get; set; } + + /// + /// 需要同步的卡券信息 + /// + [JsonProperty("code_no_list")] + + public List CodeNoList { get; set; } + + /// + /// 卡券来源 + /// + [JsonProperty("source_type")] + public string SourceType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoVoucherVerifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoVoucherVerifyModel.cs new file mode 100644 index 0000000..9ea647a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarPromoVoucherVerifyModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarPromoVoucherVerifyModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarPromoVoucherVerifyModel : AopObject + { + /// + /// 订单编号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 订单状态 1. 待支付 4. 交易关闭 6. 待发货 53. 已评价 55. 已核销 56. 交易完成 + /// + [JsonProperty("order_status")] + public string OrderStatus { get; set; } + + /// + /// 核销码 + /// + [JsonProperty("sms_code")] + public string SmsCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarTradeOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarTradeOrderQueryModel.cs new file mode 100644 index 0000000..17144d1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarTradeOrderQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarTradeOrderQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarTradeOrderQueryModel : AopObject + { + /// + /// 车主平台交易号,与车主业务平台订单号相同。和trade_no,out_biz_trade_no不能同时为空。 + /// + [JsonProperty("biz_trade_no")] + public string BizTradeNo { get; set; } + + /// + /// 外部订单号,和biz_trade_no,trade_no不能同时为空 + /// + [JsonProperty("out_biz_trade_no")] + public string OutBizTradeNo { get; set; } + + /// + /// 支付宝交易号。该笔车主平台对应的支付宝交易编号,使用该交易号也可以直接调用支付宝开放平台的交易查询接口查询交易信息。 和biz_trade_no,out_biz_trade_no不能同时为空。 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarTradeRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarTradeRefundModel.cs new file mode 100644 index 0000000..ed8ba54 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarTradeRefundModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarTradeRefundModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarTradeRefundModel : AopObject + { + /// + /// 渠道平台 + /// + [JsonProperty("isv")] + public string Isv { get; set; } + + /// + /// 退款金额(分) + /// + [JsonProperty("refund_fee")] + public string RefundFee { get; set; } + + /// + /// 退款原因 + /// + [JsonProperty("refund_reason")] + public string RefundReason { get; set; } + + /// + /// 退款交易编号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationCityPushModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationCityPushModel.cs new file mode 100644 index 0000000..48aecde --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationCityPushModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarViolationCityPushModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarViolationCityPushModel : AopObject + { + /// + /// 城市编码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 该城市规则是新增还是更新, 0:新增,1:更新 + /// + [JsonProperty("push_type")] + public string PushType { get; set; } + + /// + /// 该城市是否支持违章查询,0:支持,1:不支持 + /// + [JsonProperty("service_status")] + public string ServiceStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationInfoPushModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationInfoPushModel.cs new file mode 100644 index 0000000..2c21c84 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationInfoPushModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarViolationInfoPushModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarViolationInfoPushModel : AopObject + { + /// + /// 1:可在线处理, 2:不可在线处理, 3:需查询确定 + /// + [JsonProperty("deal_type")] + public string DealType { get; set; } + + /// + /// 暂无 + /// + [JsonProperty("push_type")] + public string PushType { get; set; } + + /// + /// 违章地点 + /// + [JsonProperty("vi_address")] + public string ViAddress { get; set; } + + /// + /// 违章罚款金额 + /// + [JsonProperty("vi_fine")] + public string ViFine { get; set; } + + /// + /// 是否已处理, 0:已处理,1:未处理 + /// + [JsonProperty("vi_handled")] + public string ViHandled { get; set; } + + /// + /// 车牌号 + /// + [JsonProperty("vi_number")] + public string ViNumber { get; set; } + + /// + /// 违章扣分 + /// + [JsonProperty("vi_point")] + public string ViPoint { get; set; } + + /// + /// 违章时间(yyyyMMddhhmmss) + /// + [JsonProperty("vi_time")] + public string ViTime { get; set; } + + /// + /// 违章行为 + /// + [JsonProperty("vi_type")] + public string ViType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationVehicleQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationVehicleQueryModel.cs new file mode 100644 index 0000000..c72b1d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoMycarViolationVehicleQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoMycarViolationVehicleQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoMycarViolationVehicleQueryModel : AopObject + { + /// + /// 用户车辆ID,支付宝系统唯一 + /// + [JsonProperty("vi_id")] + public string ViId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseBill.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseBill.cs new file mode 100644 index 0000000..4d5644d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseBill.cs @@ -0,0 +1,114 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseBill Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseBill : AopObject + { + /// + /// 账单金额 + /// + [JsonProperty("bill_amount")] + public string BillAmount { get; set; } + + /// + /// 账单创建时间 数据格式: yyyy-mm-dd hh:mm:ss + /// + [JsonProperty("bill_create_time")] + public string BillCreateTime { get; set; } + + /// + /// 对描述该笔账单进行具体描述,用于提醒用户。例如:八月房屋租金、八月杂费等。 + /// + [JsonProperty("bill_desc")] + public string BillDesc { get; set; } + + /// + /// 账单编号-ka保证唯一 + /// + [JsonProperty("bill_no")] + public string BillNo { get; set; } + + /// + /// 账单状态 0:正常1:作废2:关闭 + /// + [JsonProperty("bill_status")] + public long BillStatus { get; set; } + + /// + /// 账单类型 10001:房屋租金 10002:其他费用 20001:房屋押金 20002:其他押金 + /// + [JsonProperty("bill_type")] + public string BillType { get; set; } + + /// + /// 数据格式: yyyy-mm-dd hh:mm:ss + /// + [JsonProperty("deadline_date")] + public string DeadlineDate { get; set; } + + /// + /// 优惠金额 + /// + [JsonProperty("discount_amount")] + public string DiscountAmount { get; set; } + + /// + /// 结束时间 数据格式:yyyy-mm-dd + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 租约编号(KA内部租约业务编号) + /// + [JsonProperty("lease_no")] + public string LeaseNo { get; set; } + + /// + /// 其他未涵盖信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 已支付金额 + /// + [JsonProperty("paid_amount")] + public string PaidAmount { get; set; } + + /// + /// 1:禁止tp发起支付 + /// + [JsonProperty("pay_lock")] + public long PayLock { get; set; } + + /// + /// 禁止支付原因-页面提示租客 + /// + [JsonProperty("pay_lock_memo")] + public string PayLockMemo { get; set; } + + /// + /// 支付状态 0:未支付1:已支付 + /// + [JsonProperty("pay_status")] + public long PayStatus { get; set; } + + /// + /// 账单支付时间 数据格式: yyyy-mm-dd hh:mm:ss + /// + [JsonProperty("pay_time")] + public string PayTime { get; set; } + + /// + /// 开始时间 数据格式:yyyy-mm-dd + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseBillOrderSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseBillOrderSyncModel.cs new file mode 100644 index 0000000..81e0d19 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseBillOrderSyncModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseBillOrderSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseBillOrderSyncModel : AopObject + { + /// + /// 账单条数1-50范围内,账单条数和账单明细数量必须一致 + /// + [JsonProperty("bill_number")] + public string BillNumber { get; set; } + + /// + /// 账单条数1-50范围内 + /// + [JsonProperty("bills")] + + public List Bills { get; set; } + + /// + /// ka请求的唯一标志,长度64位以内字符串,仅限字母数字下划线组合。该标识作为业务调用的唯一标识,ka要保证其业务唯一性 + /// + [JsonProperty("trade_id")] + public string TradeId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseCommonImageUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseCommonImageUploadModel.cs new file mode 100644 index 0000000..58df889 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseCommonImageUploadModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseCommonImageUploadModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseCommonImageUploadModel : AopObject + { + /// + /// 文件内容字节数组Base64字符串,最大支持上传5M的文件 + /// + [JsonProperty("file_base")] + public string FileBase { get; set; } + + /// + /// 文件类型 1:图片(支持jpg、png、jpeg、bmp格式) 2:合同(HTML格式) + /// + [JsonProperty("file_type")] + public string FileType { get; set; } + + /// + /// true|false是否公共读写,私密文件使用否,如电子合同 + /// + [JsonProperty("is_public")] + public bool IsPublic { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseCommunityBaseinfoSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseCommunityBaseinfoSyncModel.cs new file mode 100644 index 0000000..a9f4a72 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseCommunityBaseinfoSyncModel.cs @@ -0,0 +1,140 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseCommunityBaseinfoSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseCommunityBaseinfoSyncModel : AopObject + { + /// + /// 商圈编码 + /// + [JsonProperty("bus_code")] + public string BusCode { get; set; } + + /// + /// 商圈所在纬度 + /// + [JsonProperty("bus_lat")] + public string BusLat { get; set; } + + /// + /// 商圈所在经度 + /// + [JsonProperty("bus_lng")] + public string BusLng { get; set; } + + /// + /// 商圈名称 + /// + [JsonProperty("bus_name")] + public string BusName { get; set; } + + /// + /// 商圈覆盖半径(单位:米) + /// + [JsonProperty("bus_radius")] + public long BusRadius { get; set; } + + /// + /// 城市编码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 城市所在纬度 + /// + [JsonProperty("city_lat")] + public string CityLat { get; set; } + + /// + /// 城市所在经度 + /// + [JsonProperty("city_lng")] + public string CityLng { get; set; } + + /// + /// 城市名称 + /// + [JsonProperty("city_name")] + public string CityName { get; set; } + + /// + /// 小区/大楼编码 + /// + [JsonProperty("community_code")] + public string CommunityCode { get; set; } + + /// + /// 小区/大楼所在纬度 + /// + [JsonProperty("community_lat")] + public string CommunityLat { get; set; } + + /// + /// 小区/大楼所在经度 + /// + [JsonProperty("community_lng")] + public string CommunityLng { get; set; } + + /// + /// 小区/大楼名称 + /// + [JsonProperty("community_name")] + public string CommunityName { get; set; } + + /// + /// 小区/大楼弄号 + /// + [JsonProperty("community_nong")] + public string CommunityNong { get; set; } + + /// + /// 小区/大楼街道 + /// + [JsonProperty("community_street")] + public string CommunityStreet { get; set; } + + /// + /// 小区/大楼标识类型 1:小区 2:大楼 + /// + [JsonProperty("community_tag")] + public string CommunityTag { get; set; } + + /// + /// 行政区域编码 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 行政区域所在纬度 + /// + [JsonProperty("district_lat")] + public string DistrictLat { get; set; } + + /// + /// 行政区域所在经度 + /// + [JsonProperty("district_lng")] + public string DistrictLng { get; set; } + + /// + /// 行政区域名称 + /// + [JsonProperty("district_name")] + public string DistrictName { get; set; } + + /// + /// 地铁线地铁站关系 + /// + [JsonProperty("subway_stations")] + + public List SubwayStations { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaBaseinfoQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaBaseinfoQueryModel.cs new file mode 100644 index 0000000..3fb08a2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaBaseinfoQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseKaBaseinfoQueryModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseKaBaseinfoQueryModel : AopObject + { + /// + /// kaCode唯一标识 + /// + [JsonProperty("ka_code")] + public string KaCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaBaseinfoSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaBaseinfoSyncModel.cs new file mode 100644 index 0000000..6be22af --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaBaseinfoSyncModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseKaBaseinfoSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseKaBaseinfoSyncModel : AopObject + { + /// + /// 返回kaCode唯一标识,如果有该值则表示更新信息(新增的时候kaCode字段不是必填的,修改的时候必填) + /// + [JsonProperty("ka_code")] + public string KaCode { get; set; } + + /// + /// 公寓运营商名称-新增ka名称必填(sync的新增的时候kaName字段是必填,修改的时候不是必填) + /// + [JsonProperty("ka_name")] + public string KaName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaServiceCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaServiceCreateModel.cs new file mode 100644 index 0000000..3c8179f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseKaServiceCreateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseKaServiceCreateModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseKaServiceCreateModel : AopObject + { + /// + /// 地址-对应在网关注册时候的接口标识 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// kaCode唯一标识 + /// + [JsonProperty("ka_code")] + public string KaCode { get; set; } + + /// + /// 类型:1:预约看房, 2:确认租约 ,3:拨号记录, 4:支付页面url + /// + [JsonProperty("type")] + public long Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseLeaseOrderSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseLeaseOrderSyncModel.cs new file mode 100644 index 0000000..19c74af --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseLeaseOrderSyncModel.cs @@ -0,0 +1,148 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseLeaseOrderSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseLeaseOrderSyncModel : AopObject + { + /// + /// 预览合同二进制流 预览合同html的Base64字符串 + /// + [JsonProperty("attach_file")] + public string AttachFile { get; set; } + + /// + /// 租约开始时间格式 YYYY-MM-dd + /// + [JsonProperty("begin_date")] + public string BeginDate { get; set; } + + /// + /// 证件编号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 证件类型 不传默认是0 0-身份证; 1-护照; 暂时只支持身份证 2-军人身份证; 3-港澳居民来往内地通行证; 4-台湾同胞来往内地通行证; 5-临时身份证; 6-户口簿; 7-警官证; + /// 8-外国人永久居住证 + /// + [JsonProperty("card_type")] + public long CardType { get; set; } + + /// + /// 租约结束时间格式 YYYY-MM-dd + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 房源类型 1:分散式 2:集中式 + /// + [JsonProperty("flats_tag")] + public long FlatsTag { get; set; } + + /// + /// 押金金额 + /// + [JsonProperty("foregift_amount")] + public string ForegiftAmount { get; set; } + + /// + /// 0:不免押金 1:免押金 默认 0(不免押金) + /// + [JsonProperty("free_deposit")] + public long FreeDeposit { get; set; } + + /// + /// 家具清单 1-床 2-床垫 3-床头柜 4-衣柜 5-桌子 6-椅子 7-窗帘 8-台灯 9-电视 10-电视柜 11-遥控器 12-空调 13-抽油烟机 14-燃气灶 15-冰箱 16-微波炉 + /// 17-餐桌 18-餐椅 19-洗衣机 20-烘干机 21-沙发 22-热水器 + /// + [JsonProperty("furniture_items")] + public string FurnitureItems { get; set; } + + /// + /// KA租约业务号 + /// + [JsonProperty("lease_code")] + public string LeaseCode { get; set; } + + /// + /// 租约创建时间,格式yyyy-MM-dd HH:mm:ss 不传时默认系统时间 + /// + [JsonProperty("lease_create_time")] + public string LeaseCreateTime { get; set; } + + /// + /// 租约状态 0-未确认 1-已确认 2-已退房 3-已撤销 + /// + [JsonProperty("lease_status")] + public long LeaseStatus { get; set; } + + /// + /// 其他费用描述 + /// + [JsonProperty("other_fee_desc")] + public string OtherFeeDesc { get; set; } + + /// + /// 租金付款方式 1-付一; 2-付二; 3-付三; 4-付四; 5-付五; 6-付六; 7-付七; 8-付八; 9-付九; 10-付十; 11-付十一; 12-付十二; + /// + [JsonProperty("pay_type")] + public long PayType { get; set; } + + /// + /// 描述 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + + /// + /// 收租日描述 + /// + [JsonProperty("rent_day_desc")] + public string RentDayDesc { get; set; } + + /// + /// "租金包含相关费用 1-水费; 2-电费; 3-煤气费; 4-有线电视费; 5-网络宽带费; 6-物业管理费; 7-室内设施维修费(人为使用不当除外); 8-保洁费; 9-暖气费;" + /// + [JsonProperty("rent_include_fee_desc")] + + public List RentIncludeFeeDesc { get; set; } + + /// + /// 用户姓名 + /// + [JsonProperty("renter_name")] + public string RenterName { get; set; } + + /// + /// 用户手机号 + /// + [JsonProperty("renter_phone")] + public string RenterPhone { get; set; } + + /// + /// 房源编号 flatsTag为1,则代表单编号 2,代表房型编号 + /// + [JsonProperty("room_code")] + public string RoomCode { get; set; } + + /// + /// 房间号 集中式的时候必填 + /// + [JsonProperty("room_num")] + public string RoomNum { get; set; } + + /// + /// 租金金额 比如 2500 2500.5 3000.05等 + /// + [JsonProperty("sale_amount")] + public string SaleAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseLeaseStateSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseLeaseStateSyncModel.cs new file mode 100644 index 0000000..5aaf810 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseLeaseStateSyncModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseLeaseStateSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseLeaseStateSyncModel : AopObject + { + /// + /// 租约电子合同图片,内容字节组Base64处理,支持jpg、png、jpeg、bmp格式 + /// + [JsonProperty("lease_ca_file")] + public string LeaseCaFile { get; set; } + + /// + /// 租约编号(KA内部租约业务编号) + /// + [JsonProperty("lease_code")] + public string LeaseCode { get; set; } + + /// + /// 租约状态 0-未确认 1-已确认 2-已退房 3-已撤销 + /// + [JsonProperty("lease_status")] + public long LeaseStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomConcentrationSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomConcentrationSyncModel.cs new file mode 100644 index 0000000..cccd903 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomConcentrationSyncModel.cs @@ -0,0 +1,166 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseRoomConcentrationSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseRoomConcentrationSyncModel : AopObject + { + /// + /// 户型-房 数值范围:1-26 + /// + [JsonProperty("bedroom_count")] + public long BedroomCount { get; set; } + + /// + /// 可入住时间 YYYY-MM-DD + /// + [JsonProperty("checkin_time")] + public string CheckinTime { get; set; } + + /// + /// 小区Code,详见文档 http://ecopublic.oss-cn-hangzhou.aliyuncs.com/eco/tpmogo/CommunityInfos/CommunityInfos.xls + /// + [JsonProperty("community_code")] + public string CommunityCode { get; set; } + + /// + /// 所在楼层 数值范围:1-99,不能大于房屋总楼层 + /// + [JsonProperty("floor_count")] + public long FloorCount { get; set; } + + /// + /// 押金 数值范围:0-¥420000.00 + /// + [JsonProperty("foregift_amount")] + public string ForegiftAmount { get; set; } + + /// + /// 免押金开始时间 YYYY-MM-dd + /// + [JsonProperty("free_begin_date")] + public string FreeBeginDate { get; set; } + + /// + /// 免押金结束时间 YYYY-MM-dd + /// + [JsonProperty("free_end_date")] + public string FreeEndDate { get; set; } + + /// + /// 通过"文件上传"接口返回的房源图片url路径。房间照片可录入0~10张,目前仅支持jpg、png、jpeg格式 + /// + [JsonProperty("images")] + + public List Images { get; set; } + + /// + /// 房源描述 字符串,最大字符长度400 + /// + [JsonProperty("intro")] + public string Intro { get; set; } + + /// + /// 集中式最高价格,支持小数点后面2位。 新增时必输字段,修改时如果不转值则以上次接口调用值为准。 + /// + [JsonProperty("max_amount")] + public string MaxAmount { get; set; } + + /// + /// 公寓别名 是否必须:(新增)是/(修改)否 + /// + [JsonProperty("nickname")] + public string Nickname { get; set; } + + /// + /// 其它费用 + /// + [JsonProperty("other_amount")] + + public List OtherAmount { get; set; } + + /// + /// 管家姓名 + /// + [JsonProperty("owners_name")] + public string OwnersName { get; set; } + + /// + /// 管家电话 手机号码,必须为400开头 + /// + [JsonProperty("owners_tel")] + public string OwnersTel { get; set; } + + /// + /// 户型-厅 数值范围:0-10 + /// + [JsonProperty("parlor_count")] + public long ParlorCount { get; set; } + + /// + /// 付款方式(1:付一,2:付二) + /// + [JsonProperty("pay_type")] + public long PayType { get; set; } + + /// + /// 出租状态 数值范围:1未租、2已租 + /// + [JsonProperty("rent_status")] + public long RentStatus { get; set; } + + /// + /// 出租类型 1:整租,2:合租 + /// + [JsonProperty("rent_type")] + public long RentType { get; set; } + + /// + /// 租金 数值范围:¥100.00 - ¥35000.00 ,支持小数点后面2位 + /// + [JsonProperty("room_amount")] + public string RoomAmount { get; set; } + + /// + /// 房间面积 数值范围:5.00㎡-300.00㎡,支持小数点后面2位 + /// + [JsonProperty("room_area")] + public string RoomArea { get; set; } + + /// + /// KA内部存储的房源编号 + /// + [JsonProperty("room_code")] + public string RoomCode { get; set; } + + /// + /// 物品配置(房间) 2:空调;3:热水器;4:洗衣机;5:冰箱;6:电视;7:微波炉;8:燃气灶;9:抽油烟机;10:电磁炉;11:床;11:WIFI;12:书桌;13:衣柜;14:沙发;15:阳台; + /// + [JsonProperty("room_configs")] + + public List RoomConfigs { get; set; } + + /// + /// 房源初始上下架状态 上架状态租房平台会展示该房间信息,下架状态反之 + /// + [JsonProperty("room_status")] + public long RoomStatus { get; set; } + + /// + /// 户型-卫 数值范围:0-10 + /// + [JsonProperty("toilet_count")] + public long ToiletCount { get; set; } + + /// + /// 房屋总楼层 数值范围:1-99,不能小于所在楼层 + /// + [JsonProperty("total_floor_count")] + public long TotalFloorCount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomDispersionSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomDispersionSyncModel.cs new file mode 100644 index 0000000..6b71253 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomDispersionSyncModel.cs @@ -0,0 +1,197 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseRoomDispersionSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseRoomDispersionSyncModel : AopObject + { + /// + /// 户型-房 数值范围:1-26 + /// + [JsonProperty("bedroom_count")] + public long BedroomCount { get; set; } + + /// + /// 可入住时间 YYYY-MM-DD + /// + [JsonProperty("checkin_time")] + public string CheckinTime { get; set; } + + /// + /// 小区Code,详见文档 http://ecopublic.oss-cn-hangzhou.aliyuncs.com/eco/tpmogo/CommunityInfos/CommunityInfos.xls + /// + [JsonProperty("community_code")] + public string CommunityCode { get; set; } + + /// + /// 公寓面积 数值范围:5.00㎡-300.00㎡,支持小数点后面2位 + /// + [JsonProperty("flat_area")] + public string FlatArea { get; set; } + + /// + /// 门牌-栋(楼号) + /// + [JsonProperty("flat_building")] + public string FlatBuilding { get; set; } + + /// + /// 分散式合租公共区域物品配置,分散式整租不用设置 1:WIFI;3:热水器;4:洗衣机;5:冰箱;6:电视;7:微波炉;8:燃气灶;9:抽油烟机;10:电磁炉;14:沙发; + /// + [JsonProperty("flat_configs")] + + public List FlatConfigs { get; set; } + + /// + /// 门牌-单元 + /// + [JsonProperty("flat_unit")] + public string FlatUnit { get; set; } + + /// + /// 所在楼层 数值范围:1-99,不能大于房屋总楼层 + /// + [JsonProperty("floor_count")] + public long FloorCount { get; set; } + + /// + /// 押金 数值范围:0-¥420000.00 + /// + [JsonProperty("foregift_amount")] + public string ForegiftAmount { get; set; } + + /// + /// 免押金开始时间 YYYY-MM-dd + /// + [JsonProperty("free_begin_date")] + public string FreeBeginDate { get; set; } + + /// + /// 免押金结束时间 YYYY-MM-dd + /// + [JsonProperty("free_end_date")] + public string FreeEndDate { get; set; } + + /// + /// 通过"文件上传"接口返回的房源图片url路径。房间照片可录入0~10张,目前仅支持jpg、png、jpeg格式 + /// + [JsonProperty("images")] + public List Images { get; set; } + + /// + /// 房源描述 + /// + [JsonProperty("intro")] + public string Intro { get; set; } + + /// + /// 其它费用 + /// + [JsonProperty("other_amount")] + + public List OtherAmount { get; set; } + + /// + /// 管家姓名 + /// + [JsonProperty("owners_name")] + public string OwnersName { get; set; } + + /// + /// 管家手机号码,必须为400开头 + /// + [JsonProperty("owners_tel")] + public string OwnersTel { get; set; } + + /// + /// 户型-厅 数值范围:0-10 + /// + [JsonProperty("parlor_count")] + public long ParlorCount { get; set; } + + /// + /// 付款方式-付 1:付一,2:付二 + /// + [JsonProperty("pay_type")] + public long PayType { get; set; } + + /// + /// 出租状态 数值范围:1未租、2已租 + /// + [JsonProperty("rent_status")] + public long RentStatus { get; set; } + + /// + /// 出租类型 1:整租,2:合租 + /// + [JsonProperty("rent_type")] + public long RentType { get; set; } + + /// + /// 租金 数值范围:¥100.00 - ¥35000.00 ,支持小数点后面2位 + /// + [JsonProperty("room_amount")] + public string RoomAmount { get; set; } + + /// + /// 房间面积 数值范围:5.00㎡-300.00㎡,支持小数点后面2位 + /// + [JsonProperty("room_area")] + public string RoomArea { get; set; } + + /// + /// KA内部存储的房源编号 + /// + [JsonProperty("room_code")] + public long RoomCode { get; set; } + + /// + /// 分散式房间物品配置: 分散式整租房间配置 2:空调;3:热水器;4:洗衣机;5:冰箱;6:电视;7:微波炉;8:燃气灶;9:抽油烟机;10:电磁炉;11:床;11:WIFI;12:书桌;13:衣柜;14:沙发;15:阳台; + /// 分散式合租房间配置 2:空调;6:电视;11:床;12:书桌;13:衣柜;15:阳台;16:独卫; + /// + [JsonProperty("room_configs")] + + public List RoomConfigs { get; set; } + + /// + /// 分散式合租房间内对应每个卧室朝向 根据rent_type区分是否必填,合租必填,整租否。 + /// + [JsonProperty("room_face")] + public long RoomFace { get; set; } + + /// + /// 分散式合租房间内对应每个卧室名称。A_Z字母之一表示。 根据rent_type区分是否必填,合租必填,整租否。 + /// + [JsonProperty("room_name")] + public string RoomName { get; set; } + + /// + /// 门牌-室 + /// + [JsonProperty("room_num")] + public string RoomNum { get; set; } + + /// + /// 房源初始上下架状态 上架状态租房平台会展示该房间信息,下架状态反之 + /// + [JsonProperty("room_status")] + public long RoomStatus { get; set; } + + /// + /// 户型-卫 数值范围:0-10 + /// + [JsonProperty("toilet_count")] + public long ToiletCount { get; set; } + + /// + /// 房屋总楼层 数值范围:1-99,不能小于所在楼层 + /// + [JsonProperty("total_floor_count")] + public string TotalFloorCount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomStateSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomStateSyncModel.cs new file mode 100644 index 0000000..b7f005c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoRenthouseRoomStateSyncModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoRenthouseRoomStateSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoRenthouseRoomStateSyncModel : AopObject + { + /// + /// 房源类型(1:分散式 2:集中式) + /// + [JsonProperty("flats_tag")] + public long FlatsTag { get; set; } + + /// + /// 出租状态(1未租、2已租) + /// + [JsonProperty("rent_status")] + public long RentStatus { get; set; } + + /// + /// 公寓运营商内部存储的房源编号(ka系统的房源id) + /// + [JsonProperty("room_code")] + public string RoomCode { get; set; } + + /// + /// 是否上架,0:下架,1:上架 + /// + [JsonProperty("room_status")] + public long RoomStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoWelfareCodeSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoWelfareCodeSyncModel.cs new file mode 100644 index 0000000..bfb0858 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayEcoWelfareCodeSyncModel.cs @@ -0,0 +1,96 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayEcoWelfareCodeSyncModel Data Structure. + /// + [Serializable] + public class AlipayEcoWelfareCodeSyncModel : AopObject + { + /// + /// 支付宝账户USERID,和福利账户ID而选一,可以通过支付宝钱包用户信息共享接口获取支付宝账户ID + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 条码码值 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 条码可使用超时时间 格式为yyyy-MM-dd HH:mm:ss 备注:超时时间不允许比启动时间小 + /// + [JsonProperty("code_expire_date")] + public string CodeExpireDate { get; set; } + + /// + /// 条码数量 + /// + [JsonProperty("code_num")] + public long CodeNum { get; set; } + + /// + /// 条码图片url + /// + [JsonProperty("code_pic_url")] + public string CodePicUrl { get; set; } + + /// + /// 条码可使用开发时间 格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("code_start_date")] + public string CodeStartDate { get; set; } + + /// + /// 条码状态 CREATE 创建 NOT_USED 没有使用 USED 已经被使用 INVALID 码无效 EXPIRED 码过期 DISABLED 码冻结 NOT_EXIST 码不存在 + /// + [JsonProperty("code_status")] + public string CodeStatus { get; set; } + + /// + /// 条码状态变更时间 格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("code_status_date")] + public string CodeStatusDate { get; set; } + + /// + /// 条码业务类型 商品品类码:goods 用户商品条码:barcode + /// + [JsonProperty("code_type")] + public string CodeType { get; set; } + + /// + /// 扩展属性 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// ISV代码,唯一确定ISV身份由福利平台分配 + /// + [JsonProperty("isv_code")] + public string IsvCode { get; set; } + + /// + /// 核销门店详细信息 + /// + [JsonProperty("store_info")] + public WelfareEcoStoreInfo StoreInfo { get; set; } + + /// + /// 同步数据时间 格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("sync_date")] + public string SyncDate { get; set; } + + /// + /// 福利平台订单对应的用户ID,和支付宝用户ID而选一 + /// + [JsonProperty("welfare_user_id")] + public string WelfareUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceFundFundquotationQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceFundFundquotationQueryModel.cs new file mode 100644 index 0000000..b67f4a0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceFundFundquotationQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFinanceFundFundquotationQueryModel Data Structure. + /// + [Serializable] + public class AlipayFinanceFundFundquotationQueryModel : AopObject + { + /// + /// 基金编号:基金产品编号 + /// + [JsonProperty("fund_code")] + public string FundCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceQuotationDtcrawlerSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceQuotationDtcrawlerSendModel.cs new file mode 100644 index 0000000..0069852 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceQuotationDtcrawlerSendModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFinanceQuotationDtcrawlerSendModel Data Structure. + /// + [Serializable] + public class AlipayFinanceQuotationDtcrawlerSendModel : AopObject + { + /// + /// 爬虫平台推送数据,为json字符串,bizNo 为推送流水号,taskName为任务名,业务数据包含在bizData中 + /// + [JsonProperty("content")] + public string Content { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceZcbEndowmentorderDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceZcbEndowmentorderDetailQueryModel.cs new file mode 100644 index 0000000..7bf75f2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFinanceZcbEndowmentorderDetailQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFinanceZcbEndowmentorderDetailQueryModel Data Structure. + /// + [Serializable] + public class AlipayFinanceZcbEndowmentorderDetailQueryModel : AopObject + { + /// + /// 查询条件里时间区间的结束时间,格式为:YYYYMMDDHHMISS,采用左开右闭的方式 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// product_id:产品id,可以咨询蚂蚁这边的同学给出需要查询的产品id,查询订单只能按照产品纬度来查 + /// + [JsonProperty("product_id")] + public string ProductId { get; set; } + + /// + /// 查询条件里时间区间的开始时间,格式:YYYYMMDDHHMISS,查询订单的开始时间,采用左开右闭的方式 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOperationCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOperationCancelModel.cs new file mode 100644 index 0000000..87aa5ce --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOperationCancelModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundAuthOperationCancelModel Data Structure. + /// + [Serializable] + public class AlipayFundAuthOperationCancelModel : AopObject + { + /// + /// 支付宝授权资金订单号,与商户的授权资金订单号不能同时为空,二者都存在时,以支付宝资金授权订单号为准,该参数与支付宝授权资金操作流水号配对使用。 + /// + [JsonProperty("auth_no")] + public string AuthNo { get; set; } + + /// + /// 支付宝的授权资金操作流水号,与商户的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与支付宝授权资金订单号配对使用。 + /// + [JsonProperty("operation_id")] + public string OperationId { get; set; } + + /// + /// 商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空,二者都存在时,以支付宝的授权资金订单号为准,该参数与商户的授权资金操作流水号配对使用。 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户的授权资金操作流水号,与支付宝的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与商户的授权资金订单号配对使用。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 商户对本次撤销操作的附言描述,长度不超过100个字母或50个汉字 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOperationDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOperationDetailQueryModel.cs new file mode 100644 index 0000000..a80736b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOperationDetailQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundAuthOperationDetailQueryModel Data Structure. + /// + [Serializable] + public class AlipayFundAuthOperationDetailQueryModel : AopObject + { + /// + /// 支付宝授权资金订单号,与商户的授权资金订单号不能同时为空,二者都存在时,以支付宝资金授权订单号为准,该参数与支付宝授权资金操作流水号配对使用。 + /// + [JsonProperty("auth_no")] + public string AuthNo { get; set; } + + /// + /// 支付宝的授权资金操作流水号,与商户的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与支付宝授权资金订单号配对使用。 + /// + [JsonProperty("operation_id")] + public string OperationId { get; set; } + + /// + /// 商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空,二者都存在时,以支付宝的授权资金订单号为准,该参数与商户的授权资金操作流水号配对使用。 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户的授权资金操作流水号,与支付宝的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与商户的授权资金订单号配对使用。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderFreezeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderFreezeModel.cs new file mode 100644 index 0000000..aa34269 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderFreezeModel.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundAuthOrderFreezeModel Data Structure. + /// + [Serializable] + public class AlipayFundAuthOrderFreezeModel : AopObject + { + /// + /// 需要冻结的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 支付授权码,25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 授权码类型 目前仅支持"bar_code" + /// + [JsonProperty("auth_code_type")] + public string AuthCodeType { get; set; } + + /// + /// 业务扩展参数,用于商户的特定业务信息的传递,json格式 + /// + [JsonProperty("extra_param")] + public string ExtraParam { get; set; } + + /// + /// 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字 + /// + [JsonProperty("order_title")] + public string OrderTitle { get; set; } + + /// + /// 商户授权资金订单号 ,不能包含除中文、英文、数字以外的字符,创建后不能修改,需要保证在商户端不重复。 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号,用于标示请求流水的唯一性,不能包含除中文、英文、数字以外的字符,需要保证在商户端不重复。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m 如果为空,默认15m + /// + [JsonProperty("pay_timeout")] + public string PayTimeout { get; set; } + + /// + /// 收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。 + /// + [JsonProperty("payee_logon_id")] + public string PayeeLogonId { get; set; } + + /// + /// 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。 + /// + [JsonProperty("payee_user_id")] + public string PayeeUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderUnfreezeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderUnfreezeModel.cs new file mode 100644 index 0000000..e371668 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderUnfreezeModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundAuthOrderUnfreezeModel Data Structure. + /// + [Serializable] + public class AlipayFundAuthOrderUnfreezeModel : AopObject + { + /// + /// 本次操作解冻的金额,单位为:元(人民币),精确到小数点后两位,取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 支付宝资金授权订单号 + /// + [JsonProperty("auth_no")] + public string AuthNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号,同一商户每次不同的资金操作请求,商户请求流水号不能重复 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 商户对本次解冻操作的附言描述,长度不超过100个字母或50个汉字 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderVoucherCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderVoucherCreateModel.cs new file mode 100644 index 0000000..3ed9bbd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundAuthOrderVoucherCreateModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundAuthOrderVoucherCreateModel Data Structure. + /// + [Serializable] + public class AlipayFundAuthOrderVoucherCreateModel : AopObject + { + /// + /// 需要冻结的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 业务扩展参数,用于商户的特定业务信息的传递,json格式 + /// + [JsonProperty("extra_param")] + public string ExtraParam { get; set; } + + /// + /// 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字 + /// + [JsonProperty("order_title")] + public string OrderTitle { get; set; } + + /// + /// 商户授权资金订单号,创建后不能修改,需要保证在商户端不重复。 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号,用于标示请求流水的唯一性,需要保证在商户端不重复。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m 如果为空,默认15m + /// + [JsonProperty("pay_timeout")] + public string PayTimeout { get; set; } + + /// + /// 收款方支付宝账号(Email或手机号),如果收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)同时传递,则以用户号(payee_user_id)为准,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。 + /// + [JsonProperty("payee_logon_id")] + public string PayeeLogonId { get; set; } + + /// + /// 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成,如果非空则会在支付时校验交易的的收款方与此是否一致,如果商户有勾选花呗渠道,收款方支付宝登录号(payee_logon_id)和用户号(payee_user_id)不能同时为空。 + /// + [JsonProperty("payee_user_id")] + public string PayeeUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOperationQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOperationQueryModel.cs new file mode 100644 index 0000000..37f5d53 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOperationQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundCouponOperationQueryModel Data Structure. + /// + [Serializable] + public class AlipayFundCouponOperationQueryModel : AopObject + { + /// + /// 支付宝授权资金订单号,与商户的授权资金订单号不能同时为空,二者都存在时,以支付宝资金授权订单号为准,该参数与支付宝授权资金操作流水号配对使用。 + /// + [JsonProperty("auth_no")] + public string AuthNo { get; set; } + + /// + /// 支付宝的授权资金操作流水号,与商户的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与支付宝授权资金订单号配对使用。 + /// + [JsonProperty("operation_id")] + public string OperationId { get; set; } + + /// + /// 商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空,二者都存在时,以支付宝的授权资金订单号为准,该参数与商户的授权资金操作流水号配对使用。 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户的授权资金操作流水号,与支付宝的授权资金操作流水号不能同时为空,二者都存在时,以支付宝的授权资金操作流水号为准,该参数与商户的授权资金订单号配对使用。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderAgreementPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderAgreementPayModel.cs new file mode 100644 index 0000000..b028290 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderAgreementPayModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundCouponOrderAgreementPayModel Data Structure. + /// + [Serializable] + public class AlipayFundCouponOrderAgreementPayModel : AopObject + { + /// + /// 需要支付的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 业务扩展参数,用于商户的特定业务信息的传递,json格式 + /// + [JsonProperty("extra_param")] + public string ExtraParam { get; set; } + + /// + /// 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字 + /// + [JsonProperty("order_title")] + public string OrderTitle { get; set; } + + /// + /// 商户的授权资金订单号 同一商户不同的订单,商户授权资金订单号不能重复 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号 同一商户每次不同的资金操作请求,商户请求流水号不要重复 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~7d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m,如果为空,默认1h + /// + [JsonProperty("pay_timeout")] + public string PayTimeout { get; set; } + + /// + /// 付款方的支付宝唯一用户号,以2088开头的16位纯数字组成 + /// + [JsonProperty("payer_user_id")] + public string PayerUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderAppPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderAppPayModel.cs new file mode 100644 index 0000000..9598ed3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderAppPayModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundCouponOrderAppPayModel Data Structure. + /// + [Serializable] + public class AlipayFundCouponOrderAppPayModel : AopObject + { + /// + /// 需要支付的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 业务扩展参数,用于商户的特定业务信息的传递,json格式 + /// + [JsonProperty("extra_param")] + public string ExtraParam { get; set; } + + /// + /// 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字 + /// + [JsonProperty("order_title")] + public string OrderTitle { get; set; } + + /// + /// 商户的授权资金订单号 同一商户不同的订单,商户授权资金订单号不能重复 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号 同一商户每次不同的资金操作请求,商户请求流水号不要重复 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~7d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m,如果为空,默认1h + /// + [JsonProperty("pay_timeout")] + public string PayTimeout { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderDisburseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderDisburseModel.cs new file mode 100644 index 0000000..3e81c08 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderDisburseModel.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundCouponOrderDisburseModel Data Structure. + /// + [Serializable] + public class AlipayFundCouponOrderDisburseModel : AopObject + { + /// + /// 需要支付的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 发放红包时产生的支付宝资金订单号。deduct_auth_no与下面的deduct_out_order_no不能同时为空,二者都存在时,以deduct_auth_no为准。为了保证支付的高效,建议商户传入deduct_auth_no。 + /// + [JsonProperty("deduct_auth_no")] + public string DeductAuthNo { get; set; } + + /// + /// 发放红包时的商户授权资金订单号。deduct_out_order_no与上面的deduct_auth_no不能同时为空,二者都存在时,以deduct_auth_no为准。为了保证支付的高效,建议商户传入deduct_auth_no。 + /// + [JsonProperty("deduct_out_order_no")] + public string DeductOutOrderNo { get; set; } + + /// + /// 业务扩展参数,用于商户的特定业务信息的传递,json格式 + /// + [JsonProperty("extra_param")] + public string ExtraParam { get; set; } + + /// + /// 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字 + /// + [JsonProperty("order_title")] + public string OrderTitle { get; set; } + + /// + /// 商户的授权资金订单号 同一商户不同的订单,商户授权资金订单号不能重复 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号 同一商户每次不同的资金操作请求,商户请求流水号不要重复 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~7d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m,如果为空,默认1h + /// + [JsonProperty("pay_timeout")] + public string PayTimeout { get; set; } + + /// + /// 收款方的支付宝登录号,形式为手机号或邮箱等 + /// + [JsonProperty("payee_logon_id")] + public string PayeeLogonId { get; set; } + + /// + /// 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成 + /// + [JsonProperty("payee_user_id")] + public string PayeeUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderPagePayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderPagePayModel.cs new file mode 100644 index 0000000..e88883a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderPagePayModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundCouponOrderPagePayModel Data Structure. + /// + [Serializable] + public class AlipayFundCouponOrderPagePayModel : AopObject + { + /// + /// 需要支付的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 业务扩展参数,用于商户的特定业务信息的传递,json格式 + /// + [JsonProperty("extra_param")] + public string ExtraParam { get; set; } + + /// + /// 业务订单的简单描述,如商品名称等 长度不超过100个字母或50个汉字 + /// + [JsonProperty("order_title")] + public string OrderTitle { get; set; } + + /// + /// 商户的授权资金订单号 同一商户不同的订单,商户授权资金订单号不能重复 + /// + [JsonProperty("out_order_no")] + public string OutOrderNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号 同一商户每次不同的资金操作请求,商户请求流水号不要重复 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭该笔订单 取值范围:1m~7d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m,如果为空,默认1h + /// + [JsonProperty("pay_timeout")] + public string PayTimeout { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderRefundModel.cs new file mode 100644 index 0000000..669db44 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundCouponOrderRefundModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundCouponOrderRefundModel Data Structure. + /// + [Serializable] + public class AlipayFundCouponOrderRefundModel : AopObject + { + /// + /// 需要退款的金额,单位为:元(人民币),精确到小数点后两位 取值范围:[0.01,100000000.00] + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 支付宝的资金授权订单号,即之前发红包时产生的支付宝订单号 + /// + [JsonProperty("auth_no")] + public string AuthNo { get; set; } + + /// + /// 商户本次资金操作的请求流水号 同一商户每次不同的资金操作请求,商户请求流水号不要重复 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 商户对本次退款操作的附言描述,长度不超过100个字母或50个汉字 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchCreateorderModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchCreateorderModel.cs new file mode 100644 index 0000000..10a91c1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchCreateorderModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransBatchCreateorderModel Data Structure. + /// + [Serializable] + public class AlipayFundTransBatchCreateorderModel : AopObject + { + /// + /// 批次编号:创建批次时生成的批次号;表示这笔付款是这个批次下面的一条明细 + /// + [JsonProperty("batch_no")] + public string BatchNo { get; set; } + + /// + /// 必须是map的json串,长度限制为100 + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 金额,单位为元 + /// + [JsonProperty("pay_amount")] + public string PayAmount { get; set; } + + /// + /// 收款方userId + /// + [JsonProperty("payee_id")] + public string PayeeId { get; set; } + + /// + /// 付款方userId + /// + [JsonProperty("payer_id")] + public string PayerId { get; set; } + + /// + /// token;创建批次时和批次编号一起下发的token串 + /// + [JsonProperty("token")] + public string Token { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchCreatesinglebatchModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchCreatesinglebatchModel.cs new file mode 100644 index 0000000..8df0aaa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchCreatesinglebatchModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransBatchCreatesinglebatchModel Data Structure. + /// + [Serializable] + public class AlipayFundTransBatchCreatesinglebatchModel : AopObject + { + /// + /// 批次的创建说明,如收款理由等。注:字符长度不能超过24;字符串中不能含有特殊字符(比如emoji等) + /// + [JsonProperty("batch_memo")] + public string BatchMemo { get; set; } + + /// + /// 业务类型,目前支持下面三种业务类型, (AA收款 :aa, 江湖救急 :support , 活动收款:general), + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 创建者id(该id为用户的支付宝id,需要调用方自己进行转换传入) + /// + [JsonProperty("create_user_id")] + public string CreateUserId { get; set; } + + /// + /// 扩展参数,目前淘系会传商品类目过来key=categoryNo。注:长度不可超过100; 数据格式需要为map的json串 + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 单笔金额,单位为元。注: AA收款为平均后的金额;活动收款为单笔金额; 江湖救急不填写 + /// + [JsonProperty("pay_amount_single")] + public string PayAmountSingle { get; set; } + + /// + /// 总金额,单位为元。注:AA为收款总金额;活动收款为份数和单笔金额的积;江湖救急为目标金额 + /// + [JsonProperty("pay_amount_total")] + public string PayAmountTotal { get; set; } + + /// + /// 实际要创建的笔数。注:AA包括自己这里为show_items_total-1;活动收款为填写的份数;江湖救急不填写 + /// + [JsonProperty("real_items_total")] + public string RealItemsTotal { get; set; } + + /// + /// 显示的总笔数。注:AA收款为选择的人数;活动收款为填写的份数;江湖救急不填写 + /// + [JsonProperty("show_items_total")] + public string ShowItemsTotal { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchQuerybatchModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchQuerybatchModel.cs new file mode 100644 index 0000000..4b280b0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransBatchQuerybatchModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransBatchQuerybatchModel Data Structure. + /// + [Serializable] + public class AlipayFundTransBatchQuerybatchModel : AopObject + { + /// + /// 批次编号,创建批次时返回的批次编号 + /// + [JsonProperty("batch_no")] + public string BatchNo { get; set; } + + /// + /// token,创建批次时和批次编号一起返回。注:在使用批次号查询批次信息时需要带上 + /// + [JsonProperty("token")] + public string Token { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransDishonorQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransDishonorQueryModel.cs new file mode 100644 index 0000000..2897b03 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransDishonorQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransDishonorQueryModel Data Structure. + /// + [Serializable] + public class AlipayFundTransDishonorQueryModel : AopObject + { + /// + /// 查询退票起始时间:(大于等于),格式为yyyyMMdd。 用于查询退票起始日期00:00:00后发生的退票。 与refund_end差距不得大于15天。 + /// + [JsonProperty("dishonor_begin")] + public string DishonorBegin { get; set; } + + /// + /// 查询退票截止时间:(小于),格式为yyyyMMdd。 用于查询退票截止日期24:00:00前发生的退票。 与refund_begin差距不得大于15天。 + /// + [JsonProperty("dishonor_end")] + public string DishonorEnd { get; set; } + + /// + /// 查询页号。 必须是正整数。 默认值为1。 + /// + [JsonProperty("page")] + public string Page { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransOrderQueryModel.cs new file mode 100644 index 0000000..e3c0b6e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransOrderQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransOrderQueryModel Data Structure. + /// + [Serializable] + public class AlipayFundTransOrderQueryModel : AopObject + { + /// + /// 支付宝转账单据号:和商户转账唯一订单号不能同时为空。当和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 商户转账唯一订单号:发起转账来源方定义的转账单据ID。 和支付宝转账单据号不能同时为空。当和支付宝转账单据号同时提供时,将用支付宝转账单据号进行查询,忽略本参数。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransThirdpartyRewardCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransThirdpartyRewardCreateModel.cs new file mode 100644 index 0000000..4ace529 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransThirdpartyRewardCreateModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransThirdpartyRewardCreateModel Data Structure. + /// + [Serializable] + public class AlipayFundTransThirdpartyRewardCreateModel : AopObject + { + /// + /// 打赏金额,单位:人民币分 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 扩展参数,json格式 + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 外部业务号,用于幂等控制 + /// + [JsonProperty("out_no")] + public string OutNo { get; set; } + + /// + /// 收款用户的支付宝userId + /// + [JsonProperty("receiver_user_id")] + public string ReceiverUserId { get; set; } + + /// + /// 场景码,需业务方分配方可使用 + /// + [JsonProperty("scene")] + public string Scene { get; set; } + + /// + /// 付款用户的支付宝userId + /// + [JsonProperty("sender_user_id")] + public string SenderUserId { get; set; } + + /// + /// 打赏的标题(理由) + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransThirdpartyRewardQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransThirdpartyRewardQueryModel.cs new file mode 100644 index 0000000..369c748 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransThirdpartyRewardQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransThirdpartyRewardQueryModel Data Structure. + /// + [Serializable] + public class AlipayFundTransThirdpartyRewardQueryModel : AopObject + { + /// + /// 场景码,接入时找业务方分配 + /// + [JsonProperty("scene")] + public string Scene { get; set; } + + /// + /// 付款方支付宝UserId + /// + [JsonProperty("sender_user_id")] + public string SenderUserId { get; set; } + + /// + /// 打赏单据号 + /// + [JsonProperty("transfer_no")] + public string TransferNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransToaccountTransferModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransToaccountTransferModel.cs new file mode 100644 index 0000000..e02c90c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransToaccountTransferModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransToaccountTransferModel Data Structure. + /// + [Serializable] + public class AlipayFundTransToaccountTransferModel : AopObject + { + /// + /// 转账金额,单位:元。 只支持2位小数,小数点前最大支持13位,金额必须大于等于0.1元。 最大转账金额以实际签约的限额为准。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 扩展参数,json字符串格式,目前仅支持的key:order_title:收款方转账账单标题。 用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。 + /// + [JsonProperty("ext_param")] + public string ExtParam { get; set; } + + /// + /// 商户转账唯一订单号。发起转账来源方定义的转账单据ID,用于将转账回执通知给来源方。 不同来源方给出的ID可以重复,同一个来源方必须保证其ID的唯一性。 只支持半角英文、数字,及“-”、“_”。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 收款方账户。与payee_type配合使用。付款方和收款方不能是同一个账户。 + /// + [JsonProperty("payee_account")] + public string PayeeAccount { get; set; } + + /// + /// 收款方真实姓名(最长支持100个英文/50个汉字)。 如果本参数不为空,则会校验该账户在支付宝登记的实名是否与收款方真实姓名一致。 + /// + [JsonProperty("payee_real_name")] + public string PayeeRealName { get; set; } + + /// + /// 收款方账户类型。可取值: 1、ALIPAY_USERID:支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。 2、ALIPAY_LOGONID:支付宝登录号,支持邮箱和手机号格式。 + /// + [JsonProperty("payee_type")] + public string PayeeType { get; set; } + + /// + /// 付款方真实姓名(最长支持100个英文/50个汉字)。 如果本参数不为空,则会校验该账户在支付宝登记的实名是否与付款方真实姓名一致。 + /// + [JsonProperty("payer_real_name")] + public string PayerRealName { get; set; } + + /// + /// 付款方姓名(最长支持100个英文/50个汉字)。显示在收款方的账单详情页。如果该字段不传,则默认显示付款方的支付宝认证姓名或单位名称。 + /// + [JsonProperty("payer_show_name")] + public string PayerShowName { get; set; } + + /// + /// 转账备注(支持200个英文/100个汉字)。 当付款方为企业账户,且转账金额达到(大于等于)50000元,remark不能为空。收款方可见,会展示在收款用户的收支详情中。 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransTobankTransferModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransTobankTransferModel.cs new file mode 100644 index 0000000..70621ef --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayFundTransTobankTransferModel.cs @@ -0,0 +1,97 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayFundTransTobankTransferModel Data Structure. + /// + [Serializable] + public class AlipayFundTransTobankTransferModel : AopObject + { + /// + /// 转账金额,单位:元。 只支持2位小数,小数点前最大支持13位,金额必须大于0。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 用途信息。 当转账金额大于5万且银行卡账户类型为对私时,必须传递本参数。 当付款方为企业账户,且转账金额达到(大于等于)50000元,memo和remark不能同时为空。 1:代发工资协议和收款人清单 2:奖励 + /// 3:新闻版、演出等相关劳动合同 4:证券、期货、信托等退款 5:债权或产权转让协议 6:借款合同 7:保险合同 8:税收征管部门的 9:农、副、矿产品购销合同 10:其他合法款项的 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户转账唯一订单号:发起转账来源方定义的转账单据ID,用于将转账回执通知给来源方。 不同来源方给出的ID可以重复,同一个来源方必须保证其ID的唯一性。 只支持半角英文、数字,及“-”、“_”。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 收款方银行账户名,必须与收款方银行卡号所属账户信息一致。 + /// + [JsonProperty("payee_account_name")] + public string PayeeAccountName { get; set; } + + /// + /// 收款账户类型。 1:对公(在金融机构开设的公司账户) 2:对私(在金融机构开设的个人账户) + /// + [JsonProperty("payee_account_type")] + public string PayeeAccountType { get; set; } + + /// + /// 收款支行联行号:收款银行支行联行号(支持32个英文/16个汉字)。 + /// + [JsonProperty("payee_bank_code")] + public string PayeeBankCode { get; set; } + + /// + /// 收款方银行卡号信息,只支持半角英文、数字及“-”。 目前只支持借记卡卡号。 + /// + [JsonProperty("payee_card_no")] + public string PayeeCardNo { get; set; } + + /// + /// 收款银行所属支行(支持100个英文/50个汉字)。 + /// + [JsonProperty("payee_inst_branch_name")] + public string PayeeInstBranchName { get; set; } + + /// + /// 收款银行所在市(支持40个英文/20个汉字)。 + /// + [JsonProperty("payee_inst_city")] + public string PayeeInstCity { get; set; } + + /// + /// 收款卡开户银行(支持30个英文/15个汉字)。 + /// + [JsonProperty("payee_inst_name")] + public string PayeeInstName { get; set; } + + /// + /// 收款银行所在省份(支持20个英文/10个汉字)。 + /// + [JsonProperty("payee_inst_province")] + public string PayeeInstProvince { get; set; } + + /// + /// 付款方真实姓名(支持100个英文/50个汉字)。 如果不为空,则会校验该账户在支付宝登入的实名是否与付款方真实姓名一致。 + /// + [JsonProperty("payer_real_name")] + public string PayerRealName { get; set; } + + /// + /// 银行备注(支持100个英文/50个汉字),该信息将通过银行渠道发送给收款方。 当付款方为企业账户,且转账金额达到(大于等于)50000元,memo和remark不能同时为空。 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + + /// + /// 申请到账时效。 T0:当日到账 T1:次日到账 + /// + [JsonProperty("time_liness")] + public string TimeLiness { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayHighValueCustomerResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayHighValueCustomerResult.cs new file mode 100644 index 0000000..75694d6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayHighValueCustomerResult.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayHighValueCustomerResult Data Structure. + /// + [Serializable] + public class AlipayHighValueCustomerResult : AopObject + { + /// + /// Z0-Z7 + /// + [JsonProperty("level")] + public string Level { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsAutoCarSaveModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsAutoCarSaveModel.cs new file mode 100644 index 0000000..d443a90 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsAutoCarSaveModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsAutoCarSaveModel Data Structure. + /// + [Serializable] + public class AlipayInsAutoCarSaveModel : AopObject + { + /// + /// 车牌号 + /// + [JsonProperty("car_no")] + public string CarNo { get; set; } + + /// + /// 用户ID,车主会员ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsAutoFeeReceiveConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsAutoFeeReceiveConfirmModel.cs new file mode 100644 index 0000000..2f80999 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsAutoFeeReceiveConfirmModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsAutoFeeReceiveConfirmModel Data Structure. + /// + [Serializable] + public class AlipayInsAutoFeeReceiveConfirmModel : AopObject + { + /// + /// 外部业务单号,幂等字段,必填。和保险公司交互时同收单系统的outTradeNo + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 交易总金额 ;单位分 + /// + [JsonProperty("trade_amount")] + public long TradeAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsCooperationProductQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsCooperationProductQueryModel.cs new file mode 100644 index 0000000..0c103e3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsCooperationProductQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsCooperationProductQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsCooperationProductQueryModel : AopObject + { + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutoScoreQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutoScoreQueryModel.cs new file mode 100644 index 0000000..0a034c3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutoScoreQueryModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataAutoScoreQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsDataAutoScoreQueryModel : AopObject + { + /// + /// 投保地区码,参考《城市列表(含区县)v0307.xlsx》 + /// + [JsonProperty("area_id")] + public string AreaId { get; set; } + + /// + /// 业务单号,唯一标识一次业务操作,与业务操作绑定。例如:A用户投保时进行车险分查询,然后发现输错了证件号码,用户修改证件号码进行二次查询,此时业务单号不用发生变化,但是UUID需要重新生成,标识【同一次业务操作,但不同的一次请求】 + /// + [JsonProperty("biz_no")] + public string BizNo { get; set; } + + /// + /// 业务类型参考如下 UNDERWRITING:核保 PRICING:定价 PROMOTION:优惠 CLAIM:理赔 CUSTOMER_SERVICE:客服 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 车架号 + /// + [JsonProperty("car_frame_no")] + public string CarFrameNo { get; set; } + + /// + /// 车牌号,新车车牌号为空,旧车车牌号需符合行业标准 + /// + [JsonProperty("car_no")] + public string CarNo { get; set; } + + /// + /// 姓名,须与证件上名称一致 + /// + [JsonProperty("cert_name")] + public string CertName { get; set; } + + /// + /// 证件号码 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 投保支持证件类型参考: IDENTITY_CARD:身份证 备注:目前仅支持身份证类型 + /// + [JsonProperty("cert_type")] + public string CertType { get; set; } + + /// + /// 扩展信息,标准JSON格式 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 人员角色 优先级为 车主>被保人>投保人 CAR_OWNER:车主 INSURED:被保险人 APPLICANT:投保人 + /// + [JsonProperty("role_type")] + public string RoleType { get; set; } + + /// + /// 请求发起时通过程序生成标准UUID,每一次请求都需要变化。JAVA:UUID.randomUUID().toString() + /// + [JsonProperty("uuid")] + public string Uuid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateApplyModel.cs new file mode 100644 index 0000000..0861b70 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateApplyModel.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataAutodamageEstimateApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsDataAutodamageEstimateApplyModel : AopObject + { + /// + /// 车险商业险保单号 + /// + [JsonProperty("commercial_policy_no")] + public string CommercialPolicyNo { get; set; } + + /// + /// 交强险保单号 + /// + [JsonProperty("compulsory_policy_no")] + public string CompulsoryPolicyNo { get; set; } + + /// + /// 汽车发动机号 + /// + [JsonProperty("engine_no")] + public string EngineNo { get; set; } + + /// + /// 保险公司定损单号,唯一标识一个定损单的id + /// + [JsonProperty("estimate_no")] + public string EstimateNo { get; set; } + + /// + /// 定损请求uuid,唯一标识一次定损请求,用于做幂等控制 + /// + [JsonProperty("estimate_request_uuid")] + public string EstimateRequestUuid { get; set; } + + /// + /// 车架号 + /// + [JsonProperty("frame_no")] + public string FrameNo { get; set; } + + /// + /// 车损图片信息列表 + /// + [JsonProperty("image_list")] + + public List ImageList { get; set; } + + /// + /// 车牌号 + /// + [JsonProperty("license_no")] + public string LicenseNo { get; set; } + + /// + /// 车型厂牌 + /// + [JsonProperty("model_brand")] + public string ModelBrand { get; set; } + + /// + /// 车险报案号 + /// + [JsonProperty("report_no")] + public string ReportNo { get; set; } + + /// + /// 请求发生时的时间戳 + /// + [JsonProperty("request_timestamp")] + public long RequestTimestamp { get; set; } + + /// + /// 查勘号 + /// + [JsonProperty("survey_no")] + public string SurveyNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateConfirmModel.cs new file mode 100644 index 0000000..0e05bde --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateConfirmModel.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataAutodamageEstimateConfirmModel Data Structure. + /// + [Serializable] + public class AlipayInsDataAutodamageEstimateConfirmModel : AopObject + { + /// + /// 业务类型,2表示机构核损,3表示机构定损 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 车险商业险保单号 + /// + [JsonProperty("commercial_policy_no")] + public string CommercialPolicyNo { get; set; } + + /// + /// 交强险保单号 + /// + [JsonProperty("compulsory_policy_no")] + public string CompulsoryPolicyNo { get; set; } + + /// + /// 汽车发动机号 + /// + [JsonProperty("engine_no")] + public string EngineNo { get; set; } + + /// + /// 核损详情对象列表 + /// + [JsonProperty("estimate_detail_list")] + + public List EstimateDetailList { get; set; } + + /// + /// 保险公司定损单号,唯一标识一个定损单的id + /// + [JsonProperty("estimate_no")] + public string EstimateNo { get; set; } + + /// + /// 车架号 + /// + [JsonProperty("frame_no")] + public string FrameNo { get; set; } + + /// + /// 车牌号 + /// + [JsonProperty("license_no")] + public string LicenseNo { get; set; } + + /// + /// 车型厂牌 + /// + [JsonProperty("model_brand")] + public string ModelBrand { get; set; } + + /// + /// 维修企业名称 + /// + [JsonProperty("repair_corp_name")] + public string RepairCorpName { get; set; } + + /// + /// 维修企业类型 + /// + [JsonProperty("repair_corp_type")] + public string RepairCorpType { get; set; } + + /// + /// 车险报案号 + /// + [JsonProperty("report_no")] + public string ReportNo { get; set; } + + /// + /// 查勘号 + /// + [JsonProperty("survey_no")] + public string SurveyNo { get; set; } + + /// + /// 车损总金额,单位:元 + /// + [JsonProperty("total_damage_amount")] + public string TotalDamageAmount { get; set; } + + /// + /// 残值扣除总金额,单位:元 + /// + [JsonProperty("total_remain_value")] + public string TotalRemainValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateQueryModel.cs new file mode 100644 index 0000000..d3cb234 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageEstimateQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataAutodamageEstimateQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsDataAutodamageEstimateQueryModel : AopObject + { + /// + /// 保险公司定损单号,同之前调用的“提交车险图像定损请求”接口中的定损单号。 + /// + [JsonProperty("estimate_no")] + public string EstimateNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageRequestImageInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageRequestImageInfo.cs new file mode 100644 index 0000000..8ea5357 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataAutodamageRequestImageInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataAutodamageRequestImageInfo Data Structure. + /// + [Serializable] + public class AlipayInsDataAutodamageRequestImageInfo : AopObject + { + /// + /// 图像文件名称 + /// + [JsonProperty("image_name")] + public string ImageName { get; set; } + + /// + /// 图像文件在存储上的路径 + /// + [JsonProperty("image_path")] + public string ImagePath { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateApplyModel.cs new file mode 100644 index 0000000..f186f72 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateApplyModel.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataDsbEstimateApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsDataDsbEstimateApplyModel : AopObject + { + /// + /// 车辆属性,json格式 + /// + [JsonProperty("car_properties")] + public string CarProperties { get; set; } + + /// + /// 案件属性,json字符串格式,目前key值有is_night_case(是否夜间案件)、is_human_hurt(是否有人伤)、is_only_outlook_damage(是否纯外观损伤)等 + /// + [JsonProperty("case_properties")] + public string CaseProperties { get; set; } + + /// + /// 车险商业险保单号 + /// + [JsonProperty("commercial_policy_no")] + public string CommercialPolicyNo { get; set; } + + /// + /// 交强险保单号 + /// + [JsonProperty("compulsory_policy_no")] + public string CompulsoryPolicyNo { get; set; } + + /// + /// 发动机号 + /// + [JsonProperty("engine_no")] + public string EngineNo { get; set; } + + /// + /// 保险公司定损单号,唯一标识一个定损单的id + /// + [JsonProperty("estimate_no")] + public string EstimateNo { get; set; } + + /// + /// 定损请求uuid,唯一标识一次定损请求,用于做幂等控制 + /// + [JsonProperty("estimate_request_uuid")] + public string EstimateRequestUuid { get; set; } + + /// + /// 车架号 + /// + [JsonProperty("frame_no")] + public string FrameNo { get; set; } + + /// + /// 车损图片信息列表 + /// + [JsonProperty("image_list")] + public List ImageList { get; set; } + + /// + /// 车牌号 + /// + [JsonProperty("license_no")] + public string LicenseNo { get; set; } + + /// + /// 车型厂牌,理赔车型 + /// + [JsonProperty("model_brand")] + public string ModelBrand { get; set; } + + /// + /// 维修企业属性,json字符串格式,目前key值有:type(企业类型/等级)、name(企业名称)、address(地址)、code(维修企业编码)等 + /// + [JsonProperty("repair_corp_properties")] + public string RepairCorpProperties { get; set; } + + /// + /// 报案号 + /// + [JsonProperty("report_no")] + public string ReportNo { get; set; } + + /// + /// 请求发生时的时间戳 + /// + [JsonProperty("request_timestamp")] + public string RequestTimestamp { get; set; } + + /// + /// 查勘号 + /// + [JsonProperty("survey_no")] + public string SurveyNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateQueryModel.cs new file mode 100644 index 0000000..e3c1ad4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataDsbEstimateQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsDataDsbEstimateQueryModel : AopObject + { + /// + /// 定损单号 + /// + [JsonProperty("estimate_no")] + public string EstimateNo { get; set; } + + /// + /// 车架号 + /// + [JsonProperty("frame_no")] + public string FrameNo { get; set; } + + /// + /// 车牌号 + /// + [JsonProperty("license_no")] + public string LicenseNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateSyncModel.cs new file mode 100644 index 0000000..5b6867b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbEstimateSyncModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataDsbEstimateSyncModel Data Structure. + /// + [Serializable] + public class AlipayInsDataDsbEstimateSyncModel : AopObject + { + /// + /// 业务类型:assessment(定损),evaluation(核损) + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 定损/核损详情对象列表 + /// + [JsonProperty("estimate_detail_list")] + + public List EstimateDetailList { get; set; } + + /// + /// 保险公司定损单号,唯一标识一个定损单的id + /// + [JsonProperty("estimate_no")] + public string EstimateNo { get; set; } + + /// + /// 车架号 + /// + [JsonProperty("frame_no")] + public string FrameNo { get; set; } + + /// + /// 车牌号 + /// + [JsonProperty("license_no")] + public string LicenseNo { get; set; } + + /// + /// 维修企业属性,json字符串格式,目前key值有:type(企业类型/等级)、name(企业名称)、address(地址)、code(维修企业编码)等 + /// + [JsonProperty("repair_corp_properties")] + public string RepairCorpProperties { get; set; } + + /// + /// 车损总金额,单位:元 + /// + [JsonProperty("total_damage_amount")] + public string TotalDamageAmount { get; set; } + + /// + /// 残值扣除总金额,单位:元 + /// + [JsonProperty("total_remain_value")] + public string TotalRemainValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbRequestImageInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbRequestImageInfo.cs new file mode 100644 index 0000000..26969e8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataDsbRequestImageInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataDsbRequestImageInfo Data Structure. + /// + [Serializable] + public class AlipayInsDataDsbRequestImageInfo : AopObject + { + /// + /// 图像文件名称 + /// + [JsonProperty("image_name")] + public string ImageName { get; set; } + + /// + /// 图像文件在存储上的路径 + /// + [JsonProperty("image_path")] + public string ImagePath { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataWeatherSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataWeatherSyncModel.cs new file mode 100644 index 0000000..506c107 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsDataWeatherSyncModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsDataWeatherSyncModel Data Structure. + /// + [Serializable] + public class AlipayInsDataWeatherSyncModel : AopObject + { + /// + /// 天气信息描述信息 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 外部业务幂等字段 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignDecisionModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignDecisionModel.cs new file mode 100644 index 0000000..e7b6992 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignDecisionModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingCampaignDecisionModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingCampaignDecisionModel : AopObject + { + /// + /// 描述营销活动涉及的业务类型 1:平台险业务 + /// + [JsonProperty("business_type")] + public long BusinessType { get; set; } + + /// + /// 营销市场列表 + /// + [JsonProperty("market_types")] + + public List MarketTypes { get; set; } + + /// + /// 保险营销平台营销标的标识 + /// + [JsonProperty("mkt_obj_id")] + public string MktObjId { get; set; } + + /// + /// 保险营销平台的营销标的类型 1:淘宝商品 + /// + [JsonProperty("mkt_obj_type")] + public long MktObjType { get; set; } + + /// + /// 请求流水id + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignPrizeSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignPrizeSendModel.cs new file mode 100644 index 0000000..2a9276f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignPrizeSendModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingCampaignPrizeSendModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingCampaignPrizeSendModel : AopObject + { + /// + /// 账户id,如支付宝userId:2088102161835009 + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } + + /// + /// 账号类型 + /// + [JsonProperty("account_type")] + public long AccountType { get; set; } + + /// + /// 营销保险活动Id + /// + [JsonProperty("campaign_id")] + public string CampaignId { get; set; } + + /// + /// 发奖规则因子 + /// + [JsonProperty("factors")] + + public List Factors { get; set; } + + /// + /// 发奖接口幂等字段 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 请求流水Id + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignQueryModel.cs new file mode 100644 index 0000000..67c579d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCampaignQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingCampaignQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingCampaignQueryModel : AopObject + { + /// + /// 保险营销活动Id + /// + [JsonProperty("campaign_id")] + public string CampaignId { get; set; } + + /// + /// 请求流水Id + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCertificateBatchcreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCertificateBatchcreateModel.cs new file mode 100644 index 0000000..cf0d68b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCertificateBatchcreateModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingCertificateBatchcreateModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingCertificateBatchcreateModel : AopObject + { + /// + /// 批量创建凭证请求 + /// + [JsonProperty("ins_create_certificate_requests")] + + public List InsCreateCertificateRequests { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCertificateBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCertificateBatchqueryModel.cs new file mode 100644 index 0000000..04239f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingCertificateBatchqueryModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingCertificateBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingCertificateBatchqueryModel : AopObject + { + /// + /// 32 + /// + [JsonProperty("certificate_no")] + public string CertificateNo { get; set; } + + /// + /// 凭证类型 + /// + [JsonProperty("certificate_type")] + public string CertificateType { get; set; } + + /// + /// 当前页码 + /// + [JsonProperty("current_page_no")] + public long CurrentPageNo { get; set; } + + /// + /// 生效时间 + /// + [JsonProperty("effect_time")] + public string EffectTime { get; set; } + + /// + /// 机构id + /// + [JsonProperty("inst_id")] + public string InstId { get; set; } + + /// + /// 是否失效 + /// + [JsonProperty("is_enabled")] + public string IsEnabled { get; set; } + + /// + /// 订单id + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 订单来源 + /// + [JsonProperty("order_source")] + public string OrderSource { get; set; } + + /// + /// 外部业务单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 拥有人uid + /// + [JsonProperty("owner_uid")] + public string OwnerUid { get; set; } + + /// + /// 每页记录数量 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 凭证状态 + /// + [JsonProperty("status")] + public long Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingDiscountDecisionModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingDiscountDecisionModel.cs new file mode 100644 index 0000000..d1a850a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingDiscountDecisionModel.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingDiscountDecisionModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingDiscountDecisionModel : AopObject + { + /// + /// 保险营销账号Id + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } + + /// + /// 保险营销账号类型 + /// + [JsonProperty("account_type")] + public long AccountType { get; set; } + + /// + /// 保险营销业务类型 + /// + [JsonProperty("business_type")] + public long BusinessType { get; set; } + + /// + /// 优惠咨询因子 + /// + [JsonProperty("factors")] + + public List Factors { get; set; } + + /// + /// 营销市场列表 + /// + [JsonProperty("market_types")] + + public List MarketTypes { get; set; } + + /// + /// 营销标的列表 + /// + [JsonProperty("mkt_objects")] + + public List MktObjects { get; set; } + + /// + /// 请求流水Id + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingDiscountPreuseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingDiscountPreuseModel.cs new file mode 100644 index 0000000..639c9e9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingDiscountPreuseModel.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingDiscountPreuseModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingDiscountPreuseModel : AopObject + { + /// + /// 保险营销账号Id + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } + + /// + /// 保险营销账号类型 + /// + [JsonProperty("account_type")] + public long AccountType { get; set; } + + /// + /// 保险营销业务类型 + /// + [JsonProperty("business_type")] + public long BusinessType { get; set; } + + /// + /// 优惠决策因子 + /// + [JsonProperty("factors")] + + public List Factors { get; set; } + + /// + /// 营销市场列表 + /// + [JsonProperty("market_types")] + + public List MarketTypes { get; set; } + + /// + /// 权益活动列表 + /// + [JsonProperty("mkt_coupon_campaigns")] + + public List MktCouponCampaigns { get; set; } + + /// + /// 用户选择的权益列表 + /// + [JsonProperty("mkt_coupons")] + + public List MktCoupons { get; set; } + + /// + /// 营销标的列表 + /// + [JsonProperty("mkt_objects")] + + public List MktObjects { get; set; } + + /// + /// 请求流水id + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingSellerSignModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingSellerSignModel.cs new file mode 100644 index 0000000..d5aa30a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsMarketingSellerSignModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsMarketingSellerSignModel Data Structure. + /// + [Serializable] + public class AlipayInsMarketingSellerSignModel : AopObject + { + /// + /// 商户生成的外部业务号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品(如饿了么外卖延误险) + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 卖家 + /// + [JsonProperty("seller")] + public InsPerson Seller { get; set; } + + /// + /// 签约的用户支付宝id + /// + [JsonProperty("sign_alipay_id")] + public string SignAlipayId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationApplyModel.cs new file mode 100644 index 0000000..fc52aed --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationApplyModel.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneApplicationApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneApplicationApplyModel : AopObject + { + /// + /// 投保人 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 支付账单流水的标题 + /// + [JsonProperty("bill_title")] + public string BillTitle { get; set; } + + /// + /// 投保参数 ,每个产品特有的投保参数,如航空险的航班信息;标准json格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 生效时间 + /// + [JsonProperty("effect_start_time")] + public string EffectStartTime { get; set; } + + /// + /// 被保险人 + /// + [JsonProperty("insureds")] + + public List Insureds { get; set; } + + /// + /// 商户生成的外部投保业务号,必须保证唯一 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 险种保障期限,数字+"Y/M/D"结尾,非固定期限险种或多固定期限险种必填 + /// + [JsonProperty("period")] + public string Period { get; set; } + + /// + /// 实际保费,询价接口获取的保费通过投保接口传递进来。投保接口会对传入的保费进行验证。传入的保费和核价的值不一样投保失败 + /// + [JsonProperty("premium")] + public long Premium { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品(如饿了么外卖延误险) + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 渠道来源 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 保额值,保额类型为枚举的时候是一个枚举值,当为金额类型时单位为分 + /// + [JsonProperty("sum_insured")] + public long SumInsured { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationBatchqueryModel.cs new file mode 100644 index 0000000..2dddf11 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneApplicationBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneApplicationBatchqueryModel : AopObject + { + /// + /// 投保人 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 商户生成的外部投保业务号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 渠道来源 + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationCancelModel.cs new file mode 100644 index 0000000..e114c31 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationCancelModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneApplicationCancelModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneApplicationCancelModel : AopObject + { + /// + /// 投保订单号 + /// + [JsonProperty("application_no")] + public string ApplicationNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationGroupApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationGroupApplyModel.cs new file mode 100644 index 0000000..e48e3e7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationGroupApplyModel.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneApplicationGroupApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneApplicationGroupApplyModel : AopObject + { + /// + /// 收件人 + /// + [JsonProperty("addressee")] + public InsAddressee Addressee { get; set; } + + /// + /// 投保人 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 投保申请信息列表 + /// + [JsonProperty("applications")] + + public List Applications { get; set; } + + /// + /// 保费支付账单流水的标题 + /// + [JsonProperty("bill_title")] + public string BillTitle { get; set; } + + /// + /// 商户生成的外部投保业务号,必须保证唯一 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 渠道来源 + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationIssueConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationIssueConfirmModel.cs new file mode 100644 index 0000000..52d0e40 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationIssueConfirmModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneApplicationIssueConfirmModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneApplicationIssueConfirmModel : AopObject + { + /// + /// 投保订单号 + /// + [JsonProperty("application_no")] + public string ApplicationNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationQueryModel.cs new file mode 100644 index 0000000..e0297f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneApplicationQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneApplicationQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneApplicationQueryModel : AopObject + { + /// + /// 投保订单号;当商户生成的外部投保业务号不传时则必传 + /// + [JsonProperty("application_no")] + public string ApplicationNo { get; set; } + + /// + /// 商户生成的外部投保业务号;当投保订单号不传时必传 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 产品编码;当投保订单号不传时必传. + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneClaimApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneClaimApplyModel.cs new file mode 100644 index 0000000..3dfbf0a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneClaimApplyModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneClaimApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneClaimApplyModel : AopObject + { + /// + /// 出险地点 + /// + [JsonProperty("accident_address")] + public string AccidentAddress { get; set; } + + /// + /// 出险描述 + /// + [JsonProperty("accident_desc")] + public string AccidentDesc { get; set; } + + /// + /// 出险时间 + /// + [JsonProperty("accident_time")] + public string AccidentTime { get; set; } + + /// + /// 受益人 + /// + [JsonProperty("beneficiary")] + public InsPerson Beneficiary { get; set; } + + /// + /// 支付账单流水的标题 + /// + [JsonProperty("bill_title")] + public string BillTitle { get; set; } + + /// + /// 理赔因子;标准json格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 索赔金额(如果需要外部指定则必填),单位分 + /// + [JsonProperty("claim_fee")] + public long ClaimFee { get; set; } + + /// + /// 商户生成的外部投保业务单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户生成的理赔请求单号【幂等字段】 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品(如饿了么外卖延误险) + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 报案人 + /// + [JsonProperty("reporter")] + public InsPerson Reporter { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneClaimAttachmentConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneClaimAttachmentConfirmModel.cs new file mode 100644 index 0000000..9a6928c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneClaimAttachmentConfirmModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneClaimAttachmentConfirmModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneClaimAttachmentConfirmModel : AopObject + { + /// + /// 理赔申请报案号,通过理赔申请【alipay.ins.scene.claim.apply】接口的返回字段claim_report_no获取 + /// + [JsonProperty("claim_report_no")] + public string ClaimReportNo { get; set; } + + /// + /// 上传的文件名清单列表,即alipay.ins.scene.claim.attachment.upload 接口中的attachment_name 用逗号(,)隔离 + /// + [JsonProperty("upload_files")] + + public List UploadFiles { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneCouponReceiveModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneCouponReceiveModel.cs new file mode 100644 index 0000000..ee22ad1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneCouponReceiveModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneCouponReceiveModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneCouponReceiveModel : AopObject + { + /// + /// 投保人 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 保险发奖凭证 + /// + [JsonProperty("certificate")] + public InsCertificate Certificate { get; set; } + + /// + /// 被保险人 + /// + [JsonProperty("insured")] + public InsPerson Insured { get; set; } + + /// + /// 市场类型;TAOBAO:淘宝平台,ANT: 蚂蚁平台 + /// + [JsonProperty("market_type")] + public string MarketType { get; set; } + + /// + /// 商户生成的外部业务号,必须保证唯一,幂等控制 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户pid + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 产品版本号 + /// + [JsonProperty("prod_version")] + public string ProdVersion { get; set; } + + /// + /// 服务场景; propertyPaySuccess:蚂蚁物业支付成功页面 + /// + [JsonProperty("service_scenario")] + public string ServiceScenario { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneCouponSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneCouponSendModel.cs new file mode 100644 index 0000000..eb5f8e2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneCouponSendModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneCouponSendModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneCouponSendModel : AopObject + { + /// + /// 渠道账号对应的uid;如果证件类型字段没填则必填 + /// + [JsonProperty("channel_user_id")] + public string ChannelUserId { get; set; } + + /// + /// 渠道账号来源;1:支付宝账号 2:淘宝账号;如果证件类型字段没填则必填 + /// + [JsonProperty("channel_user_source")] + public string ChannelUserSource { get; set; } + + /// + /// 活动维度id; 商户PID值 + /// + [JsonProperty("dimension_id")] + public string DimensionId { get; set; } + + /// + /// 活动维度; GOODS:淘宝商品,ANT_PID:蚂蚁商户PID + /// + [JsonProperty("dimension_type")] + public string DimensionType { get; set; } + + /// + /// 市场类型; TAOBAO:淘宝平台,ANT: 蚂蚁平台 + /// + [JsonProperty("market_type")] + public string MarketType { get; set; } + + /// + /// 商户生成的外部业务号,必须保证唯一,幂等控制 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 服务场景; propertyPaySuccess:蚂蚁物业支付成功页面 + /// + [JsonProperty("service_scenario")] + public string ServiceScenario { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneInvoiceApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneInvoiceApplyModel.cs new file mode 100644 index 0000000..cca4d27 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneInvoiceApplyModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneInvoiceApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneInvoiceApplyModel : AopObject + { + /// + /// 发票寄送类型;ELECTRONIC:电子发票;PAPER:纸质发票;BOTH:电子+纸质 + /// + [JsonProperty("delivery_type")] + public string DeliveryType { get; set; } + + /// + /// 发票收件人 + /// + [JsonProperty("invoice_addressee")] + public InsAddressee InvoiceAddressee { get; set; } + + /// + /// 发票申请明细 + /// + [JsonProperty("invoice_apply_item")] + public InsInvoiceApplyItem InvoiceApplyItem { get; set; } + + /// + /// 申请发票开票日期 + /// + [JsonProperty("invoice_date")] + public string InvoiceDate { get; set; } + + /// + /// 发票抬头;收取发票的公司名称或个人姓名 + /// + [JsonProperty("invoice_title")] + public string InvoiceTitle { get; set; } + + /// + /// 开票类型;1:增值税普通发票(公司) ;2:增值税普通发票(个人) ;3:增值税专用发票. + /// + [JsonProperty("invoice_type")] + public string InvoiceType { get; set; } + + /// + /// 商户业务单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户生成的发票申请请求单号【幂等字段】 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsScenePolicyEndorseApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsScenePolicyEndorseApplyModel.cs new file mode 100644 index 0000000..ded5112 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsScenePolicyEndorseApplyModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsScenePolicyEndorseApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsScenePolicyEndorseApplyModel : AopObject + { + /// + /// 批单项列表 + /// + [JsonProperty("endorse_items")] + + public List EndorseItems { get; set; } + + /// + /// 商户生成的批改请求单号【幂等字段】 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 保单凭证号;蚂蚁保险平台生成的保单凭证号,用户可以通过此单号去保险公司查询保单信息. + /// + [JsonProperty("policy_no")] + public string PolicyNo { get; set; } + + /// + /// 批单来源 + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsScenePolicySurrenderApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsScenePolicySurrenderApplyModel.cs new file mode 100644 index 0000000..4c0ab6d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsScenePolicySurrenderApplyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsScenePolicySurrenderApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsScenePolicySurrenderApplyModel : AopObject + { + /// + /// 退保扩展参数 ;标准json格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 蚂蚁保险平台生成的保单号 + /// + [JsonProperty("policy_no")] + public string PolicyNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductAccessApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductAccessApplyModel.cs new file mode 100644 index 0000000..95496c2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductAccessApplyModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneProductAccessApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneProductAccessApplyModel : AopObject + { + /// + /// 投保人 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 外部业务字段,幂等字段 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 保险产品码 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 业务场景码 + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductInquiryApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductInquiryApplyModel.cs new file mode 100644 index 0000000..479c000 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductInquiryApplyModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneProductInquiryApplyModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneProductInquiryApplyModel : AopObject + { + /// + /// 保险产品的投保人,当产品价格和投保人有关时候需传值 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 投保业务参数,标准json格式支付串 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 保险被保人,产品价格和被保人相关时传值。 + /// + [JsonProperty("insureds")] + + public List Insureds { get; set; } + + /// + /// 询价流水号,标识一次询价请求 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 险种保障期限,数字+"Y/M/D"结尾,非固定期限险种或多固定期限险种必填 + /// + [JsonProperty("period")] + public string Period { get; set; } + + /// + /// 保险产品码,由保险产品小二分配 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 投保来源渠道,由保险产品小二分配 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 产品险种对应的保额(金额类型,单位为分,例如100000为1000元)。产品保额类型为金额时必传 + /// + [JsonProperty("sum_insured")] + public long SumInsured { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductSignConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductSignConfirmModel.cs new file mode 100644 index 0000000..e9ddcf8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductSignConfirmModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneProductSignConfirmModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneProductSignConfirmModel : AopObject + { + /// + /// 产品编码 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 支付宝会员ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductSignQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductSignQueryModel.cs new file mode 100644 index 0000000..8a21bef --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsSceneProductSignQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsSceneProductSignQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsSceneProductSignQueryModel : AopObject + { + /// + /// 产品编码 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 支付宝会员ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwriteClaimReportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwriteClaimReportQueryModel.cs new file mode 100644 index 0000000..fd7e3ad --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwriteClaimReportQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsUnderwriteClaimReportQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsUnderwriteClaimReportQueryModel : AopObject + { + /// + /// 理赔申请报案号,通过理赔申请【alipay.ins.scene.claim.apply】接口的返回字段claim_report_no获取 + /// + [JsonProperty("claim_report_no")] + public string ClaimReportNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwritePolicyQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwritePolicyQueryModel.cs new file mode 100644 index 0000000..8655bc4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwritePolicyQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsUnderwritePolicyQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsUnderwritePolicyQueryModel : AopObject + { + /// + /// 商户生成的外部投保业务号;当保单凭证号不传时则必传. + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 保单凭证号;商户生成的外部投保业务号不传时则必传. + /// + [JsonProperty("policy_no")] + public string PolicyNo { get; set; } + + /// + /// 产品编码;当保单凭证号不传时则必传. + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwriteUserPolicyQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwriteUserPolicyQueryModel.cs new file mode 100644 index 0000000..d6c8d63 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayInsUnderwriteUserPolicyQueryModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayInsUnderwriteUserPolicyQueryModel Data Structure. + /// + [Serializable] + public class AlipayInsUnderwriteUserPolicyQueryModel : AopObject + { + /// + /// 页码,必须为大于0的整数, 1表示第一页,2表示第2页,依次类推。不填默认值为1 + /// + [JsonProperty("page_no")] + public long PageNo { get; set; } + + /// + /// 每页记录条数,必须为大于0的整数,最大值为20,不填默认值为10 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 查询对应的保险干系人 + /// + [JsonProperty("person")] + public InsQueryPerson Person { get; set; } + + /// + /// 查询的保单对于的产品列表。查询返回的结果是这几个产品下的保单,格式为: [产品码1,产品码2,...] + /// + [JsonProperty("product_list")] + + public List ProductList { get; set; } + + /// + /// 保单状态.INEFFECTIVE:未生效、GUARANTEE:保障中、EXPIRED:已失效、SURRENDERRED:已退保、ALL: 所有保单 不填默认值为ALL(所有保单) + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemAuditRule.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemAuditRule.cs new file mode 100644 index 0000000..9013638 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemAuditRule.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemAuditRule Data Structure. + /// + [Serializable] + public class AlipayItemAuditRule : AopObject + { + /// + /// 审核类型,商户授权模式此字段不需要填写。 + /// + [JsonProperty("audit_type")] + public string AuditType { get; set; } + + /// + /// true:需要审核、false:不需要审核,默认为不需要审核,商户授权模式此字段不需要填写。 + /// + [JsonProperty("need_audit")] + public bool NeedAudit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemDescription.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemDescription.cs new file mode 100644 index 0000000..66c85de --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemDescription.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemDescription Data Structure. + /// + [Serializable] + public class AlipayItemDescription : AopObject + { + /// + /// 标题下的描述列表 + /// + [JsonProperty("details")] + + public List Details { get; set; } + + /// + /// 明细图片列表,要求图片张数小于或等于3。请勿上传过大图片,图片将会自适应至尺寸比例88:75 + /// + [JsonProperty("images")] + + public List Images { get; set; } + + /// + /// 描述标题,不得超过15个中文字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 套餐使用说明链接,必须是https的地址链接 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemGoodsList.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemGoodsList.cs new file mode 100644 index 0000000..90c2077 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemGoodsList.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemGoodsList Data Structure. + /// + [Serializable] + public class AlipayItemGoodsList : AopObject + { + /// + /// 外部单品的描述信息(此字段暂时无用) + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 外部单品id列表,传入服务商、商户系统中的商品id。 + /// + [JsonProperty("goods_list")] + + public List GoodsList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemLimitPeriodInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemLimitPeriodInfo.cs new file mode 100644 index 0000000..76b2089 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemLimitPeriodInfo.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemLimitPeriodInfo Data Structure. + /// + [Serializable] + public class AlipayItemLimitPeriodInfo : AopObject + { + /// + /// 区间范围枚举,分为: INCLUDE(包含) EXCLUDE(排除) + /// + [JsonProperty("rule")] + public string Rule { get; set; } + + /// + /// 单位描述,分为: MINUTE(分钟) HOUR(小时) WEEK_DAY(星期几) DAY(日) WEEK(周) MONTH(月) ALL(整个销售周期) + /// + [JsonProperty("unit")] + public string Unit { get; set; } + + /// + /// 区间范围值,参数类型为Number + /// + [JsonProperty("value")] + + public List Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemOperationContext.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemOperationContext.cs new file mode 100644 index 0000000..bfedee0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemOperationContext.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemOperationContext Data Structure. + /// + [Serializable] + public class AlipayItemOperationContext : AopObject + { + /// + /// 商品创建者,商户授权模式此值不需要填写。 + /// + [JsonProperty("creator")] + public string Creator { get; set; } + + /// + /// 操作角色类型,授权授权模式下此值不需要填写。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 商户ID,如果商户传入此值,将以此商户ID作为业务主体,商户授权模式此值不需要填写。 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemSalesRule.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemSalesRule.cs new file mode 100644 index 0000000..458fb3c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemSalesRule.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemSalesRule Data Structure. + /// + [Serializable] + public class AlipayItemSalesRule : AopObject + { + /// + /// 购买人群限制集合,开放平台暂时不支持此字段,如果需要使用,需要评估 + /// + [JsonProperty("buyer_crowd_limit")] + + public List BuyerCrowdLimit { get; set; } + + /// + /// 可限制商品单日销售上限 + /// + [JsonProperty("daily_sales_limit")] + public long DailySalesLimit { get; set; } + + /// + /// 用户购买策略如不填,则默认值为一个用户一天可以领取三次。 可限制DAY、WEEK、MONTH中n天领取m次,格式为DAY|n|m; 同时也可限制券的1次生命周期中可被领取x次,如ALL|1|x,两个规则可组合使用 + /// + [JsonProperty("user_sales_limit")] + public string UserSalesLimit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemVoucherTemplete.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemVoucherTemplete.cs new file mode 100644 index 0000000..55e96f3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayItemVoucherTemplete.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayItemVoucherTemplete Data Structure. + /// + [Serializable] + public class AlipayItemVoucherTemplete : AopObject + { + /// + /// 延迟生效时间(手动领取条件下,可跟valid_period组合使用) + /// + [JsonProperty("delay_minute")] + public long DelayMinute { get; set; } + + /// + /// 券使用规则描述,包括描述标题及描述内容列表。子参数只支持title、details;其余参数暂不支持,请不要填写。 + /// + [JsonProperty("desc_details")] + + public List DescDetails { get; set; } + + /// + /// 折扣率,填写0-1间的小数且不包括0和1,如八折则传入0.8。(折扣券类型必选字段,代金券不需要) + /// + [JsonProperty("discount_rate")] + public long DiscountRate { get; set; } + + /// + /// 外部单品列表 + /// + [JsonProperty("external_goods_list")] + public AlipayItemGoodsList ExternalGoodsList { get; set; } + + /// + /// 使用时间规则,控制商品的生效时间。 时间单位:MINUTE、HOUR、WEEK_DAY、DAY、WEEK、MONTH 限制规则:INCLUDE、INCLUDE_INTERVAL 例如:每周日、周二的 0点-23点59分 + /// "limit_period_info_list":[{"rule":"INCLUDE","unit":"WEEK_DAY","value":"7,2"},{"rule":"INCLUDE_INTERVAL","unit":"MINUTE","value":"0,1439"}] + /// + [JsonProperty("limit_period_info_list")] + + public List LimitPeriodInfoList { get; set; } + + /// + /// 商品原金额,单位(元),(代金券类型可选字段,折扣券不需要) + /// + [JsonProperty("original_amount")] + public long OriginalAmount { get; set; } + + /// + /// 券原折扣,0-1之间,做展示使用(折扣券类型可选字段,代金券不需要) + /// + [JsonProperty("original_rate")] + public long OriginalRate { get; set; } + + /// + /// 减至金额,单位(元),代表券可抵扣至多少(代金券类型可选字段,折扣券不需要) + /// + [JsonProperty("reduce_to_amount")] + public long ReduceToAmount { get; set; } + + /// + /// 折扣金额取整规则 AUTO_ROUNDING_YUAN:自动抹零到元 AUTO_ROUNDING_JIAO:自动抹零到角 ROUNDING_UP_YUAN:四舍五入到元 ROUNDING_UP_JIAO:四舍五入到角 + /// + [JsonProperty("rounding_rule")] + public string RoundingRule { get; set; } + + /// + /// 起步金额,单位(元) + /// + [JsonProperty("threshold_amount")] + public long ThresholdAmount { get; set; } + + /// + /// 起步数量,用于指定可享受优惠的起步单品购买数量 + /// + [JsonProperty("threshold_quantity")] + public long ThresholdQuantity { get; set; } + + /// + /// 领券之后多长时间内可以核销,单位:分钟,传入数值需大于1440(一天) + /// + [JsonProperty("valid_period")] + public long ValidPeriod { get; set; } + + /// + /// 价值金额,单位(元) CASH类型为代金券金额 DISCOUNT类型为优惠封顶金额 在代金券类型时,value_amout与reduce_to_amount不能同时为空,不能同时不为空。 + /// + [JsonProperty("value_amount")] + public long ValueAmount { get; set; } + + /// + /// 券的描述信息,目前客户端将统一展示“折扣须知” + /// + [JsonProperty("voucher_desc")] + public string VoucherDesc { get; set; } + + /// + /// 券类型,DISCOUNT(折扣券)、CASH(代金券) + /// + [JsonProperty("voucher_type")] + public string VoucherType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayKeyanClass.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayKeyanClass.cs new file mode 100644 index 0000000..dc44ec1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayKeyanClass.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayKeyanClass Data Structure. + /// + [Serializable] + public class AlipayKeyanClass : AopObject + { + /// + /// 1 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignActivityOfflineCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignActivityOfflineCreateModel.cs new file mode 100644 index 0000000..d7e0474 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignActivityOfflineCreateModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignActivityOfflineCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignActivityOfflineCreateModel : AopObject + { + /// + /// 预算信息 + /// + [JsonProperty("budget")] + public OpenPromoBudget Budget { get; set; } + + /// + /// 活动信息 + /// + [JsonProperty("camp")] + public OpenPromoCamp Camp { get; set; } + + /// + /// 活动创建单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 奖品信息 + /// + [JsonProperty("prize")] + public OpenPromoPrize Prize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignActivityOfflineTriggerModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignActivityOfflineTriggerModel.cs new file mode 100644 index 0000000..92dc185 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignActivityOfflineTriggerModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignActivityOfflineTriggerModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignActivityOfflineTriggerModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashCreateModel.cs new file mode 100644 index 0000000..040fa4b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashCreateModel.cs @@ -0,0 +1,69 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignCashCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignCashCreateModel : AopObject + { + /// + /// 红包名称,商户在查询列表、详情看到的名字,同时也会显示在商户付款页面。 + /// + [JsonProperty("coupon_name")] + public string CouponName { get; set; } + + /// + /// 活动结束时间,必须大于活动开始时间, 基本格式:yyyy-MM-dd HH:mm:ss,活动有效时间最长为6个月,过期后需要创建新的活动。 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 商户打款后的跳转链接,从支付宝收银台打款成功后的跳转链接。不填时,打款后停留在支付宝支付成功页。商户实际跳转会自动添加crowdNo作为跳转参数。示例: + /// http://www.yourhomepage.com?crowdNo=XXX + /// + [JsonProperty("merchant_link")] + public string MerchantLink { get; set; } + + /// + /// 活动文案,用户在账单、红包中看到的账单描述、红包描述 + /// + [JsonProperty("prize_msg")] + public string PrizeMsg { get; set; } + + /// + /// 现金红包的发放形式, fixed为固定金额,random为随机金额。选择随机金额时,单个红包的金额在平均金额的0.5~1.5倍之间浮动。 + /// + [JsonProperty("prize_type")] + public string PrizeType { get; set; } + + /// + /// 用户在当前活动参与次数、频率限制。支持日(D)、周(W)、月(M)、终身(L)维度的限制。其中日(D)、周(W)、月(M)最多只能选择一个,终身(L)为必填项。多个配置之间使用"|"进行分隔。终身(L)次数限制最大为100,日(D)、周(W)、月(M)频率设置必须小于等于终身(L)的次数。整个字段不填时默认值为:L1。允许多次领取时,活动触发接口需要传入out_biz_no来配合。 + /// + [JsonProperty("send_freqency")] + public string SendFreqency { get; set; } + + /// + /// 活动开始时间,必须大于活动创建的时间. (1) 填固定时间:2016-08-10 22:28:30, 基本格式:yyyy-MM-dd HH:mm:ss (2) 填字符串NowTime + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 活动发放的现金总金额,最小金额1.00元,最大金额10000000.00元。每个红包的最大金额不允许超过200元,最小金额不得低于0.20元。 实际的金额限制可能会根据业务进行动态调整。 + /// + [JsonProperty("total_money")] + public string TotalMoney { get; set; } + + /// + /// 红包发放个数,最小1个,最大10000000个。 但不同的发放形式(即prize_type)会使得含义不同: (1) + /// 若prize_type选择为固定金额,每个用户领取的红包金额为total_money除以total_num得到固定金额。 (2) + /// 若prize_type选择为随机金额,每个用户领取的红包金额为total_money除以total_num得到的平均金额值的0.5~1.5倍。由于金额是随机的,在红包金额全部被领取完时,有可能total_num有所剩余、或者大于设置值的情况。 + /// + [JsonProperty("total_num")] + public string TotalNum { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashDetailQueryModel.cs new file mode 100644 index 0000000..b54ba9e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashDetailQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignCashDetailQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignCashDetailQueryModel : AopObject + { + /// + /// 要查询的现金红包活动号 + /// + [JsonProperty("crowd_no")] + public string CrowdNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashListQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashListQueryModel.cs new file mode 100644 index 0000000..4d56055 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashListQueryModel.cs @@ -0,0 +1,31 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignCashListQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignCashListQueryModel : AopObject + { + /// + /// 要查询的活动状态,不填默认返回所有类型。 可填: ALL:所有类型的活动 CREATED: 已创建未打款 PAID:已打款 READY:活动已开始 PAUSE:活动已暂停 CLOSED:活动已结束 + /// SETTLE:活动已清算 + /// + [JsonProperty("camp_status")] + public string CampStatus { get; set; } + + /// + /// 分页查询时的页码,从1开始 + /// + [JsonProperty("page_index")] + public string PageIndex { get; set; } + + /// + /// 分页查询时每页返回的列表大小,最大为50 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashStatusModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashStatusModifyModel.cs new file mode 100644 index 0000000..8120ffd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashStatusModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignCashStatusModifyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignCashStatusModifyModel : AopObject + { + /// + /// 修改后的活动状态, PAUSE或者READY或者CLOSED + /// + [JsonProperty("camp_status")] + public string CampStatus { get; set; } + + /// + /// 要修改的现金红包活动号 + /// + [JsonProperty("crowd_no")] + public string CrowdNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashTriggerModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashTriggerModel.cs new file mode 100644 index 0000000..ffebc7b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCashTriggerModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignCashTriggerModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignCashTriggerModel : AopObject + { + /// + /// 现金活动号 + /// + [JsonProperty("crowd_no")] + public string CrowdNo { get; set; } + + /// + /// 用户登录账号名:邮箱或手机号。user_id与login_id至少有一个非空,都非空时,以user_id为准。 + /// + [JsonProperty("login_id")] + public string LoginId { get; set; } + + /// + /// 领取红包的外部业务号,只由可由字母、数字、下划线组成。同一个活动中不可重复,相同的外部业务号会被幂等并返回之前的结果。不填时,系统会生成一个默认固定的外部业务号。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 用户唯一标识userId。user_id与login_id至少有一个非空;都非空时,以user_id为准。 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCertCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCertCreateModel.cs new file mode 100644 index 0000000..51958b7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignCertCreateModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignCertCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignCertCreateModel : AopObject + { + /// + /// 凭证批次名称 + /// + [JsonProperty("cert_name")] + public string CertName { get; set; } + + /// + /// 拓展信息 + /// + [JsonProperty("extend_info")] + public string ExtendInfo { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 凭证有效次数,数值(最大为10000) + /// + [JsonProperty("valid_count")] + public string ValidCount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetAppendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetAppendModel.cs new file mode 100644 index 0000000..18e537f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetAppendModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountBudgetAppendModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountBudgetAppendModel : AopObject + { + /// + /// 预算ID + /// + [JsonProperty("budget_id")] + public string BudgetId { get; set; } + + /// + /// 追加后的预算总金额(注意:是追加后的预算总金额,不是在原基础上追加的金额),单位:元 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetCreateModel.cs new file mode 100644 index 0000000..252a64b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetCreateModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountBudgetCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountBudgetCreateModel : AopObject + { + /// + /// 业务名称,和out_biz_no一起进行幂等控制 + /// + [JsonProperty("biz_from")] + public string BizFrom { get; set; } + + /// + /// 预算库使用结束时间,格式:yyyy-MM-dd mm:hh:ss + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 预算名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 预算创建业务号,和biz_from一起进行幂等控制 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 积分预算库ID + /// + [JsonProperty("out_budget_no")] + public string OutBudgetNo { get; set; } + + /// + /// 发行人支付宝登录账号 + /// + [JsonProperty("publisher_logon_id")] + public string PublisherLogonId { get; set; } + + /// + /// 预算金额,单位:元 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetQueryModel.cs new file mode 100644 index 0000000..0f5d298 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountBudgetQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountBudgetQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountBudgetQueryModel : AopObject + { + /// + /// 预算名称 + /// + [JsonProperty("budget_id")] + public string BudgetId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountOperateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountOperateModel.cs new file mode 100644 index 0000000..9a622ea --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountOperateModel.cs @@ -0,0 +1,125 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountOperateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountOperateModel : AopObject + { + /// + /// 幂等控制code,控制重复新增,修改时候可以不设置。 + /// + [JsonProperty("camp_code")] + public string CampCode { get; set; } + + /// + /// 用于账户立减优惠,渠道立减优惠活动时,在收银台页面显示给会员看,最多512个字符,汉字、英文字母、数字都算一个,本输入框支持简单的html符号。 + /// + [JsonProperty("camp_desc")] + public string CampDesc { get; set; } + + /// + /// 当operate_type=CAMP_MODIFIED 必设置camp_id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 活动名称 不超过24个字符 + /// + [JsonProperty("camp_name")] + public string CampName { get; set; } + + /// + /// 用于账户立减优惠,渠道立减优惠活动时,在收银台页面显示给会员看,请根据收银台可展示的实际字数填写,最多48个字符,汉字、英文字母、数字都算一个,只可输入中文、英文、数字、下划线以及中英文的双引号、逗号、句号、横杠、空格。 + /// + [JsonProperty("camp_slogan")] + public string CampSlogan { get; set; } + + /// + /// 折扣方式模型 如果类型选了discount,则这个模型必须输入 + /// + [JsonProperty("discount_dst_camp_prize_model")] + public DiscountDstCampPrizeModel DiscountDstCampPrizeModel { get; set; } + + /// + /// 立减规则模型 + /// + [JsonProperty("dst_camp_rule_model")] + public DstCampRuleModel DstCampRuleModel { get; set; } + + /// + /// 活动子时间,可以不传 + /// + [JsonProperty("dst_camp_sub_time_model_list")] + + public List DstCampSubTimeModelList { get; set; } + + /// + /// 活动结束时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 活动开始时间 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 新增传CAMP_ADD,修改传CAMP_MODIFIED + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// 奖品类型. 打折 满减 单笔减 阶梯优惠 抹零优惠 随机立减 订单金额减至 折扣方式 DISCOUNT("discount", "折扣方式"), + /// REDUCE("reduce", "满立减"), SINGLE("single", "单笔减"), STAGED_DISCOUNT("staged_discount", "阶梯优惠"), + /// RESET_ZERO_DISCOUNT("reset_zero_discount", "抹零优惠"), RANDOM_DISCOUNT("random", "随机立减"); + /// REDUCE_TO_DISCOUNT("reduce_to_discount","订单金额减至 ") + /// + [JsonProperty("prize_type")] + public string PrizeType { get; set; } + + /// + /// 随机立减模型如果类型选了random,则这个模型必须输入 + /// + [JsonProperty("random_discount_dst_camp_prize_model")] + public RandomDiscountDstCampPrizeModel RandomDiscountDstCampPrizeModel { get; set; } + + /// + /// 满立减奖品模型 如果类型选了reduce,则这个模型必须输入 + /// + [JsonProperty("reduce_dst_camp_prize_model")] + public ReduceDstCampPrizeModel ReduceDstCampPrizeModel { get; set; } + + /// + /// 订单金额减至模型如果类型选了reduce_to_discount,则这个模型必须输入 + /// + [JsonProperty("reduce_to_discount_dst_camp_prize_model")] + public ReduceToDiscountDstCampPrizeModel ReduceToDiscountDstCampPrizeModel { get; set; } + + /// + /// 抹零优惠模型如果类型选了reset_zero_discount,则这个模型必须输入 + /// + [JsonProperty("reset_zero_dst_camp_prize_model")] + public ResetZeroDstCampPrizeModel ResetZeroDstCampPrizeModel { get; set; } + + /// + /// 单笔减奖品模型如果类型选了single,则这个模型必须输入 + /// + [JsonProperty("single_dst_camp_prize_model")] + public SingleDstCampPrizeModel SingleDstCampPrizeModel { get; set; } + + /// + /// 阶梯优惠如果类型选了staged_discount,则这个模型必须输入 + /// + [JsonProperty("staged_discount_dst_camp_prize_model")] + public StagedDiscountDstCampPrizeModel StagedDiscountDstCampPrizeModel { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountQueryModel.cs new file mode 100644 index 0000000..092d169 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountStatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountStatusUpdateModel.cs new file mode 100644 index 0000000..7e98de4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountStatusUpdateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountStatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountStatusUpdateModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 状态CAMP_PAUSED:暂停,CAMP_GOING 启动,CAMP_ENDED结束 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountWhitelistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountWhitelistQueryModel.cs new file mode 100644 index 0000000..cb3d600 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountWhitelistQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountWhitelistQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountWhitelistQueryModel : AopObject + { + /// + /// 活动od + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountWhitelistUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountWhitelistUpdateModel.cs new file mode 100644 index 0000000..1d810b1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDiscountWhitelistUpdateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDiscountWhitelistUpdateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDiscountWhitelistUpdateModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 白名单。逗号分隔开 + /// + [JsonProperty("user_white_list")] + public string UserWhiteList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampCreateModel.cs new file mode 100644 index 0000000..ddfcf25 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampCreateModel.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDrawcampCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDrawcampCreateModel : AopObject + { + /// + /// 单用户以支付宝账号维度可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("account_count")] + public string AccountCount { get; set; } + + /// + /// 以移动设备维度可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("appid_count")] + public string AppidCount { get; set; } + + /// + /// 单个用户当前活动允许中奖的最大次数,最大值999999 + /// + [JsonProperty("award_count")] + public string AwardCount { get; set; } + + /// + /// 活动奖品总中奖几率,开发者需传入整数值,如:传入99支付宝默认为99% + /// + [JsonProperty("award_rate")] + public string AwardRate { get; set; } + + /// + /// 活动唯一标识,不能包含除中文、英文、数字以外的字符,创建后不能修改,需要保证在商户端不重复。 + /// + [JsonProperty("camp_code")] + public string CampCode { get; set; } + + /// + /// 活动结束时间,yyyy-MM-dd HH:00:00格式(到小时),需要大于活动开始时间 + /// + [JsonProperty("camp_end_time")] + public string CampEndTime { get; set; } + + /// + /// 活动名称,开发者自定义 + /// + [JsonProperty("camp_name")] + public string CampName { get; set; } + + /// + /// 活动开始时间,yyyy-MM-dd HH:00:00格式(到小时),时间不能早于当前日期的0点 + /// + [JsonProperty("camp_start_time")] + public string CampStartTime { get; set; } + + /// + /// 凭证验证规则id,通过alipay.marketing.campaign.cert.create 接口创建的凭证id + /// + [JsonProperty("cert_rule_id")] + public string CertRuleId { get; set; } + + /// + /// 单用户以账户证件号(如身份证号、护照、军官证等)维度可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("certification_count")] + public string CertificationCount { get; set; } + + /// + /// 圈人规则id,通过alipay.marketing.campaign.rule.crowd.create 接口创建的规则id + /// + [JsonProperty("crowd_rule_id")] + public string CrowdRuleId { get; set; } + + /// + /// 以认证手机号(与支付宝账号绑定的手机号)维度的可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("mobile_count")] + public string MobileCount { get; set; } + + /// + /// 开发者用于区分商户的唯一标识,由开发者自定义,用于区分是开发者名下哪一个商户的请求,为空则为默认标识 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 奖品模型,至少需要配置一个奖品 + /// + [JsonProperty("prize_list")] + + public List PrizeList { get; set; } + + /// + /// 营销验证规则id,由支付宝配置 + /// + [JsonProperty("promo_rule_id")] + public string PromoRuleId { get; set; } + + /// + /// 活动触发类型,目前支持 CAMP_USER_TRIGGER:用户触发(开发者调用alipay.marketing.campaign.drawcamp.trigger 接口触发); + /// CAMP_SYS_TRIGGER:系统触发,必须配置实时人群验证规则(如:配置了监听用户支付事件,支付宝会根据活动规则自动发奖,无需用户手动触发)。 + /// + [JsonProperty("trigger_type")] + public string TriggerType { get; set; } + + /// + /// 实时人群验证规则id,由支付宝配置 + /// + [JsonProperty("trigger_user_rule_id")] + public string TriggerUserRuleId { get; set; } + + /// + /// 人群验证规则id,由支付宝配置 + /// + [JsonProperty("user_rule_id")] + public string UserRuleId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampQueryModel.cs new file mode 100644 index 0000000..ef50396 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDrawcampQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDrawcampQueryModel : AopObject + { + /// + /// 抽奖活动id,通过alipay.marketing.campaign.drawcamp.create接口返回 + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampStatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampStatusUpdateModel.cs new file mode 100644 index 0000000..226a26d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampStatusUpdateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDrawcampStatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDrawcampStatusUpdateModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 修改的活动状态,CAMP_PAUSED 暂停状态, CAMP_ENDED 结束状态, CAMP_GOING启动状态,只支持以上3种状态变更。结束状态的活动不允许在修改活动状态。 + /// + [JsonProperty("camp_status")] + public string CampStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampTriggerModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampTriggerModel.cs new file mode 100644 index 0000000..434e18d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampTriggerModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDrawcampTriggerModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDrawcampTriggerModel : AopObject + { + /// + /// 用户参与活动的手机号(如果是用户直接输入手机号的活动形式,该项必填,作为识别用户的依据) + /// + [JsonProperty("bind_mobile")] + public string BindMobile { get; set; } + + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 请求来源,目前支持:1微信 2 微博 3虾米 4淘宝 5天猫 + /// + [JsonProperty("camp_source")] + public long CampSource { get; set; } + + /// + /// 渠道来源参数 + /// + [JsonProperty("channel_info")] + public string ChannelInfo { get; set; } + + /// + /// 客户端ip + /// + [JsonProperty("client_ip")] + public string ClientIp { get; set; } + + /// + /// rds嵌入页面的js收集的用户行为数据 + /// + [JsonProperty("json_ua")] + public string JsonUa { get; set; } + + /// + /// 用户登录号/用户uid,非脱敏账号 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampUpdateModel.cs new file mode 100644 index 0000000..00ce51a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampUpdateModel.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDrawcampUpdateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDrawcampUpdateModel : AopObject + { + /// + /// 单用户以支付宝账号维度可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("account_count")] + public string AccountCount { get; set; } + + /// + /// 以移动设备维度可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("appid_count")] + public string AppidCount { get; set; } + + /// + /// 活动奖品总中奖几率,开发者需传入整数值,如:传入99支付宝默认为99% + /// + [JsonProperty("award_rate")] + public string AwardRate { get; set; } + + /// + /// 活动结束时间,yyyy-MM-dd HH:00:00格式(到小时),需要大于活动开始时间 + /// + [JsonProperty("camp_end_time")] + public string CampEndTime { get; set; } + + /// + /// 抽奖活动id,通过alipay.marketing.campaign.drawcamp.create接口返回 + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 活动名称,开发者自定义 + /// + [JsonProperty("camp_name")] + public string CampName { get; set; } + + /// + /// 活动开始时间,yyyy-MM-dd HH:00:00格式(到小时),时间不能早于当前日期的0点 + /// + [JsonProperty("camp_start_time")] + public string CampStartTime { get; set; } + + /// + /// 凭证验证规则id,通过alipay.marketing.campaign.cert.create 接口创建的凭证id + /// + [JsonProperty("cert_rule_id")] + public string CertRuleId { get; set; } + + /// + /// 单用户以账户证件号(如身份证号、护照、军官证等)维度可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("certification_count")] + public string CertificationCount { get; set; } + + /// + /// 圈人规则id,通过alipay.marketing.campaign.rule.crowd.create 接口创建的规则id + /// + [JsonProperty("crowd_rule_id")] + public string CrowdRuleId { get; set; } + + /// + /// 以认证手机号(与支付宝账号绑定的手机号)维度的可参与当前营销活动的总次数,由开发者自定义此数值 + /// + [JsonProperty("mobile_count")] + public string MobileCount { get; set; } + + /// + /// 开发者用于区分商户的唯一标识,由开发者自定义,用于区分是开发者名下哪一个商户的请求,为空则为默认标识 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 奖品模型,至少有一个奖品模型 + /// + [JsonProperty("prize_list")] + + public List PrizeList { get; set; } + + /// + /// 营销验证规则id,由支付宝配置 + /// + [JsonProperty("promo_rule_id")] + public string PromoRuleId { get; set; } + + /// + /// 人群验证规则id,由支付宝配置 + /// + [JsonProperty("user_rule_id")] + public string UserRuleId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampWhitelistCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampWhitelistCreateModel.cs new file mode 100644 index 0000000..7f749a4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignDrawcampWhitelistCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignDrawcampWhitelistCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignDrawcampWhitelistCreateModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 用户信息列表,有多个时用逗号隔开,最大支持100个白名单账户,账户必须是非脱敏的登录账号或者2088开头的userid,以覆盖的形式执行。为空(“”)时,则清空白名单,不进行白名单校验。 + /// + [JsonProperty("user_id_list")] + public string UserIdList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignPrizeAmountQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignPrizeAmountQueryModel.cs new file mode 100644 index 0000000..beca787 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignPrizeAmountQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignPrizeAmountQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignPrizeAmountQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 奖品id + /// + [JsonProperty("prize_id")] + public string PrizeId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdCountModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdCountModel.cs new file mode 100644 index 0000000..2cac69f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdCountModel.cs @@ -0,0 +1,40 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignRuleCrowdCountModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignRuleCrowdCountModel : AopObject + { + /// + /// 签约商户下属机构唯一编号 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 统计规则所圈定的人数,为空的时候,统计所选标签的人数(取scenetagjson的值) + /// + [JsonProperty("ruleid")] + public string Ruleid { get; set; } + + /// + /// tagCode:标签别名,指定标签类型,如城市、年龄等,如pubsrv_city_code为城市标签,创建时必填,可传入多组标签 + /// op:操作码,EQ(等于)、IN(包含),tagCode与op绑定,以查询出来的标签操作符确定该用EQ还是IN value:tagCode对应选中的值,如:440100为城市地区代码,可支持多个 具体参数参考如下: + /// 1)消费能力:pubsrv_consume_level 操作符:(EQ、IN) 枚举值:高、中、低 2)性别:pubsrv_gender 操作符:(EQ) 枚举值:1男,2女,0未知 + /// 3)年龄区间:pubsrv_age操作符:(EQ、IN) 枚举值见后面年龄区间标签枚举定义 4)职业:pubsrv_occupation操作符:(EQ) 枚举值:白领、大学生、未知 + /// 5)常驻城市CODE:pubsrv_city_code操作符:(EQ) 行政区划代码 样例数据:440100 6)住房类型:pubsrv_house_type操作符:(EQ) 枚举值:rent 租房,home + /// 自有住房,other 其他 7)婚姻状态:pubsrv_is_married操作符:(EQ) 枚举值:0 否,1 是 8)是否有小孩:pubsrv_have_baby操作符:(EQ) 枚举值:0 否,1 是 + /// 9)是否实名认证:pubsrv_is_realname操作符:(EQ) 枚举值:0 否,1 是,2 未知 10)是否有车:pubsrv_have_auto操作符:(EQ) 枚举值:0 否,1 是,2 未知 + /// 11)达人偏好:pubsrv_preference操作符:(IN) + /// 多值列,枚举值:travel=旅游;video=影视;game=游戏;music=音乐;photography=摄影;pet=宠物;sports=运动;digital=数码 * 年龄区间标签枚举 枚举值: 1-11 + /// user_age <=17 then 1 [18,20] then 2 [21,25] then 3 [26,30] then 4 [31,35] then 5 [36,40] then 6 [41,45] then 7 [46,50] then 8 [51,55] then 9 [56,60] then 10 user_age >60 + /// then 11 + /// + [JsonProperty("scenetagjson")] + public string Scenetagjson { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdCreateModel.cs new file mode 100644 index 0000000..6003a28 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdCreateModel.cs @@ -0,0 +1,40 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignRuleCrowdCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignRuleCrowdCreateModel : AopObject + { + /// + /// tagCode:标签别名,指定标签类型,如城市、年龄等,如pubsrv_city_code为城市标签,创建时必填,可传入多组标签 + /// op:操作码,EQ(等于)、IN(包含),tagCode与op绑定,以查询出来的标签操作符确定该用EQ还是IN value:tagCode对应选中的值,如:440100为城市地区代码,可支持多个 具体参数参考如下: + /// 1)消费能力:pubsrv_consume_level 操作符:(EQ、IN) 枚举值:高、中、低 2)性别:pubsrv_gender 操作符:(EQ) 枚举值:1男,2女,0未知 + /// 3)年龄区间:pubsrv_age操作符:(EQ、IN) 枚举值见后面年龄区间标签枚举定义 4)职业:pubsrv_occupation操作符:(EQ) 枚举值:白领、大学生、未知 + /// 5)常驻城市CODE:pubsrv_city_code操作符:(EQ) 行政区划代码 样例数据:440100 6)住房类型:pubsrv_house_type操作符:(EQ) 枚举值:rent 租房,home + /// 自有住房,other 其他 7)婚姻状态:pubsrv_is_married操作符:(EQ) 枚举值:0 否,1 是 8)是否有小孩:pubsrv_have_baby操作符:(EQ) 枚举值:0 否,1 是 + /// 9)是否实名认证:pubsrv_is_realname操作符:(EQ) 枚举值:0 否,1 是,2 未知 10)是否有车:pubsrv_have_auto操作符:(EQ) 枚举值:0 否,1 是,2 未知 + /// 11)达人偏好:pubsrv_preference操作符:(IN) + /// 多值列,枚举值:travel=旅游;video=影视;game=游戏;music=音乐;photography=摄影;pet=宠物;sports=运动;digital=数码 * 年龄区间标签枚举 枚举值: 1-11 + /// user_age <=17 then 1 [18,20] then 2 [21,25] then 3 [26,30] then 4 [31,35] then 5 [36,40] then 6 [41,45] then 7 [46,50] then 8 [51,55] then 9 [56,60] then 10 user_age >60 + /// then 11 + /// + [JsonProperty("mdatacrowdsource")] + public string Mdatacrowdsource { get; set; } + + /// + /// 签约商户下属机构唯一编号 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 圈人规则描述,说明规则用途 + /// + [JsonProperty("ruledesc")] + public string Ruledesc { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdDeleteModel.cs new file mode 100644 index 0000000..2c4e8fe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdDeleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignRuleCrowdDeleteModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignRuleCrowdDeleteModel : AopObject + { + /// + /// 签约商户下属子机构唯一编号 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 对没有在使用的规则进行删除 + /// + [JsonProperty("ruleid")] + public string Ruleid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdQueryModel.cs new file mode 100644 index 0000000..52fcac3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleCrowdQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignRuleCrowdQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignRuleCrowdQueryModel : AopObject + { + /// + /// 签约商户下属机构唯一编号 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 所要查询的规则id + /// + [JsonProperty("ruleid")] + public string Ruleid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleRulelistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleRulelistQueryModel.cs new file mode 100644 index 0000000..9229059 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleRulelistQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignRuleRulelistQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignRuleRulelistQueryModel : AopObject + { + /// + /// 签约商户下属子机构唯一编号 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + + /// + /// 页码,从1开始 + /// + [JsonProperty("pageno")] + public string Pageno { get; set; } + + /// + /// 每页大小 + /// + [JsonProperty("pagesize")] + public string Pagesize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleTagQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleTagQueryModel.cs new file mode 100644 index 0000000..11f5206 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCampaignRuleTagQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCampaignRuleTagQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCampaignRuleTagQueryModel : AopObject + { + /// + /// 签约商户下属机构唯一编号 + /// + [JsonProperty("mpid")] + public string Mpid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardActivateformQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardActivateformQueryModel.cs new file mode 100644 index 0000000..7ad694c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardActivateformQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardActivateformQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardActivateformQueryModel : AopObject + { + /// + /// 开放表单信息查询业务类型,可选类型如下: MEMBER_CARD -- 会员卡开卡 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 查询用户表单提交信息的请求id,在用户授权表单确认提交后跳转商户页面url时返回此参数。 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 会员卡模板id。使用会员卡模板创建接口(alipay.marketing.card.template.create)返回的结果 + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardActivateurlApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardActivateurlApplyModel.cs new file mode 100644 index 0000000..0204e83 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardActivateurlApplyModel.cs @@ -0,0 +1,37 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardActivateurlApplyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardActivateurlApplyModel : AopObject + { + /// + /// 会员卡开卡表单提交后回调地址。 1.该地址不可带参数,如需回传参数,可设置out_string入参。 + /// + [JsonProperty("callback")] + public string Callback { get; set; } + + /// + /// 需要关注的生活号AppId。若需要在领卡页面展示“关注生活号”提示,可设置此参数为待关注的生活号AppId。生活号快速接入详见:https://doc.open.alipay.com/docs/doc.htm?treeId=193 + /// &articleId=105933&docType=1 + /// + [JsonProperty("follow_app_id")] + public string FollowAppId { get; set; } + + /// + /// 扩展信息,会员领卡完成后将此参数原样带回商户页面。 + /// + [JsonProperty("out_string")] + public string OutString { get; set; } + + /// + /// 会员卡模板id。使用会员卡模板创建接口(alipay.marketing.card.template.create)返回的结果 + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitCreateModel.cs new file mode 100644 index 0000000..83dcb4e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitCreateModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardBenefitCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardBenefitCreateModel : AopObject + { + /// + /// 会员卡模板外部权益 + /// + [JsonProperty("mcard_template_benefit")] + public McardTemplateBenefit McardTemplateBenefit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitDeleteModel.cs new file mode 100644 index 0000000..5dccb0d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitDeleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardBenefitDeleteModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardBenefitDeleteModel : AopObject + { + /// + /// 权益ID + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// 会员卡模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitModifyModel.cs new file mode 100644 index 0000000..307e5db --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardBenefitModifyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardBenefitModifyModel : AopObject + { + /// + /// 权益ID + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// 会员卡模板外部权益 + /// + [JsonProperty("mcard_template_benefit")] + public McardTemplateBenefit McardTemplateBenefit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitQueryModel.cs new file mode 100644 index 0000000..43bdba9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardBenefitQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardBenefitQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardBenefitQueryModel : AopObject + { + /// + /// 权益ID + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// 会员卡模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardConsumeSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardConsumeSyncModel.cs new file mode 100644 index 0000000..996d2d6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardConsumeSyncModel.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardConsumeSyncModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardConsumeSyncModel : AopObject + { + /// + /// 用户实际付的现金金额 1.针对预付卡面额的核销金额在use_benefit_list展现,作为权益金额 2.权益金额不叠加在该金额上 + /// + [JsonProperty("act_pay_amount")] + public string ActPayAmount { get; set; } + + /// + /// 卡信息(交易后的实际卡信息) + /// + [JsonProperty("card_info")] + public MerchantCard CardInfo { get; set; } + + /// + /// 获取权益列表 + /// + [JsonProperty("gain_benefit_list")] + + public List GainBenefitList { get; set; } + + /// + /// 备注信息,现有直接填写门店信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 门店编号 + /// + [JsonProperty("shop_code")] + public string ShopCode { get; set; } + + /// + /// 产生该笔交易时,用户出具的凭证类型 ALIPAY:支付宝电子卡 ENTITY:实体卡 OTHER:其他 + /// + [JsonProperty("swipe_cert_type")] + public string SwipeCertType { get; set; } + + /// + /// 支付宝业务卡号,开卡接口中返回获取 + /// + [JsonProperty("target_card_no")] + public string TargetCardNo { get; set; } + + /// + /// 卡号类型 BIZ_CARD:支付宝业务卡号 + /// + [JsonProperty("target_card_no_type")] + public string TargetCardNoType { get; set; } + + /// + /// 交易金额:本次交易的实际总金额(可认为标价金额) + /// + [JsonProperty("trade_amount")] + public string TradeAmount { get; set; } + + /// + /// 交易名称 为空时根据交易类型提供默认名称 + /// + [JsonProperty("trade_name")] + public string TradeName { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + + /// + /// 线下交易时间(是用户付款的交易时间) 当交易时间晚于上次消费记录同步时间,则会发生卡信息变更 + /// + [JsonProperty("trade_time")] + public string TradeTime { get; set; } + + /// + /// 交易类型 开卡:OPEN 消费:TRADE 充值:DEPOSIT 退卡:RETURN + /// + [JsonProperty("trade_type")] + public string TradeType { get; set; } + + /// + /// 实际消耗的权益 + /// + [JsonProperty("use_benefit_list")] + + public List UseBenefitList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardDeleteModel.cs new file mode 100644 index 0000000..ff9030c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardDeleteModel.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardDeleteModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardDeleteModel : AopObject + { + /// + /// 删卡扩展参数,json格式。 用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。 目前支持如下key: new_card_no:新卡号 + /// donee_user_id:受赠人userId + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 商户端删卡业务流水号(商户确保流水号唯一性) + /// + [JsonProperty("out_serial_no")] + public string OutSerialNo { get; set; } + + /// + /// 删卡原因 USER_UNBUND:用户解绑(可以重新绑定) CANCEL:销户(完成销户后,就不能再重新绑定) PRESENT:转赠(可以重新绑定) + /// + [JsonProperty("reason_code")] + public string ReasonCode { get; set; } + + /// + /// 支付宝业务卡号,开卡接口中返回获取 + /// + [JsonProperty("target_card_no")] + public string TargetCardNo { get; set; } + + /// + /// 卡号ID类型 BIZ_CARD:支付宝卡号 + /// + [JsonProperty("target_card_no_type")] + public string TargetCardNoType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardFormtemplateSetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardFormtemplateSetModel.cs new file mode 100644 index 0000000..bd7b723 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardFormtemplateSetModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardFormtemplateSetModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardFormtemplateSetModel : AopObject + { + /// + /// 会员卡开卡时的表单字段配置信息,可定义多个通用表单字段,最大不超过20个。 + /// + [JsonProperty("fields")] + public OpenFormFieldDO Fields { get; set; } + + /// + /// 会员卡模板id。使用会员卡模板创建接口(alipay.marketing.card.template.create)返回的结果 + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardOpenApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardOpenApplyModel.cs new file mode 100644 index 0000000..41222ae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardOpenApplyModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardOpenApplyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardOpenApplyModel : AopObject + { + /// + /// 外部卡信息(biz_card_no无需填写) + /// + [JsonProperty("card_ext_info")] + public MerchantCard CardExtInfo { get; set; } + + /// + /// 支付宝分配的卡模板Id(卡模板创建接口返回的模板ID) + /// + [JsonProperty("card_template_id")] + public string CardTemplateId { get; set; } + + /// + /// 发卡用户信息 + /// + [JsonProperty("card_user_info")] + public CardUserInfo CardUserInfo { get; set; } + + /// + /// 商户会员信息 + /// + [JsonProperty("member_ext_info")] + public MerchantMenber MemberExtInfo { get; set; } + + /// + /// 外部商户流水号(商户需要确保唯一性控制,类似request_id唯一请求标识) + /// + [JsonProperty("out_serial_no")] + public string OutSerialNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardOpenModel.cs new file mode 100644 index 0000000..9d5f9e7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardOpenModel.cs @@ -0,0 +1,49 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardOpenModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardOpenModel : AopObject + { + /// + /// 外部卡信息(biz_card_no无需填写) + /// + [JsonProperty("card_ext_info")] + public MerchantCard CardExtInfo { get; set; } + + /// + /// 支付宝分配的卡模板Id(卡模板创建接口返回的模板ID) + /// + [JsonProperty("card_template_id")] + public string CardTemplateId { get; set; } + + /// + /// 发卡用户信息 + /// + [JsonProperty("card_user_info")] + public CardUserInfo CardUserInfo { get; set; } + + /// + /// 商户会员信息 + /// + [JsonProperty("member_ext_info")] + public MerchantMenber MemberExtInfo { get; set; } + + /// + /// 外部商户的领卡渠道,用于记录外部商户端领卡来源的渠道信息,渠道值可自行定义(仅限数字、字母、下划线) 例如: 线下门店领取:20161534000000000008863(可填门店shopId) 线下扫二维码领取:QR; + /// 线下活动领取:20170522000000000003609(可填商户活动ID) + /// + [JsonProperty("open_card_channel")] + public string OpenCardChannel { get; set; } + + /// + /// 外部商户流水号(商户需要确保唯一性控制,类似request_id唯一请求标识) + /// + [JsonProperty("out_serial_no")] + public string OutSerialNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardQueryModel.cs new file mode 100644 index 0000000..c572aa5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardQueryModel : AopObject + { + /// + /// 用户信息 填写则作为附加条件查询 + /// + [JsonProperty("card_user_info")] + public CardUserInfo CardUserInfo { get; set; } + + /// + /// 扩展信息,暂时没有 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 操作卡号。 target_card_no为业务卡号,由开卡流程中,支付宝返回的业务卡号 + /// + [JsonProperty("target_card_no")] + public string TargetCardNo { get; set; } + + /// + /// 卡号ID类型(会员卡查询,只能提供支付宝端的卡号) BIZ_CARD:支付宝卡号 D_QR_CODE:动态二维码(业务卡号对应的) D_BAR_CODE:动态条码(业务卡号对应的) 如果卡号不空,则类型不能为空 + /// + [JsonProperty("target_card_no_type")] + public string TargetCardNoType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateCreateModel.cs new file mode 100644 index 0000000..b1d182b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateCreateModel.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardTemplateCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardTemplateCreateModel : AopObject + { + /// + /// 业务卡号前缀,由商户指定 支付宝业务卡号生成规则:biz_no_prefix(商户指定)卡号前缀 + biz_no_suffix(实时生成)卡号后缀 + /// + [JsonProperty("biz_no_prefix")] + public string BizNoPrefix { get; set; } + + /// + /// 业务卡号后缀的长度 支付宝业务卡号生成规则:biz_no_prefix(商户指定)卡号前缀 + biz_no_suffix(实时生成)卡号后缀 由于业务卡号最长不超过32位,所以biz_no_suffix_len <= 32 - biz_no_prefix的位数 + /// + [JsonProperty("biz_no_suffix_len")] + public string BizNoSuffixLen { get; set; } + + /// + /// 卡行动点配置; 行动点,即用户可点击跳转的区块,类似按钮控件的交互; 单张卡最多定制4个行动点。 + /// + [JsonProperty("card_action_list")] + + public List CardActionList { get; set; } + + /// + /// 卡级别配置 + /// + [JsonProperty("card_level_conf")] + + public List CardLevelConf { get; set; } + + /// + /// 卡类型为固定枚举类型,可选类型如下: OUT_MEMBER_CARD:外部权益卡 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 栏位信息 + /// + [JsonProperty("column_info_list")] + + public List ColumnInfoList { get; set; } + + /// + /// 字段规则列表,会员卡开卡过程中,会员卡信息的生成规则, 例如:卡有效期为开卡后两年内有效,则设置为:DATE_IN_FUTURE + /// + [JsonProperty("field_rule_list")] + + public List FieldRuleList { get; set; } + + /// + /// 商户动态码通知参数配置: 当write_off_type指定为商户动态码mdbarcode或mdqrcode时必填; 在此字段配置用户打开会员卡时支付宝通知商户生成动态码(发码)的通知参数,如接收通知地址等。 + /// + [JsonProperty("mdcode_notify_conf")] + public TemplateMdcodeNotifyConfDTO MdcodeNotifyConf { get; set; } + + /// + /// 会员卡用户领卡配置,在门店等渠道露出领卡入口时,需要部署的商户领卡H5页面地址 + /// + [JsonProperty("open_card_conf")] + public TemplateOpenCardConfDTO OpenCardConf { get; set; } + + /// + /// 卡模板投放渠道 + /// + [JsonProperty("pub_channels")] + + public List PubChannels { get; set; } + + /// + /// 请求ID,由开发者生成并保证唯一性 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 服务Code HUABEI_FUWU:花呗服务(只有需要花呗服务时,才需要加入该标识) + /// + [JsonProperty("service_label_list")] + + public List ServiceLabelList { get; set; } + + /// + /// 会员卡上架门店id(支付宝门店id),既发放会员卡的商家门店id + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 权益信息, 1、在卡包的卡详情页面会自动添加权益栏位,展现会员卡特权, 2、如果添加门店渠道,则可在门店页展现会员卡的权益 + /// + [JsonProperty("template_benefit_info")] + + public List TemplateBenefitInfo { get; set; } + + /// + /// 模板样式信息 + /// + [JsonProperty("template_style_info")] + public TemplateStyleInfoDTO TemplateStyleInfo { get; set; } + + /// + /// 卡包详情页面中展现出的卡码(可用于扫码核销) (1) 静态码 qrcode: 二维码,扫码得商户开卡传入的external_card_no barcode: 条形码,扫码得商户开卡传入的external_card_no + /// text: 当前不再推荐使用,text的展示效果目前等价于barcode+qrcode,同时出现条形码和二维码 (2) 动态码-支付宝生成码值(动态码会在2分钟左右后过期) dqrcode: + /// 动态二维码,扫码得到的码值可配合会员卡查询接口使用 dbarcode: 动态条形码,扫码得到的码值可配合会员卡查询接口使用 (3) 动态码-商家自主生成码值(码值、时效性都由商户控制) mdqrcode: + /// 商户动态二维码,扫码得商户自主传入的码值 mdbarcode: 商户动态条码,扫码得商户自主传入的码值 + /// + [JsonProperty("write_off_type")] + public string WriteOffType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateModifyModel.cs new file mode 100644 index 0000000..0da3677 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateModifyModel.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardTemplateModifyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardTemplateModifyModel : AopObject + { + /// + /// 业务卡号前缀,由商户指定 支付宝业务卡号生成规则:biz_no_prefix(商户指定)卡号前缀 + biz_no_suffix(实时生成)卡号后缀 + /// + [JsonProperty("biz_no_prefix")] + public string BizNoPrefix { get; set; } + + /// + /// 卡行动点配置; 行动点,即用户可点击跳转的区块,类似按钮控件的交互; 单张卡最多定制4个行动点。 + /// + [JsonProperty("card_action_list")] + + public List CardActionList { get; set; } + + /// + /// 卡级别配置 + /// + [JsonProperty("card_level_conf")] + + public List CardLevelConf { get; set; } + + /// + /// 栏位信息(卡包详情页面展现的栏位) + /// + [JsonProperty("column_info_list")] + + public List ColumnInfoList { get; set; } + + /// + /// 字段规则列表,会员卡开卡过程中,会员卡信息的生成规则, 例如:卡有效期为开卡后两年内有效,则设置为:DATE_IN_FUTURE + /// + [JsonProperty("field_rule_list")] + + public List FieldRuleList { get; set; } + + /// + /// 商户动态码通知参数配置: 当write_off_type指定为商户动态码mdbarcode或mdqrcode时必填; 在此字段配置用户打开会员卡时支付宝通知商户生成动态码(发码)的通知参数,如接收通知地址等。 + /// + [JsonProperty("mdcode_notify_conf")] + public TemplateMdcodeNotifyConfDTO MdcodeNotifyConf { get; set; } + + /// + /// 会员卡用户领卡配置,在门店等渠道露出领卡入口时,需要部署的商户领卡H5页面地址 + /// + [JsonProperty("open_card_conf")] + public TemplateOpenCardConfDTO OpenCardConf { get; set; } + + /// + /// 卡模板投放渠道 + /// + [JsonProperty("pub_channels")] + + public List PubChannels { get; set; } + + /// + /// 请求ID,由开发者生成并保证唯一性 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 会员卡上架门店id(支付宝门店id),既发放会员卡的商家门店id + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 权益信息, 1、在卡包的卡详情页面会自动添加权益栏位,展现会员卡特权, 2、如果添加门店渠道,则可在门店页展现会员卡的权益 + /// + [JsonProperty("template_benefit_info")] + + public List TemplateBenefitInfo { get; set; } + + /// + /// 支付宝卡模板ID(模板创建接口返回的支付宝端模板ID) + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 模板样式信息 + /// + [JsonProperty("template_style_info")] + public TemplateStyleInfoDTO TemplateStyleInfo { get; set; } + + /// + /// 卡包详情页面中展现出的卡码(可用于扫码核销) (1) 静态码 qrcode: 二维码,扫码得商户开卡传入的external_card_no barcode: 条形码,扫码得商户开卡传入的external_card_no + /// text: 当前不再推荐使用,text的展示效果目前等价于barcode+qrcode,同时出现条形码和二维码 (2) 动态码-支付宝生成码值(动态码会在2分钟左右后过期) dqrcode: + /// 动态二维码,扫码得到的码值可配合会员卡查询接口使用 dbarcode: 动态条形码,扫码得到的码值可配合会员卡查询接口使用 (3) 动态码-商家自主生成码值(码值、时效性都由商户控制) mdqrcode: + /// 商户动态二维码,扫码得商户自主传入的码值 mdbarcode: 商户动态条码,扫码得商户自主传入的码值 + /// + [JsonProperty("write_off_type")] + public string WriteOffType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateQueryModel.cs new file mode 100644 index 0000000..01a05e0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardTemplateQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardTemplateQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardTemplateQueryModel : AopObject + { + /// + /// 支付宝卡模板ID(模板创建接口返回的支付宝端模板ID) + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardUpdateModel.cs new file mode 100644 index 0000000..be147ad --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCardUpdateModel.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCardUpdateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCardUpdateModel : AopObject + { + /// + /// 需要修改的最新卡信息 + /// + [JsonProperty("card_info")] + public MerchantCard CardInfo { get; set; } + + /// + /// 扩展信息(暂时无用) + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 注意:此字段已废弃,卡面样式以模板中的定义为准。 会员卡卡面展示样式 参考:展示位置详情参考"商户会员卡->快速接入文档->第四步" + /// 备注:mcard_style_info与card_info下的template_id不能同时更新 + /// + [JsonProperty("mcard_style_info")] + public McardStylInfo McardStyleInfo { get; set; } + + /// + /// 卡信息变更通知消息 1、在列表中定义的消息,才会发送给用户,消息格式一定。 2、根据卡信息变更情况,一次可发送多个消息 + /// + [JsonProperty("notify_messages")] + + public List NotifyMessages { get; set; } + + /// + /// 标识业务发生的时间 + /// + [JsonProperty("occur_time")] + public string OccurTime { get; set; } + + /// + /// 支付宝业务卡号,开卡接口中返回获取 + /// + [JsonProperty("target_card_no")] + public string TargetCardNo { get; set; } + + /// + /// 卡号ID类型 BIZ_CARD:支付宝业务卡号 + /// + [JsonProperty("target_card_no_type")] + public string TargetCardNoType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashlessvoucherTemplateCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashlessvoucherTemplateCreateModel.cs new file mode 100644 index 0000000..a0e0166 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashlessvoucherTemplateCreateModel.cs @@ -0,0 +1,106 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCashlessvoucherTemplateCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCashlessvoucherTemplateCreateModel : AopObject + { + /// + /// 面额。每张代金券可以抵扣的金额。币种为人民币,单位为元。该数值不能小于0,小数点以后最多保留两位。代金券必填,兑换券不能填 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 品牌名。用于拼接券名称,长度不能超过12个字符,voucher_type值为代金券时:券名称=券面额+’元代金券’,voucher_type值为兑换券时:券名称=品牌名+“兑换券”组成 ,券名称最终用于卡包展示 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 扩展信息,暂为启用 + /// + [JsonProperty("extension_info")] + public string ExtensionInfo { get; set; } + + /// + /// 最低额度。设置券使用门槛,只有订单金额大于等于最低额度时券才能使用。币种为人民币,单位为元。该数值不能小于0,小数点以后最多保留两位。 代金券必填,兑换券不能填 + /// + [JsonProperty("floor_amount")] + public string FloorAmount { get; set; } + + /// + /// 券变动异步通知地址 + /// + [JsonProperty("notify_uri")] + public string NotifyUri { get; set; } + + /// + /// 外部业务单号。用作幂等控制。同一个pid下相同的外部业务单号作唯一键 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 发放结束时间,晚于该时间不能发券。券的发放结束时间和发放开始时间跨度不能大于90天。发放结束时间必须晚于发放开始时间。格式为:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("publish_end_time")] + public string PublishEndTime { get; set; } + + /// + /// 发放开始时间,早于该时间不能发券。发放开始时间不能大于当前时间15天。格式为:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("publish_start_time")] + public string PublishStartTime { get; set; } + + /// + /// 规则配置,JSON字符串,{"PID": "2088512417841101,2088512417841102", "STORE": + /// "123456,678901"},其中PID表示可以核销该券的pid列表,多个值用英文逗号隔开,PID为必传且需与接口调用PID同属一个商家,STORE表示可以核销该券的内部门店ID,多个值用英文逗号隔开 , + /// 兑换券不能指定规则配置 + /// + [JsonProperty("rule_conf")] + public string RuleConf { get; set; } + + /// + /// 券可用时段,JSON数组字符串,空数组即[],表示不限制,指定每周时间段示例:[{"day_rule": "1,2,3,4,5", "time_begin": "09:00:00", "time_end": + /// "22:00:00"}, {"day_rule": "6,7", "time_begin": "08:00:00", "time_end": "23:00:00"}],数组中每个元素都包含三个key:day_rule, + /// time_begin, time_end,其中day_rule表示周几,取值范围[1, 2, 3, 4, 5, 6, + /// 7](周7表示星期日),多个值使用英文逗号隔开;time_begin和time_end分别表示生效起始时间和结束时间,格式为HH:mm:ss。另外,数组中各个时间规则是或关系。例如,[{"day_rule": + /// "1,2,3,4,5", "time_begin": "09:00:00", "time_end": "22:00:00"}, {"day_rule": "6,7", "time_begin": "08:00:00", + /// "time_end": "23:00:00"}]表示在每周的一,二,三,四,五的早上9点到晚上10点券可用或者每周的星期六和星期日的早上8点到晚上11点券可用。 仅支持代金券 + /// + [JsonProperty("voucher_available_time")] + public string VoucherAvailableTime { get; set; } + + /// + /// 券使用说明。JSON数组字符串,最多可以有10条,每条最多50字。如果没有券使用说明则传入空数组即[] + /// + [JsonProperty("voucher_description")] + public string VoucherDescription { get; set; } + + /// + /// 拟发行券的数量。单位为张。该数值必须是大于0的整数。 + /// + [JsonProperty("voucher_quantity")] + public long VoucherQuantity { get; set; } + + /// + /// 券类型,取值范围 代金券:CASHLESS_FIX_VOUCHER;兑换券(暂不支持):EXCHANGE_VOUCHER; + /// + [JsonProperty("voucher_type")] + public string VoucherType { get; set; } + + /// + /// 券有效期。有两种类型:绝对时间和相对时间。使用JSON字符串表示。绝对时间有3个key:type、start、end,type取值固定为"ABSOLUTE",start和end分别表示券生效时间和失效时间,格式为yyyy-MM-dd + /// HH:mm:ss。绝对时间示例:{"type": "ABSOLUTE", "start": "2017-01-10 00:00:00", "end": "2017-01-13 + /// 23:59:59"}。相对时间有3个key:type、duration、unit,type取值固定为"RELATIVE",duration表示从发券时间开始到往后推duration个单位时间为止作为券的使用有效期,unit表示有效时间单位,有效时间单位可枚举:MINUTE, + /// HOUR, DAY。示例:{"type": "RELATIVE", "duration": 1 , "unit": "DAY" },如果此刻发券,那么该券从现在开始生效1(duration)天(unit)后失效。 + /// + [JsonProperty("voucher_valid_period")] + public string VoucherValidPeriod { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashlessvoucherTemplateModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashlessvoucherTemplateModifyModel.cs new file mode 100644 index 0000000..6d569f0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashlessvoucherTemplateModifyModel.cs @@ -0,0 +1,37 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCashlessvoucherTemplateModifyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCashlessvoucherTemplateModifyModel : AopObject + { + /// + /// 模板修改操作外部业务号,用于修改时的幂等控制,注意这里不是修改业务号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 发放结束时间,晚于该时间不能发券。券的发放结束时间和发放开始时间跨度不能大于90天。发放结束时间必须晚于发放开始时间。格式为:yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("publish_end_time")] + public string PublishEndTime { get; set; } + + /// + /// 规则配置,JSON字符串,{"PID": "2088512417841101,2088512417841102", "STORE": + /// "123456,678901"},其中PID表示可以核销该券的pid列表,多个值用英文逗号隔开,STORE表示可以核销该券的内部门店ID,多个值用英文逗号隔开,不传此参数则不修改规则,若有要修改规则那么必须包含PID,规则修改仅支持代金券 + /// + [JsonProperty("rule_conf")] + public string RuleConf { get; set; } + + /// + /// 券模板ID ,参数值通过调用alipay.marketing.cashlessvoucher.template.create接口返回 + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashvoucherTemplateCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashvoucherTemplateCreateModel.cs new file mode 100644 index 0000000..6b5c1b0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashvoucherTemplateCreateModel.cs @@ -0,0 +1,106 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCashvoucherTemplateCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCashvoucherTemplateCreateModel : AopObject + { + /// + /// 面额。每张代金券可以抵扣的金额。币种为人民币,单位为元。该数值不能小于0,小数点以后最多保留两位。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 创建券模板时录入的品牌信息,由商户自定义,在通用模板中展示在券LOGO下方 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 最低额度。设置券使用门槛,只有订单金额大于等于最低额度时券才能使用。币种为人民币,单位为元。该数值不能小于0,小数点以后最多保留两位。 + /// + [JsonProperty("floor_amount")] + public string FloorAmount { get; set; } + + /// + /// 出资人登录账号。用于发券的资金会从该账号划拨到发券专用账户上 + /// + [JsonProperty("fund_account")] + public string FundAccount { get; set; } + + /// + /// 券变动异步通知地址 + /// + [JsonProperty("notify_uri")] + public string NotifyUri { get; set; } + + /// + /// 外部业务单号。用作幂等控制。同一个pid下相同的外部业务单号作唯一键,参数不变的情况下,再次请求返回同样的模板id。请求成功后,修改参数再次提交,需要更换订单号。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 发放结束时间,晚于该时间不能发券。券的发放结束时间和发放开始时间跨度不能大于90天。发放结束时间必须晚于发放开始时间。格式为:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("publish_end_time")] + public string PublishEndTime { get; set; } + + /// + /// 发放开始时间,早于该时间不能发券。发放开始时间不能大于当前时间15天。格式为:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("publish_start_time")] + public string PublishStartTime { get; set; } + + /// + /// 重定向地址。支付成功后需要重定向的地址,如果为空则不做重定向。 + /// + [JsonProperty("redirect_uri")] + public string RedirectUri { get; set; } + + /// + /// 规则配置,JSON字符串,{"PID": "2088512417841101,2088512417841102", "STORE": + /// "123456,678901"},其中PID表示可以核销该券的pid列表,多个值用英文逗号隔开,PID为必传且需与接口调用PID同属一个商家,STORE表示可以核销该券的内部门店ID,多个值用英文逗号隔开 + /// + [JsonProperty("rule_conf")] + public string RuleConf { get; set; } + + /// + /// 券标语,用于拼接券名称,最多6个字符,券名称=券标语+券面额+’元代金券’,此字段已弃用 + /// + [JsonProperty("slogan")] + public string Slogan { get; set; } + + /// + /// 拟发行券的数量。单位为张。该数值必须是大于0的整数。 + /// + [JsonProperty("voucher_quantity")] + public long VoucherQuantity { get; set; } + + /// + /// 券类型。可枚举,暂时只支持"代金券"(FIX_VOUCHER),使用示例voucher_type=FIX_VOUCHER + /// + [JsonProperty("voucher_type")] + public string VoucherType { get; set; } + + /// + /// 券使用场景。可枚举,暂时只支持“支付宝充值中心话费流量通用现金券”(ALIPAY_RECHARGE),使用示例voucher_use_scene=ALIPAY_RECHARGE + /// + [JsonProperty("voucher_use_scene")] + public string VoucherUseScene { get; set; } + + /// + /// 券有效期。有两种类型:绝对时间和相对时间。使用JSON字符串表示。绝对时间有3个key:type、start、end,type取值固定为"ABSOLUTE",start和end分别表示券生效时间和失效时间,格式为yyyy-MM-dd + /// HH:mm:ss。绝对时间示例:{"type": "ABSOLUTE", "start": "2017-01-10 00:00:00", "end": "2017-01-13 + /// 23:59:59"}。相对时间有3个key:type、duration、unit,type取值固定为"RELATIVE",duration表示从发券时间开始到往后推duration个单位时间为止作为券的使用有效期,unit表示有效时间单位,有效时间单位可枚举:MINUTE, + /// HOUR, DAY。示例:{"type": "RELATIVE", "duration": 1 , "unit": "DAY" },如果此刻发券,那么该券从现在开始生效1(duration)天(unit)后失效。 + /// + [JsonProperty("voucher_valid_period")] + public string VoucherValidPeriod { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashvoucherTemplateModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashvoucherTemplateModifyModel.cs new file mode 100644 index 0000000..ef8bf1d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCashvoucherTemplateModifyModel.cs @@ -0,0 +1,51 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCashvoucherTemplateModifyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCashvoucherTemplateModifyModel : AopObject + { + /// + /// 外部业务单号,用作幂等控制,相同template_id下相同out_biz_no视为同一次修改 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 发放结束时间,晚于该时间不能发券。券的发放结束时间和发放开始时间跨度不能大于90天。发放结束时间必须晚于发放开始时间。格式为:yyyy-MM-dd HH:mm:ss。草稿状态和生效状态可修改 + /// + [JsonProperty("publish_end_time")] + public string PublishEndTime { get; set; } + + /// + /// 发放开始时间,早于该时间不能发券。发放开始时间不能大于当前时间15天。格式为:yyyy-MM-dd HH:mm:ss。仅草稿状态可修改。仅草稿状态可修改 + /// + [JsonProperty("publish_start_time")] + public string PublishStartTime { get; set; } + + /// + /// 券标语,用于拼接券名称,最多6个字符,券名称=券标语+券面额+’元代金券’。仅草稿状态可修改 + /// + [JsonProperty("slogan")] + public string Slogan { get; set; } + + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 券有效期。有两种类型:绝对时间和相对时间。使用JSON字符串表示。绝对时间有3个key:type、start、end,type取值固定为"ABSOLUTE",start和end分别表示券生效时间和失效时间,格式为yyyy-MM-dd + /// HH:mm:ss。绝对时间示例:{"type": "ABSOLUTE", "start": "2017-01-10 00:00:00", "end": "2017-01-13 + /// 23:59:59"}。相对时间有3个key:type、duration、unit,type取值固定为"RELATIVE",duration表示从发券时间开始到往后推duration个单位时间为止作为券的使用有效期,unit表示有效时间单位,有效时间单位可枚举:MINUTE, + /// HOUR, DAY。示例:{"type": "RELATIVE", "duration": 1 , "unit": "DAY" },如果此刻发券,那么该券从现在开始生效1(duration)天(unit)后失效。 + /// + [JsonProperty("voucher_valid_period")] + public string VoucherValidPeriod { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseCreateModel.cs new file mode 100644 index 0000000..8f2ae6c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseCreateModel.cs @@ -0,0 +1,62 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCdpAdvertiseCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCdpAdvertiseCreateModel : AopObject + { + /// + /// 用户点击广告后,跳转URL地址,必须为https协议。广告类型为PIC时,需要设置该值。对于类型为URL不生效。 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 广告位标识码(务必注意保存),目前广告位只支持在支付宝钱包中显示,口碑app暂不支持。传值:CDP_OPEN_MERCHANT + /// + [JsonProperty("ad_code")] + public string AdCode { get; set; } + + /// + /// 广告展示规则。该规则用于商家设置对用户是否展示广告的校验条件。CDP_OPEN_MERCHANT目前仅支持商家店铺规则,shop_id为支付宝店铺ID,商家登陆https://b.alipay.com/查询。 + /// + [JsonProperty("ad_rules")] + public string AdRules { get; set; } + + /// + /// 广告内容。如果广告类型是URL,则传入H5链接地址,建议为https协议。最大尺寸不得超过1242px*242px,小屏幕将按分辨率宽度同比例放大缩小;如果类型是图片,则传入图片ID标识。如何获取图片ID参考图片上传接口:alipay.offline.material.image.upload。图片尺寸为1242px*290px。图片大小不能超过50kb。 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 广告类型,目前包括HTML5和图片,分别传入:URL和PIC. + /// + [JsonProperty("content_type")] + public string ContentType { get; set; } + + /// + /// 投放广告结束时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 当广告类型是H5时,必须传入内容高度。对于广告位CDP_OPEN_MERCHANT的内容高度不能高于钱包要求的展位高度242px。 + /// 当广告类型是图片时,不需要传入内容高度(height),系统会检查用户上传的图片尺寸是否符合要求,对于广告位CDP_OPEN_MERCHANT的图片尺寸要求:宽1242px, + /// 高290px,大小50kb,实际上传图片与图片标准宽高必须一致,图片大小不能超过50kb。 + /// + [JsonProperty("height")] + public string Height { get; set; } + + /// + /// 投放广告开始时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseModifyModel.cs new file mode 100644 index 0000000..121fa99 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseModifyModel.cs @@ -0,0 +1,49 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCdpAdvertiseModifyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCdpAdvertiseModifyModel : AopObject + { + /// + /// 行为地址。用户点击广告后,跳转URL地址, 协议必须为HTTPS。广告类型为PIC时,需要设置该值。对于类型为URL不生效 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 广告ID,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + + /// + /// 广告内容。如果广告类型是HTML5,则传入H5链接地址,建议为https协议。最大尺寸不得超过1242px*242px,小屏幕将按分辨率宽度同比例放大缩小;如果类型是图片,则传入图片ID标识,如何获取图片ID参考图片上传接口:alipay.offline.material.image.upload。图片尺寸为1242px*290px。图片大小不能超过50kb。 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 投放广告结束时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 当广告类型是H5时,必须传入内容高度。对于广告位CDP_OPEN_MERCHANT的内容高度不能高于钱包要求的展位高度242px。当广告类型是图片时,不需要传入内容高度(height),系统会检查用户上传的图片尺寸是否符合要求,对于广告位CDP_OPEN_MERCHANT的图片尺寸要求:宽1242px, + /// 高290px,大小50kb,实际上传图片与图片标准宽高必须一致,图片大小不能超过50kb。 + /// + [JsonProperty("height")] + public string Height { get; set; } + + /// + /// 投放广告开始时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseOperateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseOperateModel.cs new file mode 100644 index 0000000..0b91ef5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseOperateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCdpAdvertiseOperateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCdpAdvertiseOperateModel : AopObject + { + /// + /// 广告ID,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + + /// + /// 操作类型,目前包括上线和下线,分别传入:online(ONLINE)和offline(OFFLINE) + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseQueryModel.cs new file mode 100644 index 0000000..23438a3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCdpAdvertiseQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCdpAdvertiseQueryModel : AopObject + { + /// + /// 广告Id,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseReportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseReportQueryModel.cs new file mode 100644 index 0000000..3c8c1f9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpAdvertiseReportQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCdpAdvertiseReportQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCdpAdvertiseReportQueryModel : AopObject + { + /// + /// 广告Id,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpRecommendQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpRecommendQueryModel.cs new file mode 100644 index 0000000..3ec023c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingCdpRecommendQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingCdpRecommendQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingCdpRecommendQueryModel : AopObject + { + /// + /// 广告标识码 + /// + [JsonProperty("ad_code")] + public string AdCode { get; set; } + + /// + /// 扩展信息,传json格式的字符串,包含longitude=经度;latitude=纬度;deviceId=设备标识 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 支付宝账户 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataAntlogmngActivitypagespmCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataAntlogmngActivitypagespmCreateModel.cs new file mode 100644 index 0000000..9cd9564 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataAntlogmngActivitypagespmCreateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataAntlogmngActivitypagespmCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataAntlogmngActivitypagespmCreateModel : AopObject + { + /// + /// 活动Id + /// + [JsonProperty("activity_id")] + public string ActivityId { get; set; } + + /// + /// 负责人的工号 + /// + [JsonProperty("owner")] + public string Owner { get; set; } + + /// + /// spma位 + /// + [JsonProperty("spma")] + public string Spma { get; set; } + + /// + /// 页面的spmb值code + /// + [JsonProperty("spmb")] + public string Spmb { get; set; } + + /// + /// 名称 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 凤蝶页面的url + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardApplyModel.cs new file mode 100644 index 0000000..33a7019 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardApplyModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataDashboardApplyModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataDashboardApplyModel : AopObject + { + /// + /// 仪表盘ID列表 + /// + [JsonProperty("dashboard_ids")] + + public List DashboardIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardBatchqueryModel.cs new file mode 100644 index 0000000..9fb123f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardBatchqueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataDashboardBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataDashboardBatchqueryModel : AopObject + { + /// + /// 当前页码 + /// + [JsonProperty("page")] + public string Page { get; set; } + + /// + /// 每页最大条数,最大每页30条 + /// + [JsonProperty("size")] + public string Size { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardCancelModel.cs new file mode 100644 index 0000000..440a751 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardCancelModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataDashboardCancelModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataDashboardCancelModel : AopObject + { + /// + /// 批量取消仪表盘授权 + /// + [JsonProperty("dashboard_ids")] + + public List DashboardIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardQueryModel.cs new file mode 100644 index 0000000..d6735d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDashboardQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataDashboardQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataDashboardQueryModel : AopObject + { + /// + /// 仪表盘ID + /// + [JsonProperty("dashboard_id")] + public string DashboardId { get; set; } + + /// + /// 仪表盘过滤条件 + /// + [JsonProperty("param")] + + public List Param { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDeerConnectorQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDeerConnectorQueryModel.cs new file mode 100644 index 0000000..7eff76d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDeerConnectorQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataDeerConnectorQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataDeerConnectorQueryModel : AopObject + { + /// + /// 活动洞察数据查询标识 + /// + [JsonProperty("connector_id")] + public string ConnectorId { get; set; } + + /// + /// 数据请求的参数,比如活动投放日期、投放渠道等信息 + /// + [JsonProperty("params")] + public string Params { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDeerInsightQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDeerInsightQueryModel.cs new file mode 100644 index 0000000..98aec21 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataDeerInsightQueryModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataDeerInsightQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataDeerInsightQueryModel : AopObject + { + /// + /// 洞察名称,只能是数字、英文字母、横线或下划线 + /// + [JsonProperty("alias")] + public string Alias { get; set; } + + /// + /// 应用唯一标识 + /// + [JsonProperty("app")] + public string App { get; set; } + + /// + /// 权限类型 + /// + [JsonProperty("auth")] + public string Auth { get; set; } + + /// + /// 如果未查询到洞察,是否强制新建一个返回 + /// + [JsonProperty("force")] + public bool Force { get; set; } + + /// + /// 是否强制更新该洞察为最新版洞察 + /// + [JsonProperty("force_update")] + public bool ForceUpdate { get; set; } + + /// + /// 业务空间唯一标识 + /// + [JsonProperty("group_domain")] + public string GroupDomain { get; set; } + + /// + /// 洞察唯一标识 + /// + [JsonProperty("insight_domain")] + public string InsightDomain { get; set; } + + /// + /// 业务指定的额外参数 + /// + [JsonProperty("params")] + public string Params { get; set; } + + /// + /// 调用服务的业务系统 + /// + [JsonProperty("system")] + public string System { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataModelBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataModelBatchqueryModel.cs new file mode 100644 index 0000000..000dadb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataModelBatchqueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataModelBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataModelBatchqueryModel : AopObject + { + /// + /// 当前页面。输入参数值为模型页数,一页最多30条;用于查询模型清单 + /// + [JsonProperty("page")] + public string Page { get; set; } + + /// + /// 每页最大条数。输入参数值为模型页面展现条数,最多展现30条;用于查询模型清单条数 + /// + [JsonProperty("size")] + public string Size { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataModelQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataModelQueryModel.cs new file mode 100644 index 0000000..dc89514 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDataModelQueryModel.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDataModelQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingDataModelQueryModel : AopObject + { + /// + /// 模型查询输入参数格式。此为参数列表,参数包含外部用户身分信息类型、模型输出字段及模型输出值,根据实际业务需求获取;用于实验试算法模型结果查询 key:条件查询参数。此为外部用户身份信息类型,例如:手机号、身份证 + /// operate:操作计算符数。此为查询条件 value:查询参数值。此为查询值 + /// + [JsonProperty("model_query_param")] + + public List ModelQueryParam { get; set; } + + /// + /// 模型唯一查询标识符。参数值为调用batchquery接口后获取的model_uk参数值;用于标识模型的唯一性 + /// + [JsonProperty("model_uk")] + public string ModelUk { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDecodeData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDecodeData.cs new file mode 100644 index 0000000..87a6326 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingDecodeData.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingDecodeData Data Structure. + /// + [Serializable] + public class AlipayMarketingDecodeData : AopObject + { + /// + /// 钱包二维码码值 + /// + [JsonProperty("code")] + public string Code { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingExchangevoucherUseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingExchangevoucherUseModel.cs new file mode 100644 index 0000000..0d9a558 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingExchangevoucherUseModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingExchangevoucherUseModel Data Structure. + /// + [Serializable] + public class AlipayMarketingExchangevoucherUseModel : AopObject + { + /// + /// 外部业务号,用户幂等控制。相同voucher_id和out_biz_no被认为是同一次核销 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 支付宝用户ID ,必须保证待使用的券ID归属于该支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 待使用的券id ,来自发券接口alipay.marketing.voucher.send + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingExtData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingExtData.cs new file mode 100644 index 0000000..a6b2353 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingExtData.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingExtData Data Structure. + /// + [Serializable] + public class AlipayMarketingExtData : AopObject + { + /// + /// 复杂模型 + /// + [JsonProperty("lbs_info")] + public AlipayMarketingIbsInfo LbsInfo { get; set; } + + /// + /// 外部uid + /// + [JsonProperty("out_user_id")] + public string OutUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingFacetofaceTwostageUseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingFacetofaceTwostageUseModel.cs new file mode 100644 index 0000000..e49c7f7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingFacetofaceTwostageUseModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingFacetofaceTwostageUseModel Data Structure. + /// + [Serializable] + public class AlipayMarketingFacetofaceTwostageUseModel : AopObject + { + /// + /// 业务场景码,外部商户在接入时需要进行分配 + /// + [JsonProperty("biz_sence")] + public string BizSence { get; set; } + + /// + /// 付钱码码值 + /// + [JsonProperty("dynamic_id")] + public string DynamicId { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("ext_data")] + public string ExtData { get; set; } + + /// + /// 业务场景唯一编号,用于标识这笔请求,每次调用请勿使用相同的sence_no,每笔请求的sence_no必须不一样,支付时传递的DYNAMIC_TOKEN_OUT_BIZ_NO必须与调用开放平台传递的sence_no保持一致 + /// + [JsonProperty("sence_no")] + public string SenceNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingIbsInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingIbsInfo.cs new file mode 100644 index 0000000..b62a734 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingIbsInfo.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingIbsInfo Data Structure. + /// + [Serializable] + public class AlipayMarketingIbsInfo : AopObject + { + /// + /// 精度 + /// + [JsonProperty("accuracy")] + public string Accuracy { get; set; } + + /// + /// 海拔 + /// + [JsonProperty("altitude")] + public string Altitude { get; set; } + + /// + /// 维度 + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度 + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 时间ms + /// + [JsonProperty("time")] + public string Time { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingProductContext.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingProductContext.cs new file mode 100644 index 0000000..6cbc2d3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingProductContext.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingProductContext Data Structure. + /// + [Serializable] + public class AlipayMarketingProductContext : AopObject + { + /// + /// 客户端client_id + /// + [JsonProperty("client_id")] + public string ClientId { get; set; } + + /// + /// product需要接入的时候和支付宝码平台约定。 目前仅支持建行app使用ccb_wallet + /// + [JsonProperty("product")] + public string Product { get; set; } + + /// + /// 版本号 + /// + [JsonProperty("product_version")] + public string ProductVersion { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingSharetokenCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingSharetokenCreateModel.cs new file mode 100644 index 0000000..f042fb6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingSharetokenCreateModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingSharetokenCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingSharetokenCreateModel : AopObject + { + /// + /// 业务标识,类似于业务主键,诸如pid、uid、门店id + /// + [JsonProperty("biz_linked_id")] + public string BizLinkedId { get; set; } + + /// + /// 吱口令的业务类型,新增业务请联系吱口令PD和开发分配 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 展示在吱口令解码面板上的左下方按钮,一般用作取消操作 + /// + [JsonProperty("btn_left")] + public string BtnLeft { get; set; } + + /// + /// 吱口令解码面板上左下方按钮的连接。一般不建议传值,默认行为是关闭吱口令面板 + /// + [JsonProperty("btn_left_href")] + public string BtnLeftHref { get; set; } + + /// + /// 吱口令解码面板上的右下方按钮文案 + /// + [JsonProperty("btn_right")] + public string BtnRight { get; set; } + + /// + /// 吱口令解码面板上右下方按钮的链接、一般是活动页面或业务跳转地址 + /// + [JsonProperty("btn_right_href")] + public string BtnRightHref { get; set; } + + /// + /// 展示在吱口令解码的面板上的描述文案 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 展示在吱口令解码面板上的图标。建议传入cdn的地址。 + /// + [JsonProperty("icon")] + public string Icon { get; set; } + + /// + /// 启用时间,如果为空,则默认给接口调用时候系统的当前时间 + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + + /// + /// 吱口令的有效期 + /// + [JsonProperty("timeout")] + public long Timeout { get; set; } + + /// + /// 展示在吱口令解码的面板上的标题字段 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingSharetokenDecodeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingSharetokenDecodeModel.cs new file mode 100644 index 0000000..4349f38 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingSharetokenDecodeModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingSharetokenDecodeModel Data Structure. + /// + [Serializable] + public class AlipayMarketingSharetokenDecodeModel : AopObject + { + /// + /// 码类型,可空,默认为吱口令类型『share_code』 + /// + [JsonProperty("code_type")] + public string CodeType { get; set; } + + /// + /// 扩展属性,key-value json串 + /// + [JsonProperty("ext_data")] + public string ExtData { get; set; } + + /// + /// 8位吱口令token + /// + [JsonProperty("token")] + public string Token { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieActivityCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieActivityCreateModel.cs new file mode 100644 index 0000000..b589a11 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieActivityCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingToolFengdieActivityCreateModel Data Structure. + /// + [Serializable] + public class AlipayMarketingToolFengdieActivityCreateModel : AopObject + { + /// + /// H5应用初始化数据 + /// + [JsonProperty("activity")] + public FengdieActivityCreateData Activity { get; set; } + + /// + /// 凤蝶模板包唯一id,从alipay.marketing.tool.fengdie.template.query接口中获取 + /// + [JsonProperty("template_id")] + public long TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieActivityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieActivityQueryModel.cs new file mode 100644 index 0000000..e93948d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieActivityQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingToolFengdieActivityQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingToolFengdieActivityQueryModel : AopObject + { + /// + /// H5应用的唯一id,调用alipay.marketing.tool.fengdie.activity.create获得 + /// + [JsonProperty("activity_id")] + public long ActivityId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieEditorQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieEditorQueryModel.cs new file mode 100644 index 0000000..9cb1f61 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieEditorQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingToolFengdieEditorQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingToolFengdieEditorQueryModel : AopObject + { + /// + /// 凤蝶H5应用唯一id,通过alipay.marketing.tool.fengdie.activity.create接口时自动生成 + /// + [JsonProperty("activity_id")] + public long ActivityId { get; set; } + + /// + /// 在凤蝶编辑器中点击“发布”按钮后,如果发布成功则跳转到该地址 + /// + [JsonProperty("redirect_url")] + public string RedirectUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieTemplateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieTemplateQueryModel.cs new file mode 100644 index 0000000..88415c4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingToolFengdieTemplateQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingToolFengdieTemplateQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingToolFengdieTemplateQueryModel : AopObject + { + /// + /// 当前页数,默认为1 + /// + [JsonProperty("page_number")] + public long PageNumber { get; set; } + + /// + /// 每页记录数,不能超过50,默认为10 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingUserulePidQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingUserulePidQueryModel.cs new file mode 100644 index 0000000..9918783 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingUserulePidQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingUserulePidQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingUserulePidQueryModel : AopObject + { + /// + /// 合作伙伴ID,传入ID比如与当前APPID所属合作伙伴ID一致,否则会报权限不足 + /// + [JsonProperty("pid")] + public string Pid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherAuthSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherAuthSendModel.cs new file mode 100644 index 0000000..0ea6ade --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherAuthSendModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherAuthSendModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherAuthSendModel : AopObject + { + /// + /// 外部业务订单号,用于幂等控制 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 经过用户授权过后的发券码 + /// + [JsonProperty("send_code")] + public string SendCode { get; set; } + + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherConfirmModel.cs new file mode 100644 index 0000000..d12ea82 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherConfirmModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherConfirmModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherConfirmModel : AopObject + { + /// + /// 用于决定在用户确认领券后是否重定向。可枚举:true表示需要重定向,false表示不需要重定向,不区分大小写 + /// + [JsonProperty("need_redirect")] + public bool NeedRedirect { get; set; } + + /// + /// 外部业务单号。用作幂等控制。同一个template_id、user_id、out_biz_no返回相同的发券码 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 重定向地址,用于接收支付宝返回的领取码 + /// + [JsonProperty("redirect_uri")] + public string RedirectUri { get; set; } + + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 指定用户确认页面的主题名称。目前提供5套主题,分别为:red, blue, yellow, green, orange + /// + [JsonProperty("theme")] + public string Theme { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherDirectSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherDirectSendModel.cs new file mode 100644 index 0000000..7ae346c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherDirectSendModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherDirectSendModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherDirectSendModel : AopObject + { + /// + /// 券金额(单位:分) + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 业务发生时间,格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("biz_date")] + public string BizDate { get; set; } + + /// + /// {"LEHUA_IS_ALGO_MONEY":"F","LEHUA_IS_MULTIPLIED":"F","LEHUA_MULTIPLIED_PRICE":"0.08","LEHUA_MULTIPLY_TIMES":"1.0","LEHUA_ORIGIN_PRICE":"0.08","camp_id":"1332546","camp_type":"PLATFORM_CAMP"} + /// + [JsonProperty("extend_info")] + public string ExtendInfo { get; set; } + + /// + /// 备注信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 业务订单号,每次操作不可重复。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 模板编码,创建模板后生成。 + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// USERID(支付宝用户2088账号) + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherListQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherListQueryModel.cs new file mode 100644 index 0000000..77ad97c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherListQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherListQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherListQueryModel : AopObject + { + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherSendModel.cs new file mode 100644 index 0000000..f95992a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherSendModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherSendModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherSendModel : AopObject + { + /// + /// 券金额。浮点数,格式为#.00,单位是元。红包发放时填写,其它情形不能填 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 支付宝登录ID,手机或邮箱 。user_id, login_id, taobao_nick不能同时为空,优先级依次降低 + /// + [JsonProperty("login_id")] + public string LoginId { get; set; } + + /// + /// 发券备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 外部业务订单号,用于幂等控制,相同template_id和out_biz_no认为是同一次业务 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 淘宝昵称 。user_id, login_id, taobao_nick不能同时为空,优先级依次降低 + /// + [JsonProperty("taobao_nick")] + public string TaobaoNick { get; set; } + + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 支付宝用户ID 。user_id, login_id, taobao_nick不能同时为空,优先级依次降低 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplateDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplateDeleteModel.cs new file mode 100644 index 0000000..9a58482 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplateDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherTemplateDeleteModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherTemplateDeleteModel : AopObject + { + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplatedetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplatedetailQueryModel.cs new file mode 100644 index 0000000..bb8ef90 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplatedetailQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherTemplatedetailQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherTemplatedetailQueryModel : AopObject + { + /// + /// 券模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplatelistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplatelistQueryModel.cs new file mode 100644 index 0000000..ac4e2f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMarketingVoucherTemplatelistQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMarketingVoucherTemplatelistQueryModel Data Structure. + /// + [Serializable] + public class AlipayMarketingVoucherTemplatelistQueryModel : AopObject + { + /// + /// 模板创建结束时间,格式为:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("create_end_time")] + public string CreateEndTime { get; set; } + + /// + /// 模板创建开始时间,格式为:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("create_start_time")] + public string CreateStartTime { get; set; } + + /// + /// 页码,必须为大于0的整数, 1表示第一页,2表示第2页,依次类推。 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 每页记录条数,必须为大于0的整数,最大值为30 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMonitorContentBuilder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMonitorContentBuilder.cs new file mode 100644 index 0000000..b65573d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMonitorContentBuilder.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Domain +{ + /// + /// AlipayMonitorContentBuilder 的摘要说明 + /// + public class AlipayMonitorContentBuilder : JsonBuilder + { + public List trade_info { get; set; } + + public AlipayMonitorContentBuilder() + { + + } + + public string product { get; set; } + + public string type { get; set; } + public string equipment_id { get; set; } + public string time { get; set; } + public string store_id { get; set; } + public string network_type { get; set; } + public string equipment_status { get; set; } + public string sys_service_provider_id { get; set; } + public string mac { get; set; } + + + public override bool Validate() + { + if (String.IsNullOrEmpty(product)) + { + throw new NullReferenceException("product should not be NULL!"); + } + + return true; + } + } + +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasMediarecogAftsCarIdentifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasMediarecogAftsCarIdentifyModel.cs new file mode 100644 index 0000000..bcdea5b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasMediarecogAftsCarIdentifyModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMsaasMediarecogAftsCarIdentifyModel Data Structure. + /// + [Serializable] + public class AlipayMsaasMediarecogAftsCarIdentifyModel : AopObject + { + /// + /// 扩展入参 + /// + [JsonProperty("ext")] + public string Ext { get; set; } + + /// + /// 高 + /// + [JsonProperty("h")] + public long H { get; set; } + + /// + /// 用户输入的里程数 + /// + [JsonProperty("kilometres")] + public long Kilometres { get; set; } + + /// + /// 传入资源URL或djangoid或aftsid + /// + [JsonProperty("url")] + public string Url { get; set; } + + /// + /// 蚂蚁统一会员ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 宽 + /// + [JsonProperty("w")] + public long W { get; set; } + + /// + /// 引导框左上角x + /// + [JsonProperty("x")] + public long X { get; set; } + + /// + /// 引导框左上角y + /// + [JsonProperty("y")] + public long Y { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasMediarecogVoiceMediaaudioUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasMediarecogVoiceMediaaudioUploadModel.cs new file mode 100644 index 0000000..cf1193b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasMediarecogVoiceMediaaudioUploadModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMsaasMediarecogVoiceMediaaudioUploadModel Data Structure. + /// + [Serializable] + public class AlipayMsaasMediarecogVoiceMediaaudioUploadModel : AopObject + { + /// + /// base64编码的声音数据 + /// + [JsonProperty("data")] + public string Data { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extinfo_a")] + public string ExtinfoA { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extinfo_b")] + public string ExtinfoB { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extinfo_c")] + public string ExtinfoC { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extinfo_d")] + public string ExtinfoD { get; set; } + + /// + /// 时间戳 + /// + [JsonProperty("labeltime")] + public string Labeltime { get; set; } + + /// + /// 媒体名称 + /// + [JsonProperty("vname")] + public string Vname { get; set; } + + /// + /// 媒体类型 + /// + [JsonProperty("vtype")] + public string Vtype { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasPromotionCpainfoCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasPromotionCpainfoCreateModel.cs new file mode 100644 index 0000000..f9e94b7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayMsaasPromotionCpainfoCreateModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayMsaasPromotionCpainfoCreateModel Data Structure. + /// + [Serializable] + public class AlipayMsaasPromotionCpainfoCreateModel : AopObject + { + /// + /// 唯一应用 + /// + [JsonProperty("app_id")] + public string AppId { get; set; } + + /// + /// 应用版本 + /// + [JsonProperty("app_version")] + public string AppVersion { get; set; } + + /// + /// bundle_id + /// + [JsonProperty("bundle_id")] + public string BundleId { get; set; } + + /// + /// 渠道名称 + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 调试数据 + /// + [JsonProperty("debug")] + public string Debug { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("extend")] + public string Extend { get; set; } + + /// + /// IDFA + /// + [JsonProperty("idfa")] + public string Idfa { get; set; } + + /// + /// IOS版本 + /// + [JsonProperty("ios_version")] + public string IosVersion { get; set; } + + /// + /// MAC + /// + [JsonProperty("mac")] + public string Mac { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketApplyorderBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketApplyorderBatchqueryModel.cs new file mode 100644 index 0000000..96f3373 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketApplyorderBatchqueryModel.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketApplyorderBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketApplyorderBatchqueryModel : AopObject + { + /// + /// 操作动作 + /// + [JsonProperty("action")] + public string Action { get; set; } + + /// + /// 支付宝流水ID列表,最大不超过100个 + /// + [JsonProperty("apply_ids")] + + public List ApplyIds { get; set; } + + /// + /// 业务主体ID。根据biz_type不同可能对应shop_id或item_id。 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务类型:SHOP-店铺,ITEM-商品。 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 查询的流水创建时间最后值。格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 操作用户的支付账号id + /// + [JsonProperty("op_id")] + public string OpId { get; set; } + + /// + /// 系统集成商统一传入ISV + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 页码,留空标示第一页,默认20个结果为一页 + /// + [JsonProperty("page_no")] + public long PageNo { get; set; } + + /// + /// 每页记录数。默认20,最大100。 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 请求ID列表,最大不超过100个。 注意:暂时不支持此字段查询。 + /// + [JsonProperty("request_ids")] + + public List RequestIds { get; set; } + + /// + /// 查询的流水创建时间起始值,只能查询近3个月数据。格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 流水状态:INIT-初始,PROCESS-处理中,SUCCESS-成功,FAIL-失败。 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemCreateModel.cs new file mode 100644 index 0000000..7e8814b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemCreateModel.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketItemCreateModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketItemCreateModel : AopObject + { + /// + /// 商品审核上下文。支付宝内部使用,外部商户不需填写此字段 + /// + [JsonProperty("audit_rule")] + public AlipayItemAuditRule AuditRule { get; set; } + + /// + /// 商品首图,尺寸比例在65:53范围内且图片大小不超过10k皆可,图片推荐尺寸540*420 + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 商品描述(代金券时,此字段必填) + /// + [JsonProperty("descriptions")] + + public List Descriptions { get; set; } + + /// + /// 商品下架时间,不得早于商品生效时间,商品下架 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 商品生效时间,到达生效时间后才可在客户端展示出来。 说明: 商品的生效时间不能早于创建当天的0点 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 商品库存数量 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 是否自动延期,默认false。 如果需要设置自动延期,则gmt_start和gmt_end之间要间隔2天以上 + /// + [JsonProperty("is_auto_expanded")] + public bool IsAutoExpanded { get; set; } + + /// + /// 商品类型,券类型填写固定值VOUCHER + /// + [JsonProperty("item_type")] + public string ItemType { get; set; } + + /// + /// 商户通知地址,口碑发消息给商户通知其是否对商品创建、修改、变更状态成功 + /// + [JsonProperty("operate_notify_url")] + public string OperateNotifyUrl { get; set; } + + /// + /// 商品操作上下文。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("operation_context")] + public AlipayItemOperationContext OperationContext { get; set; } + + /// + /// 商品购买类型 OBTAIN为领取,AUTO_OBTAIN为自动领取 + /// + [JsonProperty("purchase_mode")] + public string PurchaseMode { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 销售规则 + /// + [JsonProperty("sales_rule")] + public AlipayItemSalesRule SalesRule { get; set; } + + /// + /// 上架门店id列表,即传入一个或多个shop_id,必须是创建商品partnerId下的店铺,目前支持的店铺最大100个,如果超过100个店铺需要报备 + /// + [JsonProperty("shop_list")] + public string ShopList { get; set; } + + /// + /// 商品名称,请勿超过15个汉字,30个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 券模板信息 + /// + [JsonProperty("voucher_templete")] + public AlipayItemVoucherTemplete VoucherTemplete { get; set; } + + /// + /// 商品顺序权重,必须是整数,不传默认为0,权重数值越大排序越靠前 + /// + [JsonProperty("weight")] + public long Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemModifyModel.cs new file mode 100644 index 0000000..70d2941 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemModifyModel.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketItemModifyModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketItemModifyModel : AopObject + { + /// + /// 审核规则。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("audit_rule")] + public AlipayItemAuditRule AuditRule { get; set; } + + /// + /// 支付宝内部使用,暂时不支持ISV修改。商品失效时间,只能延长,不能缩短 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 库存 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 口碑体系内部商品的唯一标识 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户通知地址,口碑发消息给商户通知其是否对商品创建、修改、变更状态成功 + /// + [JsonProperty("operate_notify_url")] + public string OperateNotifyUrl { get; set; } + + /// + /// 商品操作上下文。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("operation_context")] + public AlipayItemOperationContext OperationContext { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 支付宝内部参数,ISV不支持修改。销售规则 + /// + [JsonProperty("sales_rule")] + public AlipayItemSalesRule SalesRule { get; set; } + + /// + /// 商品顺序权重,必须是整数,不传默认为0,权重数值越大排序越靠前 + /// + [JsonProperty("weight")] + public long Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemStateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemStateModel.cs new file mode 100644 index 0000000..72741e6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketItemStateModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketItemStateModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketItemStateModel : AopObject + { + /// + /// 审核规则。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("audit_rule")] + public AlipayItemAuditRule AuditRule { get; set; } + + /// + /// 口碑体系内部商品的唯一标识 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户通知地址,口碑发消息给商户通知其是否对商品创建、修改、变更状态成功 + /// + [JsonProperty("operate_notify_url")] + public string OperateNotifyUrl { get; set; } + + /// + /// 商品操作上下文。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("operation_context")] + public AlipayItemOperationContext OperationContext { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 商品上下架 + /// + [JsonProperty("state_type")] + public string StateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketLeadsQrcodeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketLeadsQrcodeQueryModel.cs new file mode 100644 index 0000000..cde8afa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketLeadsQrcodeQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketLeadsQrcodeQueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketLeadsQrcodeQueryModel : AopObject + { + /// + /// 支付宝leads ID,后续的增删改查接口都使用该ID作为主键 + /// + [JsonProperty("leads_id")] + public string LeadsId { get; set; } + + /// + /// 操作用户的支付账号id + /// + [JsonProperty("op_id")] + public string OpId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketMcommentQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketMcommentQueryModel.cs new file mode 100644 index 0000000..faa4e4f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketMcommentQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketMcommentQueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketMcommentQueryModel : AopObject + { + /// + /// 调用途径: 1:当值为ISV表示isv途径调用 2:当值为PROVIDER表示服务商调用 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 字段涵义:当前交易对应的商户partner_id 仅op_role='PROVIDER'必须传入 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketProductBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketProductBatchqueryModel.cs new file mode 100644 index 0000000..8178b68 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketProductBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketProductBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketProductBatchqueryModel : AopObject + { + /// + /// 操作人角色,默认商户操作:MERCHANT;服务商操作:PROVIDER。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 页码,留空标示第一页,默认100个结果为一页 + /// + [JsonProperty("page_no")] + public string PageNo { get; set; } + + /// + /// 门店ID。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketProductQuerydetailModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketProductQuerydetailModel.cs new file mode 100644 index 0000000..048c810 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketProductQuerydetailModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketProductQuerydetailModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketProductQuerydetailModel : AopObject + { + /// + /// 商品ID + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 操作人角色,默认商户操作:MERCHANT;服务商操作:PROVIDER。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 门店ID。支付宝内部使用,外部商户不需填写此字段。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketReportGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketReportGetModel.cs new file mode 100644 index 0000000..1c6733d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketReportGetModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketReportGetModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketReportGetModel : AopObject + { + /// + /// 操作人PID + /// + [JsonProperty("ope_pid")] + public string OpePid { get; set; } + + /// + /// 全局唯一的流水号 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketReporterrorCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketReporterrorCreateModel.cs new file mode 100644 index 0000000..9ecee7c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketReporterrorCreateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketReporterrorCreateModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketReporterrorCreateModel : AopObject + { + /// + /// 发生错误的时候,当前系统的毫秒数,系统会把当前时间构建成Date对象保存为错误发生时间 + /// + [JsonProperty("err_time")] + public long ErrTime { get; set; } + + /// + /// 如果:type是tableNum 请设置table_num字段作为桌码 + /// + [JsonProperty("feature")] + public ReportErrorFeature Feature { get; set; } + + /// + /// 商户ID + /// + [JsonProperty("merchant_id")] + public string MerchantId { get; set; } + + /// + /// 口碑门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 上传类型,通过类型来区分不同错误: value=tableNum 代表扫码点菜 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 用户的ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopApplyorderCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopApplyorderCancelModel.cs new file mode 100644 index 0000000..2683c19 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopApplyorderCancelModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopApplyorderCancelModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopApplyorderCancelModel : AopObject + { + /// + /// 撤销申请流水的原因 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 操作人ID,开店请求时候的操作人ID + /// + [JsonProperty("op_id")] + public string OpId { get; set; } + + /// + /// 要撤销的订单ID,当店铺创建、修改接口迁移至2.0时,同步返回的apply_id可以用作此接口的入参。 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopBatchqueryModel.cs new file mode 100644 index 0000000..2c063ad --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopBatchqueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopBatchqueryModel : AopObject + { + /// + /// 页码,第一页传入"1",默认500个结果为一页。此参数必须是大于0的正整数,为0时将查询报错。 + /// + [JsonProperty("page_no")] + public string PageNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopCategoryQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopCategoryQueryModel.cs new file mode 100644 index 0000000..0eb7449 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopCategoryQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopCategoryQueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopCategoryQueryModel : AopObject + { + /// + /// 类目ID,如果为空则查询全部类目。 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 表示接口业务的调用方身份,默认不填标识为ISV。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopCreateModel.cs new file mode 100644 index 0000000..e34fc45 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopCreateModel.cs @@ -0,0 +1,303 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopCreateModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopCreateModel : AopObject + { + /// + /// 门店详细地址,地址字符长度在4-50个字符,注:不含省市区。门店详细地址按规范格式填写地址,以免影响门店搜索及活动报名:例1:道路+门牌号,“人民东路18号”;例2:道路+门牌号+标志性建筑+楼层,“四川北路1552号欢乐广场1楼”。 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 门店审核时需要的图片;至少包含一张门头照片,两张内景照片,必须反映真实的门店情况,审核才能够通过;多个图片之间以英文逗号分隔。 + /// + [JsonProperty("audit_images")] + public string AuditImages { get; set; } + + /// + /// 门店授权函,营业执照与签约账号主体不一致时需要。 + /// + [JsonProperty("auth_letter")] + public string AuthLetter { get; set; } + + /// + /// 人均消费价格,最少1元,最大不超过99999元,请按实际情况填写;单位元,不需填写单位。 + /// + [JsonProperty("avg_price")] + public string AvgPrice { get; set; } + + /// + /// 店铺接口业务版本号,新接入的ISV,请统一传入2.0。 + /// + [JsonProperty("biz_version")] + public string BizVersion { get; set; } + + /// + /// 门店是否有包厢,T表示有,F表示没有,不传在客户端不作展示。 + /// + [JsonProperty("box")] + public string Box { get; set; } + + /// + /// 分店名称,比如:万塘路店,与主门店名合并在客户端显示为:肯德基(万塘路店)。 + /// + [JsonProperty("branch_shop_name")] + public string BranchShopName { get; set; } + + /// + /// 品牌LOGO; 图片ID,不填写则默认为门店首图main_image。 + /// + [JsonProperty("brand_logo")] + public string BrandLogo { get; set; } + + /// + /// 品牌名,不填写则默认为“其它品牌”。 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 许可证,各行业所需的证照资质参见 + /// 商户入驻要求 + /// ;该字段只能上传一张许可证,一张以外的许可证、除营业执照和许可证之外其他证照请放在其他资质字段上传。 + /// + [JsonProperty("business_certificate")] + public string BusinessCertificate { get; set; } + + /// + /// 许可证有效期,格式:2020-03-20或长期。严格按照格式填写。 + /// + [JsonProperty("business_certificate_expires")] + public string BusinessCertificateExpires { get; set; } + + /// + /// 请严格按"周一-周五 09:00-20:00,周六-周日 10:00-22:00"的格式进行填写,时间段不能重复,最多支持两个时间段,24小时营业请填写"00:00-23:59" + /// + [JsonProperty("business_time")] + public string BusinessTime { get; set; } + + /// + /// 类目id,请参考商户入驻要求。 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 城市编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 门店电话号码;支持座机和手机,只支持数字和+-号,在客户端对用户展现, 支持多个电话, 以英文逗号分隔。 + /// + [JsonProperty("contact_number")] + public string ContactNumber { get; set; } + + /// + /// (支付宝内部参数)小二的支付宝账号。 + /// + [JsonProperty("creator")] + public string Creator { get; set; } + + /// + /// 区县编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// (支付宝内部参数)企业支付宝账号。 + /// + [JsonProperty("enterprise_logon_id")] + public string EnterpriseLogonId { get; set; } + + /// + /// (支付宝内部参数)企业支付宝账户名称。 + /// + [JsonProperty("enterprise_name")] + public string EnterpriseName { get; set; } + + /// + /// 机具号,多个之间以英文逗号分隔。 + /// + [JsonProperty("implement_id")] + public string ImplementId { get; set; } + + /// + /// 是否在其他平台开店,T表示有开店,F表示未开店。 + /// + [JsonProperty("is_operating_online")] + public string IsOperatingOnline { get; set; } + + /// + /// ISV返佣id,门店创建、或者门店交易的返佣将通过此账号反给ISV,如果有口碑签订了返佣协议,则该字段作为返佣数据提取的依据。此字段必须是个合法uid,2088开头的16位支付宝会员账号,如果传入错误将无法创建门店。 + /// + [JsonProperty("isv_uid")] + public string IsvUid { get; set; } + + /// + /// 纬度;最长15位字符(包括小数点), 注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// (支付宝内部参数)leads的编号。 + /// + [JsonProperty("leads_id")] + public string LeadsId { get; set; } + + /// + /// 门店营业执照图片,各行业所需的证照资质参见 + /// 商户入驻要求。 + /// + [JsonProperty("licence")] + public string Licence { get; set; } + + /// + /// 门店营业执照编号,只支持输入中文,英文和数字,营业执照信息与is_operating_online至少填一项。 + /// + [JsonProperty("licence_code")] + public string LicenceCode { get; set; } + + /// + /// 营业执照过期时间。格式:2020-10-20或长期。严格按照格式填写。 + /// + [JsonProperty("licence_expires")] + public string LicenceExpires { get; set; } + + /// + /// 门店营业执照名称。 + /// + [JsonProperty("licence_name")] + public string LicenceName { get; set; } + + /// + /// 经度;最长15位字符(包括小数点), 注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public long Longitude { get; set; } + + /// + /// 门店首图,非常重要,推荐尺寸2000*1500。 + /// + [JsonProperty("main_image")] + public string MainImage { get; set; } + + /// + /// 主门店名 比如:肯德基;主店名里不要包含分店名,如“万塘路店”。主店名长度不能超过20个字符。 + /// + [JsonProperty("main_shop_name")] + public string MainShopName { get; set; } + + /// + /// 是否有无烟区,T表示有无烟区,F表示没有无烟区,不传在客户端不展示。 + /// + [JsonProperty("no_smoking")] + public string NoSmoking { get; set; } + + /// + /// 门店店长电话号码;用于接收门店状态变更通知,收款成功通知等通知消息, 不在客户端展示。 + /// + [JsonProperty("notify_mobile")] + public string NotifyMobile { get; set; } + + /// + /// 废弃字段,请使用online_url字段替代。 + /// + [JsonProperty("online_image")] + public string OnlineImage { get; set; } + + /// + /// 其他平台开店的店铺链接url,多个url使用英文逗号隔开,isv迁移到新接口使用此字段,与is_operating_online=T配套使用。 + /// + [JsonProperty("online_url")] + public string OnlineUrl { get; set; } + + /// + /// 表示以系统集成商的身份开店,开放平台现在统一传入ISV。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 当商户的门店审核状态发生变化时,会向该地址推送消息。 + /// + [JsonProperty("operate_notify_url")] + public string OperateNotifyUrl { get; set; } + + /// + /// 其他资质。用于上传营业证照、许可证照外的其他资质,除已上传许可证外的其他许可证也可以在该字段上传。 + /// + [JsonProperty("other_authorization")] + public string OtherAuthorization { get; set; } + + /// + /// 门店是否支持停车,T表示支持,F表示不支持,不传在客户端不作展示。 + /// + [JsonProperty("parking")] + public string Parking { get; set; } + + /// + /// (支付宝内部参数)服务商要操作的商户PID。 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// (支付宝内部参数)付款方式:code_scanned_pay:付款码 online_pay:在线买单。ISV不可以指定此字段,ISV泛行业开店默认为在线买单,云纵开店可以指定支付方式。 + /// + [JsonProperty("pay_type")] + public string PayType { get; set; } + + /// + /// 省份编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// (支付宝内部参数)leads开店重试支付宝流水ID。 + /// + [JsonProperty("ref_apply_id")] + public string RefApplyId { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在门店notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应。 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 外部门店编号;最长32位字符,该编号将作为收单接口的入参, 请开发者自行确保其唯一性。 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 门店其他的服务,门店与用户线下兑现。 + /// + [JsonProperty("value_added")] + public string ValueAdded { get; set; } + + /// + /// 废弃字段,使用biz_version字段替代。 + /// + [JsonProperty("version")] + public string Version { get; set; } + + /// + /// 门店是否支持WIFI,T表示支持,F表示不支持,不传在客户端不作展示。 + /// + [JsonProperty("wifi")] + public string Wifi { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopDiscountQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopDiscountQueryModel.cs new file mode 100644 index 0000000..d2788ee --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopDiscountQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopDiscountQueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopDiscountQueryModel : AopObject + { + /// + /// 查询类型 目前取值:MERCHANT(商户活动), 如果不传递该参数或者指定参数值,出参只返回item_list,discount_list, 反之返回camp_num,camp_list + /// + [JsonProperty("query_type")] + public string QueryType { get; set; } + + /// + /// 门店id,注意:必须传递isv授权商户下的门店,否则无权限查询 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopModifyModel.cs new file mode 100644 index 0000000..a12c733 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopModifyModel.cs @@ -0,0 +1,287 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopModifyModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopModifyModel : AopObject + { + /// + /// 门店详细地址,地址字符长度在4-50个字符。门店详细地址,格式(不含省市区):例1:道路+门牌号,“人民东路18号”;例2:道路+门牌号+标志性建筑+楼层;注:门店详细地址按规范格式填写地址,以免影响门店搜索及活动报名 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 门店审核时需要的图片; 至少包含一张门头照片,两张内景照片,必须反映真实的门店情况,审核才能够通过, 多个以英文逗号分隔。 + /// + [JsonProperty("audit_images")] + public string AuditImages { get; set; } + + /// + /// 门店授权函。 + /// + [JsonProperty("auth_letter")] + public string AuthLetter { get; set; } + + /// + /// 人均消费价格,最少1元,最大不超过99999元,请按实际情况填写,单位元。 + /// + [JsonProperty("avg_price")] + public string AvgPrice { get; set; } + + /// + /// 店铺接口业务版本号,新接入的ISV,请统一传入2.0。 + /// + [JsonProperty("biz_version")] + public string BizVersion { get; set; } + + /// + /// 包厢支持,T表示有包厢,F表示无包厢;不传值默认F。 + /// + [JsonProperty("box")] + public string Box { get; set; } + + /// + /// 分店名称,比如:万塘路店,与主门店名合并在客户端显示为:肯德基(万塘路店)。分店名长度需在2~20个字符之间。 + /// + [JsonProperty("branch_shop_name")] + public string BranchShopName { get; set; } + + /// + /// 品牌LOGO; 图片ID,不填写则默认为门店首图main_image。 + /// + [JsonProperty("brand_logo")] + public string BrandLogo { get; set; } + + /// + /// 品牌名称;不填写则默认为“其它品牌”。 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 许可证,各行业所需的证照资质参见 + /// 商户入驻要求 + /// ;该字段只能上传一张许可证,一张以外的许可证、除营业执照和许可证之外其他证照请放在其他资质字段上传。 + /// + [JsonProperty("business_certificate")] + public string BusinessCertificate { get; set; } + + /// + /// 许可证有效期,格式:2020-03-20或长期。严格按照格式填写。 + /// + [JsonProperty("business_certificate_expires")] + public string BusinessCertificateExpires { get; set; } + + /// + /// 请严格按"周一-周五 09:00-20:00,周六-周日 10:00-22:00"的格式进行填写,时间段不能重复,最多支持两个时间段,24小时营业请填写"00:00-23:59" + /// + [JsonProperty("business_time")] + public string BusinessTime { get; set; } + + /// + /// 废弃字段,不支持修改类目。 类目id,请参考 + /// 商户入驻要求。 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 城市编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 门店电话号码;支持座机和手机,在客户端对用户展现,支持多个电话,以英文逗号分隔。 + /// + [JsonProperty("contact_number")] + public string ContactNumber { get; set; } + + /// + /// 区县编码,国标码,详见国家统计局数据 点此下载。 + /// + [JsonProperty("district_code")] + public string DistrictCode { get; set; } + + /// + /// 店铺使用的机具编号,多个以英文逗号分隔。 + /// + [JsonProperty("implement_id")] + public string ImplementId { get; set; } + + /// + /// 是否在其他平台开店,T表示有开店,F表示未开店。 + /// + [JsonProperty("is_operating_online")] + public string IsOperatingOnline { get; set; } + + /// + /// 废弃字段,T表示显示,F表示隐藏,默认为T。 + /// + [JsonProperty("is_show")] + public string IsShow { get; set; } + + /// + /// 纬度,注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 门店营业执照图片,各行业所需的证照资质参见:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.NBvQVP&treeId=78&articleId + /// =104497&docType=1。 + /// + [JsonProperty("licence")] + public string Licence { get; set; } + + /// + /// 门店营业执照编号。只支持输入中文,英文和数字。 + /// + [JsonProperty("licence_code")] + public string LicenceCode { get; set; } + + /// + /// 营业执照过期时间。格式:2020-10-20或长期。严格按照格式填写。 + /// + [JsonProperty("licence_expires")] + public string LicenceExpires { get; set; } + + /// + /// 门店营业执照名称。 + /// + [JsonProperty("licence_name")] + public string LicenceName { get; set; } + + /// + /// 经度,注:高德坐标系。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。高德经纬度查询:http://lbs.amap.com/console/show/picker + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 门店首图;非常重要,推荐尺寸2000*1500。 + /// + [JsonProperty("main_image")] + public string MainImage { get; set; } + + /// + /// 主门店名 比如:肯德基;主店名里不要包含分店名,如“万塘路店”。主店名长度不能超过20个字符。【xxx店】、(xxx店)、(xxx店)、[xxx店]、 + /// 、xxx店,等类似的主店名都是不合法的,如果需要录入分店,请填写到branch_shop_name字段中。 + /// + [JsonProperty("main_shop_name")] + public string MainShopName { get; set; } + + /// + /// 无烟区支持,T表示禁烟,F表示不禁烟;不传值默认F。 + /// + [JsonProperty("no_smoking")] + public string NoSmoking { get; set; } + + /// + /// 门店店长电话号码;用于接收门店状态变更通知,收款成功通知等通知消息,不在客户端展示;多个以引文逗号分隔。 + /// + [JsonProperty("notify_mobile")] + public string NotifyMobile { get; set; } + + /// + /// 废弃字段,请使用online_url字段替代。 + /// + [JsonProperty("online_image")] + public string OnlineImage { get; set; } + + /// + /// 其他平台开店的店铺链接url,多个url使用英文逗号隔开,isv迁移到新接口使用此字段,与is_operating_online=T配套使用。 + /// + [JsonProperty("online_url")] + public string OnlineUrl { get; set; } + + /// + /// (支付宝内部参数)操作员的支付账号ID(服务商ID、城市经理ID)。 + /// + [JsonProperty("op_id")] + public string OpId { get; set; } + + /// + /// 表示以系统集成商的身份开店,开放平台现在统一传入ISV。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 通知发送url;当商户的门店审核状态发生变化时,会向该地址推送消息。 + /// + [JsonProperty("operate_notify_url")] + public string OperateNotifyUrl { get; set; } + + /// + /// 其他资质。用于上传营业证照、许可证照外的其他资质,除已上传许可证外的其他许可证也可以在该字段上传。 + /// + [JsonProperty("other_authorization")] + public string OtherAuthorization { get; set; } + + /// + /// 门店是否支持停车,T表示支持,F表示不支持,不传在客户端不作展示。 + /// + [JsonProperty("parking")] + public string Parking { get; set; } + + /// + /// (支付宝内部参数)服务商要操作的商户PID。 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// (支付宝内部参数)付款方式:code_scanned_pay:付款码 online_pay:在线买单。ISV不可以指定此字段,ISV泛行业开店默认为在线买单,云纵开店可以指定支付方式。 + /// + [JsonProperty("pay_type")] + public string PayType { get; set; } + + /// + /// 省份编码,国标码,详见国家统计局数据 点此下载”。 + /// + [JsonProperty("province_code")] + public string ProvinceCode { get; set; } + + /// + /// 外部请求ID; 标识ISV本次修改的请求,由开发者自定义,不同的请求使用不同的ID,在门店notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 支付宝门店ID。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 外部门店编号;最长32位字符,该编号将作为收单接口的入参, 请开发者自行确保其唯一性。 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 门店其他的服务,门店与用户线下兑现。 + /// + [JsonProperty("value_added")] + public string ValueAdded { get; set; } + + /// + /// 废弃字段,使用biz_version字段替代。 + /// + [JsonProperty("version")] + public string Version { get; set; } + + /// + /// 门店是否支持WIFI,T表示支持,F表示不支持,不传在客户端不作展示。 + /// + [JsonProperty("wifi")] + public string Wifi { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopQuerydetailModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopQuerydetailModel.cs new file mode 100644 index 0000000..d9c0c4f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopQuerydetailModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopQuerydetailModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopQuerydetailModel : AopObject + { + /// + /// 服务商及商户调用情况下务必传递。操作人角色,默认商户操作:MERCHANT;服务商操作:PROVIDER;ISV: 不需要填写 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 支付宝门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopSummaryBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopSummaryBatchqueryModel.cs new file mode 100644 index 0000000..cdb8741 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketShopSummaryBatchqueryModel.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketShopSummaryBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketShopSummaryBatchqueryModel : AopObject + { + /// + /// 表示接口业务的调用方身份:ISV、 服务商身份标识。传入ISV代表系统集成商身份。传入PROVIDER代表服务商。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + + /// + /// 页码,留空标示第一页,默认 20个结果为一页 + /// + [JsonProperty("page_no")] + public long PageNo { get; set; } + + /// + /// 每页记录数,默认20,最大 100 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 门店数据查询类型,根据类型可以返回指定的门店数据,目前支持的类型如下: BRAND_RELATION : 品牌商关联店铺 MALL_SELF :MALL自己的门店 MALL_RELATION:MALL关联下的门店 + /// MERCHANT_SELF:商户自己的门店 KB_PROMOTER:口碑客推广者 + /// + [JsonProperty("query_type")] + public string QueryType { get; set; } + + /// + /// query_type查询类型下所关联的商户PID + /// + [JsonProperty("related_partner_id")] + public string RelatedPartnerId { get; set; } + + /// + /// 门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 门店状态,传入多个状态,多个状态使用英文逗号隔开,例如:PAUSED,OPEN 店铺状态:OPEN(营业)、PAUSED(暂停)、INIT(初始)、FREEZE(冻结)、CLOSED(关店) + /// + [JsonProperty("shop_status")] + public string ShopStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherCreateModel.cs new file mode 100644 index 0000000..14fa4a8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherCreateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketingVoucherCreateModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketingVoucherCreateModel : AopObject + { + /// + /// 预算信息 + /// + [JsonProperty("budget_info")] + public BudgetInfo BudgetInfo { get; set; } + + /// + /// 券码池编号。该值调用:alipay.offline.marketing.voucher.code.upload接口生成 + /// + [JsonProperty("code_inventory_id")] + public string CodeInventoryId { get; set; } + + /// + /// 扩展参数 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 发放规则信息 + /// + [JsonProperty("get_rule")] + public GetRuleInfo GetRule { get; set; } + + /// + /// 外部流水号.需商家自己生成并保证每次请求的唯一性 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 券模板信息 + /// + [JsonProperty("voucher_info")] + public VoucherInfo VoucherInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherModifyModel.cs new file mode 100644 index 0000000..229e458 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherModifyModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketingVoucherModifyModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketingVoucherModifyModel : AopObject + { + /// + /// 预算信息 + /// + [JsonProperty("budget_info")] + public BudgetInfo BudgetInfo { get; set; } + + /// + /// 扩展参数 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 发放次数限制 + /// + [JsonProperty("get_count_limit")] + public PeriodInfo GetCountLimit { get; set; } + + /// + /// 外部流水号.需商家自己生成并保证每次请求的唯一性 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 券信息 + /// + [JsonProperty("voucher_info")] + public VoucherModifyInfo VoucherInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherOfflineModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherOfflineModel.cs new file mode 100644 index 0000000..7195e42 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherOfflineModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketingVoucherOfflineModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketingVoucherOfflineModel : AopObject + { + /// + /// 下架描述 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 外部流水号.需商家自己生成并保证每次请求的唯一性 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 券模板编号 + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherStatusQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherStatusQueryModel.cs new file mode 100644 index 0000000..861ad83 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherStatusQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketingVoucherStatusQueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketingVoucherStatusQueryModel : AopObject + { + /// + /// 外部流水号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 券模板id + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherUseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherUseModel.cs new file mode 100644 index 0000000..c477d99 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineMarketingVoucherUseModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineMarketingVoucherUseModel Data Structure. + /// + [Serializable] + public class AlipayOfflineMarketingVoucherUseModel : AopObject + { + /// + /// 约定的扩展参数 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 外部活动id + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 外部交易信息 + /// + [JsonProperty("external_trade_info")] + public VoucherUserExternalTradeInfo ExternalTradeInfo { get; set; } + + /// + /// 外部券码 + /// + [JsonProperty("external_voucher_code")] + public string ExternalVoucherCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflinePayMasterKey.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflinePayMasterKey.cs new file mode 100644 index 0000000..055c494 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflinePayMasterKey.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflinePayMasterKey Data Structure. + /// + [Serializable] + public class AlipayOfflinePayMasterKey : AopObject + { + /// + /// 秘钥id + /// + [JsonProperty("key_id")] + public long KeyId { get; set; } + + /// + /// 支付宝脱机服务公钥 + /// + [JsonProperty("public_key")] + public string PublicKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderDishQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderDishQueryModel.cs new file mode 100644 index 0000000..e8e34a0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderDishQueryModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderDishQueryModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderDishQueryModel : AopObject + { + /// + /// 数据是根据alipay.offline.provider.shopaction.record的插入菜品接口获取,对应字段是:dishTypeName。 + /// + [JsonProperty("dish_type_name")] + public string DishTypeName { get; set; } + + /// + /// order_by:1,菜品热度升序查询,order_by:2,菜品热度降序查询。不设置时默认为2(菜品热度降序查询) + /// + [JsonProperty("order_by")] + public string OrderBy { get; set; } + + /// + /// ISV自己的菜品ID,数据的计算根据:alipay.offline.provider.shopaction.record接口中插入菜品与alipay.offline.provider.useraction.record上传用户点菜菜单作为元数据,通过分析得到的数据。当前的ID就是插入菜品中的outerDishId,同时也是上传用户点菜中的action_type是order_dishes里面的dish对象的goodsId + /// + [JsonProperty("outer_dish_id")] + public string OuterDishId { get; set; } + + /// + /// 需要查询的第几页信息。非必填。默认为1 + /// + [JsonProperty("page")] + public long Page { get; set; } + + /// + /// 分页查询每页的条数,默认为20条,每次最大拉去条数100,超过限制直接返回错误 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 口碑店铺id,商户订购开发者服务插件后,口碑会通过服务市场管理推送订购信息给开发者,开发者可通过其中的订购插件订单明细查询获取此参数值,或通过商户授权口碑开店接口来获取。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderEquipmentAuthQuerybypageModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderEquipmentAuthQuerybypageModel.cs new file mode 100644 index 0000000..9bf902a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderEquipmentAuthQuerybypageModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderEquipmentAuthQuerybypageModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderEquipmentAuthQuerybypageModel : AopObject + { + /// + /// 解绑起始时间 + /// + [JsonProperty("begin_time")] + public string BeginTime { get; set; } + + /// + /// 机具类型 + /// + [JsonProperty("device_type")] + public string DeviceType { get; set; } + + /// + /// 解绑截止时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 扩展信息,传json格式的字符串,包含operator=操作人;operator_id =操作人ID + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 机具厂商PID + /// + [JsonProperty("merchant_pid")] + public string MerchantPid { get; set; } + + /// + /// 当前页,***注意页数从1开始*** + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 每页容量:最小1,最大100 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderEquipmentAuthRemoveModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderEquipmentAuthRemoveModel.cs new file mode 100644 index 0000000..3a14720 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderEquipmentAuthRemoveModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderEquipmentAuthRemoveModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderEquipmentAuthRemoveModel : AopObject + { + /// + /// 机具编号 + /// + [JsonProperty("device_id")] + public string DeviceId { get; set; } + + /// + /// 机具类型 + /// + [JsonProperty("device_type")] + public string DeviceType { get; set; } + + /// + /// 扩展信息,传json格式的字符串,包含auth_alipay_card_no =授权的商户支付宝卡号 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 机具厂商PID + /// + [JsonProperty("merchant_pid")] + public string MerchantPid { get; set; } + + /// + /// 操作人名称 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 操作人ID + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderMonitorLogSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderMonitorLogSyncModel.cs new file mode 100644 index 0000000..1ec4375 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderMonitorLogSyncModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderMonitorLogSyncModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderMonitorLogSyncModel : AopObject + { + /// + /// 数据回流日志 + /// + [JsonProperty("logs")] + + public List Logs { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderShopactionRecordModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderShopactionRecordModel.cs new file mode 100644 index 0000000..91cfd09 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderShopactionRecordModel.cs @@ -0,0 +1,58 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderShopactionRecordModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderShopactionRecordModel : AopObject + { + /// + /// 详情设置会根据action_type字段类型不同而格式不同,请详细查看开放平台文案,会详细说明如果设置,整体是json结构。参考文档:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.u6pJ7Q + /// &treeId=193&articleId=105281&docType=1#s1 + /// + [JsonProperty("action_detail")] + public string ActionDetail { get; set; } + + /// + /// 每次请求的唯一id,需开发者自行保证此参数值每次请求的唯一性。后续可以通过当前唯一id进行问题排查。 + /// + [JsonProperty("action_outer_id")] + public string ActionOuterId { get; set; } + + /// + /// 支持的操作类型 1. insert_table(插入桌位) 2. update_table(更新桌位) 3. insert_dish(插入菜品) 4. delete_dish(删除菜品) 5. + /// soldout_dish(估清菜品) 6. modify_dish(修改菜品) 7. modify_shop_status(店铺状态变更) + /// 每一种操作行为对应的action_detail都不同,action_detail结构都是json串。 8.insert_one_shop_all_table(批量覆盖单个店铺桌位) + /// + [JsonProperty("action_type")] + public string ActionType { get; set; } + + /// + /// 商户行为发生时间 格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("date_time")] + public string DateTime { get; set; } + + /// + /// 参数值固定为shop,代表店铺行为 + /// + [JsonProperty("entity")] + public string Entity { get; set; } + + /// + /// 当action_type的参数值是 + /// insert_table、update_table、insert_dish、delete_dish、soldout_dish、modify_dish、insert_dish、insert_one_shop_all_table时,此参数的值固定为:REPAST + /// + [JsonProperty("industry")] + public string Industry { get; set; } + + /// + /// 传入店铺关联关系。标记当前接口涉及到的店铺信息,同时如果传入的数据在口碑不存在,口碑会建立一条shop_id+ outer_id+ type的关联数据 + /// + [JsonProperty("outer_shop_do")] + public OuterShopDO OuterShopDo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderStaffUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderStaffUpdateModel.cs new file mode 100644 index 0000000..5f4a39e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderStaffUpdateModel.cs @@ -0,0 +1,108 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderStaffUpdateModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderStaffUpdateModel : AopObject + { + /// + /// 支付宝账号 + /// + [JsonProperty("alipay_no")] + public string AlipayNo { get; set; } + + /// + /// 行业类型 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 客户端请求IP + /// + [JsonProperty("client_ip")] + public string ClientIp { get; set; } + + /// + /// 新增员工的备注信息 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 要同步员工的邮箱 + /// + [JsonProperty("email")] + public string Email { get; set; } + + /// + /// 登录用户的staff_id + /// + [JsonProperty("login_staff_id")] + public string LoginStaffId { get; set; } + + /// + /// 服务商pid + /// + [JsonProperty("merchant_id")] + public string MerchantId { get; set; } + + /// + /// 服务商id的类型 + /// + [JsonProperty("merchant_id_type")] + public string MerchantIdType { get; set; } + + /// + /// 云纵登录人员pid + /// + [JsonProperty("ope_pid")] + public string OpePid { get; set; } + + /// + /// 同步云纵员工操作类型 + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// 流水号参数 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 角色类型 + /// + [JsonProperty("role_type")] + public string RoleType { get; set; } + + /// + /// 修改删除员工的主键id + /// + [JsonProperty("staff_id")] + public string StaffId { get; set; } + + /// + /// 要同步员工的电话号码 + /// + [JsonProperty("staff_mobile")] + public string StaffMobile { get; set; } + + /// + /// 新增员工姓名 + /// + [JsonProperty("staff_name")] + public string StaffName { get; set; } + + /// + /// 员工类型 + /// + [JsonProperty("staff_type")] + public string StaffType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderUseractionRecordModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderUseractionRecordModel.cs new file mode 100644 index 0000000..3a4d8fe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineProviderUseractionRecordModel.cs @@ -0,0 +1,100 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineProviderUseractionRecordModel Data Structure. + /// + [Serializable] + public class AlipayOfflineProviderUseractionRecordModel : AopObject + { + /// + /// 详情设置会根据action_type字段类型不同而格式不同,请详细查看开放平台文案,会详细说明如何设置,整体是json结构。订单数据回流详细说明见链接:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.msmB7o + /// &treeId=193&articleId=106810&docType=1#s1 + /// + [JsonProperty("action_detail")] + public string ActionDetail { get; set; } + + /// + /// 每次请求的唯一id,需开发者自行保证此参数值每次请求的唯一性。后续可以通过当前唯一id进行问题排查。 + /// + [JsonProperty("action_outer_id")] + public string ActionOuterId { get; set; } + + /// + /// 当前支持类型如下: 1、order_dishes(上传用户菜单) 2、order_num(餐厅排号) 3、order_book_create(餐厅预定) 4、order_pan(泛行业订单上传) + /// + [JsonProperty("action_type")] + public string ActionType { get; set; } + + /// + /// 废弃,不需要设置 + /// + [JsonProperty("alipay_app_id")] + public string AlipayAppId { get; set; } + + /// + /// 行为发生时间,格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("date_time")] + public string DateTime { get; set; } + + /// + /// 参数值固定为user,代表用户行为 + /// + [JsonProperty("entity")] + public string Entity { get; set; } + + /// + /// 上传类型为:order_dishes(上传用户菜单)、order_num(餐厅排号)设置的类型都是REPAST; 上传类型为:order_book_create(餐厅预定)时,设置的类型是book; + /// 上传类型为:order_pan(泛行业订单)设置的类型是PAN。 + /// + [JsonProperty("industry")] + public string Industry { get; set; } + + /// + /// 如果排号场景设置用户领取排号时的用户手机号,其他场景ISV尽量获取用户信息相关的手机号码,口碑会通过手机号计算用户在支付宝关联的用户信息,然后将用户的所有数据进行归档分析。 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 该字段建议填写。值定义:alipay、weixin、other、isv; 值意义:alipay:支付宝;weixin:微信;isv:isv + /// 自己的中端系统,other:其他;当前订单的创建来源,比如支付宝扫码创建或微信扫码创建或通过自己的系统用户点菜后创建,则传入对应英文。 + /// + [JsonProperty("order_channel")] + public string OrderChannel { get; set; } + + /// + /// 目前只有当action_type=order_dishes才生效,用于识别当前上传的点餐订单数据属于在线买单还是扫码点菜。现有变量枚举:online_pay(在线买单)、order_dish(扫码点菜) + /// + [JsonProperty("order_type")] + public string OrderType { get; set; } + + /// + /// 传入店铺关联关系。标记当前接口涉及到的店铺信息,同时如果传入的数据在口碑不存在,口碑会建立一条shop_id+ outer_id+ type的关联数据 + /// + [JsonProperty("outer_shop_do")] + public OuterShopDO OuterShopDo { get; set; } + + /// + /// 废弃,不需要设置 + /// + [JsonProperty("platform_user_id")] + public string PlatformUserId { get; set; } + + /// + /// 从第三方平台进入开发者应用后产生的数据,传入第三方平台域名。比如是支付宝扫码后产生的,传入支付宝域名alipay.com,是微信打开后产生的,传入微信域名weixin.qq.com,如果数据不是从第三方平台进入后产生的,设置自己的域名即可,该字段内容不做强制校验。 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 支付宝账户ID,如果获取不到支付宝账户ID,一定不能设置。如何获取支付宝账户ID,获取用户uid的接口调用文档:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.jokL1V + /// &treeId=193&articleId=105656&docType=1#s3 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineTrade.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineTrade.cs new file mode 100644 index 0000000..c97b0e1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineTrade.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineTrade Data Structure. + /// + [Serializable] + public class AlipayOfflineTrade : AopObject + { + /// + /// 交易实际发生时间 + /// + [JsonProperty("actual_order_time")] + public string ActualOrderTime { get; set; } + + /// + /// 交易金额 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 交易扩展信息,json格式字符串。 + /// + [JsonProperty("order_biz_context")] + public string OrderBizContext { get; set; } + + /// + /// 支付宝外部交易号,唯一表示一笔商户支付宝交易。商户必须保证唯一。 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 原始脱机操作记录 + /// + [JsonProperty("records")] + + public List Records { get; set; } + + /// + /// 如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_login_name")] + public string SellerLoginName { get; set; } + + /// + /// 脱机交易标题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineTradeResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineTradeResult.cs new file mode 100644 index 0000000..1fffc21 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOfflineTradeResult.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOfflineTradeResult Data Structure. + /// + [Serializable] + public class AlipayOfflineTradeResult : AopObject + { + /// + /// 系统异常 + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误信息描述 + /// + [JsonProperty("error_message")] + public string ErrorMessage { get; set; } + + /// + /// 脱机交易处理结果描述 + /// + [JsonProperty("message")] + public string Message { get; set; } + + /// + /// 表示是否需要重试 + /// + [JsonProperty("need_retry")] + public bool NeedRetry { get; set; } + + /// + /// 交易需要重试时下一次重试时间 + /// + [JsonProperty("next_try_time")] + public string NextTryTime { get; set; } + + /// + /// 支付宝外部交易号 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 业务处理结果,SUCCESS:处理成功,FAIL:处理失败, UNKNOWN:结果未知。当结果非SUCCESS时,检查need_retry判断是否需要重试。 + /// + [JsonProperty("result")] + public string Result { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppCodetesttestModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppCodetesttestModel.cs new file mode 100644 index 0000000..e9facf4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppCodetesttestModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppCodetesttestModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppCodetesttestModel : AopObject + { + /// + /// 测试参数1 + /// + [JsonProperty("testparam")] + public string Testparam { get; set; } + + /// + /// 测试测试 + /// + [JsonProperty("testtestparam")] + public string Testtestparam { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppDeveloperCheckdevelopervalidQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppDeveloperCheckdevelopervalidQueryModel.cs new file mode 100644 index 0000000..c38b08d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppDeveloperCheckdevelopervalidQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppDeveloperCheckdevelopervalidQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppDeveloperCheckdevelopervalidQueryModel : AopObject + { + /// + /// 支付宝账号 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppLingqierwuLingqierquQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppLingqierwuLingqierquQueryModel.cs new file mode 100644 index 0000000..992da62 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppLingqierwuLingqierquQueryModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppLingqierwuLingqierquQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppLingqierwuLingqierquQueryModel : AopObject + { + /// + /// 12 + /// + [JsonProperty("test")] + + public List Test { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppMiniTemplatemessageSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppMiniTemplatemessageSendModel.cs new file mode 100644 index 0000000..a7e1fdc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppMiniTemplatemessageSendModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppMiniTemplatemessageSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppMiniTemplatemessageSendModel : AopObject + { + /// + /// 开发者需要发送模板消息中的自定义部分来替换模板的占位符 + /// + [JsonProperty("data")] + public string Data { get; set; } + + /// + /// 用户发生的交易行为的交易号,或者用户在小程序产生表单提交的表单号,用于信息发送的校验 + /// + [JsonProperty("form_id")] + public string FormId { get; set; } + + /// + /// 小程序的跳转页面,用于消息中心用户点击之后详细跳转的小程序页面 + /// + [JsonProperty("page")] + public string Page { get; set; } + + /// + /// 发送消息的支付宝账号 + /// + [JsonProperty("to_user_id")] + public string ToUserId { get; set; } + + /// + /// 用户申请的模板id号,固定的模板id会发送固定的消息 + /// + [JsonProperty("user_template_id")] + public string UserTemplateId { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppMsgDingSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppMsgDingSendModel.cs new file mode 100644 index 0000000..0074076 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppMsgDingSendModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppMsgDingSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppMsgDingSendModel : AopObject + { + /// + /// 钉钉企业应用ID + /// + [JsonProperty("agent_id")] + public string AgentId { get; set; } + + /// + /// 消息类型为text时表示消息内容、消息类型为link时表示消息描述 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 消息类型为link时的消息点击链接地址 + /// + [JsonProperty("goto_url")] + public string GotoUrl { get; set; } + + /// + /// 消息类型为link时的图片地址,支持jpg格式图片,大小不超过1MB + /// + [JsonProperty("image_url")] + public string ImageUrl { get; set; } + + /// + /// 消息类型,文本为text;链接为link + /// + [JsonProperty("msg_type")] + public string MsgType { get; set; } + + /// + /// 接收者,个人为single;部门为department + /// + [JsonProperty("receiver")] + public string Receiver { get; set; } + + /// + /// 消息类型为link时的消息标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 用户UID列表 + /// + [JsonProperty("user_ids")] + + public List UserIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppPackagetestModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppPackagetestModel.cs new file mode 100644 index 0000000..4c4029a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppPackagetestModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppPackagetestModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppPackagetestModel : AopObject + { + /// + /// testtest + /// + [JsonProperty("testparam")] + public string Testparam { get; set; } + + /// + /// testtest + /// + [JsonProperty("testtest")] + public string Testtest { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppQrcodeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppQrcodeCreateModel.cs new file mode 100644 index 0000000..8a423c7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppQrcodeCreateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppQrcodeCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppQrcodeCreateModel : AopObject + { + /// + /// 对应的二维码描述 + /// + [JsonProperty("describe")] + public string Describe { get; set; } + + /// + /// 小程序的启动参数,打开小程序的query ,在小程序 onLaunch的方法中获取 + /// + [JsonProperty("query_param")] + public string QueryParam { get; set; } + + /// + /// page/component/component-pages/view/view为小程序中能访问到的页面路径 + /// + [JsonProperty("url_param")] + public string UrlParam { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppXwbtestBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppXwbtestBatchqueryModel.cs new file mode 100644 index 0000000..35ec20b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppXwbtestBatchqueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppXwbtestBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppXwbtestBatchqueryModel : AopObject + { + /// + /// 1 + /// + [JsonProperty("xwb")] + public string Xwb { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppXwbtestpreCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppXwbtestpreCreateModel.cs new file mode 100644 index 0000000..2a15fbd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppXwbtestpreCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppXwbtestpreCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppXwbtestpreCreateModel : AopObject + { + /// + /// 1 + /// + [JsonProperty("sd")] + public string Sd { get; set; } + + /// + /// 1 + /// + [JsonProperty("xwb")] + public string Xwb { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppYufalingsanyaowubYufalingsanyaowubQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppYufalingsanyaowubYufalingsanyaowubQueryModel.cs new file mode 100644 index 0000000..8694913 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppYufalingsanyaowubYufalingsanyaowubQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppYufalingsanyaowubYufalingsanyaowubQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppYufalingsanyaowubYufalingsanyaowubQueryModel : AopObject + { + /// + /// yufaa + /// + [JsonProperty("yufaa")] + public string Yufaa { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppYufanlingsanyaowuYufalingsanyaowuQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppYufanlingsanyaowuYufalingsanyaowuQueryModel.cs new file mode 100644 index 0000000..74680a7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAppYufanlingsanyaowuYufalingsanyaowuQueryModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAppYufanlingsanyaowuYufalingsanyaowuQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenAppYufanlingsanyaowuYufalingsanyaowuQueryModel : AopObject + { + /// + /// 省份编码,国标码 + /// + [JsonProperty("province_code")] + + public List ProvinceCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthIndustryPlatformCreateTokenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthIndustryPlatformCreateTokenModel.cs new file mode 100644 index 0000000..4656b34 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthIndustryPlatformCreateTokenModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAuthIndustryPlatformCreateTokenModel Data Structure. + /// + [Serializable] + public class AlipayOpenAuthIndustryPlatformCreateTokenModel : AopObject + { + /// + /// isv的appid + /// + [JsonProperty("isv_appid")] + public string IsvAppid { get; set; } + + /// + /// auth_mycar_violation + /// + [JsonProperty("scope")] + public string Scope { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthTokenAppModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthTokenAppModel.cs new file mode 100644 index 0000000..12bcd44 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthTokenAppModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAuthTokenAppModel Data Structure. + /// + [Serializable] + public class AlipayOpenAuthTokenAppModel : AopObject + { + /// + /// 授权码,如果grant_type的值为authorization_code。该值必须填写 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// authorization_code表示换取app_auth_token。 refresh_token表示刷新app_auth_token。 + /// + [JsonProperty("grant_type")] + public string GrantType { get; set; } + + /// + /// 刷新令牌,如果grant_type值为refresh_token。该值不能为空。该值来源于此接口的返回值app_refresh_token(至少需要通过grant_type=authorization_code调用此接口一次才能获取) + /// + [JsonProperty("refresh_token")] + public string RefreshToken { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthTokenAppQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthTokenAppQueryModel.cs new file mode 100644 index 0000000..f8a7e56 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenAuthTokenAppQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenAuthTokenAppQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenAuthTokenAppQueryModel : AopObject + { + /// + /// 应用授权令牌 + /// + [JsonProperty("app_auth_token")] + public string AppAuthToken { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenCategoryArticleQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenCategoryArticleQueryModel.cs new file mode 100644 index 0000000..0801dc4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenCategoryArticleQueryModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenCategoryArticleQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenCategoryArticleQueryModel : AopObject + { + /// + /// ID 类目名称 WEB001 运动迷 WEB002 娱乐 WEB003 游戏 WEB004 看大片 WEB005 爱美丽 WEB006 车参考 WEB007 星座 WEB008 养娃经 + /// WEB009 美食家 WEB010 玩出游 WEB011 科技圈 WEB012 潮数码 WEB013 财知道 WEB014 彩票 WEB016 职场 WEB999 其他 + /// + [JsonProperty("category_name")] + public string CategoryName { get; set; } + + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountCreateModel.cs new file mode 100644 index 0000000..31e35fc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountCreateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicAccountCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicAccountCreateModel : AopObject + { + /// + /// 账户添加成功,在支付宝与其对应的协议号。如果账户重复添加,接口保证幂等依然视为添加成功,返回此前该账户在支付宝对应的协议号。其他异常该字段不存在。 + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 绑定帐号,建议在开发者的系统中保持唯一性 + /// + [JsonProperty("bind_account_no")] + public string BindAccountNo { get; set; } + + /// + /// 开发者期望在服务窗首页看到的关于该用户的显示信息,最长10个字符 + /// + [JsonProperty("display_name")] + public string DisplayName { get; set; } + + /// + /// 要绑定的商户会员对应的支付宝userid,2088开头长度为16位的字符串 + /// + [JsonProperty("from_user_id")] + public string FromUserId { get; set; } + + /// + /// 要绑定的商户会员的真实姓名,最长10个汉字 + /// + [JsonProperty("real_name")] + public string RealName { get; set; } + + /// + /// 备注信息,开发者可以通过该字段纪录其他的额外信息 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountDeleteModel.cs new file mode 100644 index 0000000..d443113 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountDeleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicAccountDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicAccountDeleteModel : AopObject + { + /// + /// 协议号,商户会员在支付宝服务窗账号中的唯一标识,与bind_account_no不能同时为空 + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 绑定帐号,建议在开发者的系统中保持唯一性,与agreement_id不能同时为空 + /// + [JsonProperty("bind_account_no")] + public string BindAccountNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountQueryModel.cs new file mode 100644 index 0000000..082cfb7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicAccountQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicAccountQueryModel : AopObject + { + /// + /// 支付宝账号userid,2088开头长度为16位的字符串 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountResetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountResetModel.cs new file mode 100644 index 0000000..6001346 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicAccountResetModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicAccountResetModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicAccountResetModel : AopObject + { + /// + /// 需要重置的协议号,商户会员在支付宝服务窗账号中的唯一标识 + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 绑定帐号,建议在开发者的系统中保持唯一性 + /// + [JsonProperty("bind_account_no")] + public string BindAccountNo { get; set; } + + /// + /// 开发者期望在服务窗首页看到的关于该用户的显示信息,最长10个字符 + /// + [JsonProperty("display_name")] + public string DisplayName { get; set; } + + /// + /// 要绑定的商户会员对应的支付宝userid,2088开头长度为16位的字符串 + /// + [JsonProperty("from_user_id")] + public string FromUserId { get; set; } + + /// + /// 要绑定的商户会员的真实姓名,最长10个汉字 + /// + [JsonProperty("real_name")] + public string RealName { get; set; } + + /// + /// 备注信息,开发者可以通过该字段纪录其他的额外信息 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicContentCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicContentCancelModel.cs new file mode 100644 index 0000000..879c892 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicContentCancelModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicContentCancelModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicContentCancelModel : AopObject + { + /// + /// message_id 是发布接口调用之后拿到的返回值,用来撤回已经发布的对应内容 + /// + [JsonProperty("message_id")] + public string MessageId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicContentPublishModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicContentPublishModel.cs new file mode 100644 index 0000000..3d2cf39 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicContentPublishModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicContentPublishModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicContentPublishModel : AopObject + { + /// + /// action_url 文章地址url,用于文章列表显示,用户点击后的跳转地址。 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// article_id 为调用方的文章id,用于生活号对输入的文章进行去重检测 + /// + [JsonProperty("article_id")] + public string ArticleId { get; set; } + + /// + /// content 为写文章完整的正文文本内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// cover_img 用于内容在文章列表中展示时的配图 + /// + [JsonProperty("cover_img")] + public string CoverImg { get; set; } + + /// + /// desc 用于描述文章简介 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// endTime 用于描述文章内容有效截止时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// source 用于描述调用接口的业务方 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// title 用于描述文章标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicDefaultExtensionCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicDefaultExtensionCreateModel.cs new file mode 100644 index 0000000..3398b7b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicDefaultExtensionCreateModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicDefaultExtensionCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicDefaultExtensionCreateModel : AopObject + { + /// + /// 默认扩展区列表,最多包含3个扩展区 + /// + [JsonProperty("areas")] + + public List Areas { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicFollowBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicFollowBatchqueryModel.cs new file mode 100644 index 0000000..32f27c8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicFollowBatchqueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicFollowBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicFollowBatchqueryModel : AopObject + { + /// + /// 当关注者数量超过10000时使用,本次拉取数据中第一个用户的userId,从上次接口调用返回值中获取。第一次调用置空 + /// + [JsonProperty("next_user_id")] + public string NextUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGisQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGisQueryModel.cs new file mode 100644 index 0000000..7372576 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGisQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicGisQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicGisQueryModel : AopObject + { + /// + /// 该用户的userId + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupCreateModel.cs new file mode 100644 index 0000000..0d34361 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupCreateModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicGroupCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicGroupCreateModel : AopObject + { + /// + /// 标签规则,满足该规则的粉丝将被圈定,标签id不能重复 + /// + [JsonProperty("label_rule")] + + public List LabelRule { get; set; } + + /// + /// 分组名称,仅支持中文、字母、数字、下划线的组合。 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupCrowdQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupCrowdQueryModel.cs new file mode 100644 index 0000000..c810fa6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupCrowdQueryModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicGroupCrowdQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicGroupCrowdQueryModel : AopObject + { + /// + /// 用户分组的规则项列表,规则项之间元素是与的逻辑,每个规则项内部用多个值表示或的逻辑 + /// + [JsonProperty("label_rule")] + + public List LabelRule { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupDeleteModel.cs new file mode 100644 index 0000000..9080456 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicGroupDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicGroupDeleteModel : AopObject + { + /// + /// 需要删除的用户分组的id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupModifyModel.cs new file mode 100644 index 0000000..2b13853 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicGroupModifyModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicGroupModifyModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicGroupModifyModel : AopObject + { + /// + /// 分组ID,整型值 + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 标签规则,满足该规则的粉丝将被圈定,标签id不能重复 + /// + [JsonProperty("label_rule")] + + public List LabelRule { get; set; } + + /// + /// 分组名称,仅支持中文、字母、数字、下划线的组合。 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicInfoModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicInfoModifyModel.cs new file mode 100644 index 0000000..3292470 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicInfoModifyModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicInfoModifyModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicInfoModifyModel : AopObject + { + /// + /// 服务窗名称,2-20个字之间;不得含有违反法律法规和公序良俗的相关信息;不得侵害他人名誉权、知识产权、商业秘密等合法权利;不得以太过广泛的、或产品、行业词组来命名,如:女装、皮革批发;不得以实名认证的媒体资质账号创建服务窗,或媒体相关名称命名服务窗,如:XX电视台、XX杂志等 + /// + [JsonProperty("app_name")] + public string AppName { get; set; } + + /// + /// 授权运营书,企业商户若为被经营方授权,需上传加盖公章的扫描件,请使用照片上传接口上传图片获得image_url + /// + [JsonProperty("auth_pic")] + public string AuthPic { get; set; } + + /// + /// 营业执照地址,建议尺寸 320 x 320px,支持.jpg .jpeg .png 格式,小于3M + /// + [JsonProperty("license_url")] + public string LicenseUrl { get; set; } + + /// + /// 服务窗头像地址,建议尺寸 320 x 320px,支持.jpg .jpeg .png 格式,小于3M + /// + [JsonProperty("logo_url")] + public string LogoUrl { get; set; } + + /// + /// 服务窗欢迎语,200字以内,首次使用服务窗必须 + /// + [JsonProperty("public_greeting")] + public string PublicGreeting { get; set; } + + /// + /// 门店照片Url + /// + [JsonProperty("shop_pics")] + + public List ShopPics { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelCreateModel.cs new file mode 100644 index 0000000..7324058 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelCreateModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLabelCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLabelCreateModel : AopObject + { + /// + /// 标签名 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelDeleteModel.cs new file mode 100644 index 0000000..be7f599 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLabelDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLabelDeleteModel : AopObject + { + /// + /// 标签id + /// + [JsonProperty("id")] + public string Id { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelModifyModel.cs new file mode 100644 index 0000000..1336edc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLabelModifyModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLabelModifyModel : AopObject + { + /// + /// 要修改的标签id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 要修改成的标签名 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserCreateModel.cs new file mode 100644 index 0000000..286ed9d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLabelUserCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLabelUserCreateModel : AopObject + { + /// + /// 要绑定的标签Id + /// + [JsonProperty("label_id")] + public long LabelId { get; set; } + + /// + /// 支付宝用户id,2088开头长度为16位的字符串 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserDeleteModel.cs new file mode 100644 index 0000000..c2d7721 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserDeleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLabelUserDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLabelUserDeleteModel : AopObject + { + /// + /// 标签id + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 支付宝用户的userid,2088开头长度为16位的字符串 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserQueryModel.cs new file mode 100644 index 0000000..3f55f63 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLabelUserQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLabelUserQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLabelUserQueryModel : AopObject + { + /// + /// 支付宝用户的userid,2088开头长度为16位的字符串 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeAgentcreateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeAgentcreateQueryModel.cs new file mode 100644 index 0000000..c901d11 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeAgentcreateQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLifeAgentcreateQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLifeAgentcreateQueryModel : AopObject + { + /// + /// 由开发者创建的外部入驻申请单据号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelCreateModel.cs new file mode 100644 index 0000000..b4cd5d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLifeLabelCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLifeLabelCreateModel : AopObject + { + /// + /// 标签值类型,目前只支持string(字符串类型),不传默认为"string" + /// + [JsonProperty("data_type")] + public string DataType { get; set; } + + /// + /// 自定义标签名 + /// + [JsonProperty("label_name")] + public string LabelName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelDeleteModel.cs new file mode 100644 index 0000000..dc63790 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLifeLabelDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLifeLabelDeleteModel : AopObject + { + /// + /// 标签id, 只支持生活号自定义标签 + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelModifyModel.cs new file mode 100644 index 0000000..f66cb01 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeLabelModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLifeLabelModifyModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLifeLabelModifyModel : AopObject + { + /// + /// 标签id,调用创建标签接口后由支付宝返回 ,只支持生活号自定义标签 + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 标签名 + /// + [JsonProperty("label_name")] + public string LabelName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeMsgRecallModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeMsgRecallModel.cs new file mode 100644 index 0000000..e852270 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicLifeMsgRecallModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicLifeMsgRecallModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicLifeMsgRecallModel : AopObject + { + /// + /// 消息id + /// + [JsonProperty("message_id")] + public string MessageId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMatchuserLabelCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMatchuserLabelCreateModel.cs new file mode 100644 index 0000000..25ae36a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMatchuserLabelCreateModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMatchuserLabelCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMatchuserLabelCreateModel : AopObject + { + /// + /// 标签id,调用创建标签接口会返回label_id + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 标签值,由开发者自主指定,标签值类型要满足创建标签接口中data_type参数的限定。 + /// + [JsonProperty("label_value")] + public string LabelValue { get; set; } + + /// + /// 支付宝用户匹配器列表,最多传入10条 + /// + [JsonProperty("matchers")] + + public List Matchers { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMatchuserLabelDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMatchuserLabelDeleteModel.cs new file mode 100644 index 0000000..856ddd4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMatchuserLabelDeleteModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMatchuserLabelDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMatchuserLabelDeleteModel : AopObject + { + /// + /// 标签id + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 支付宝用户匹配器列表,最多传入10条 + /// + [JsonProperty("matchers")] + + public List Matchers { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMenuCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMenuCreateModel.cs new file mode 100644 index 0000000..35bf9c3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMenuCreateModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMenuCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMenuCreateModel : AopObject + { + /// + /// 一级菜单列表。最多有4个一级菜单,若开发者在后台打开了"咨询反馈"的开关,则只能有3个一级菜单. + /// + [JsonProperty("button")] + + public List Button { get; set; } + + /// + /// 菜单类型,支持值为icon:icon型菜单,text:文本型菜单,不传时默认为"text",当传值为"icon"时,菜单节点的icon字段必传。 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMenuModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMenuModifyModel.cs new file mode 100644 index 0000000..e1cc94c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMenuModifyModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMenuModifyModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMenuModifyModel : AopObject + { + /// + /// 一级菜单列表。最多有4个一级菜单,若开发者在后台打开了"咨询反馈"的开关,则只能有3个一级菜单. + /// + [JsonProperty("button")] + + public List Button { get; set; } + + /// + /// 菜单类型,支持值为icon:icon型菜单,text:文本型菜单,不传时默认为"text",当传值为"icon"时,菜单节点的icon字段必传。 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageCustomSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageCustomSendModel.cs new file mode 100644 index 0000000..9bd2f9c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageCustomSendModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMessageCustomSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMessageCustomSendModel : AopObject + { + /// + /// 图文消息,当msg_type为image-text时,必须存在相对应的值 + /// + [JsonProperty("articles")] + + public List
Articles { get; set; } + + /// + /// 是否是聊天消息。支持值:0,1,当值为0时,代表是非聊天消息,消息显示在生活号主页,当值为1时,代表是聊天消息,消息显示在咨询反馈列表页。默认值为0 + /// + [JsonProperty("chat")] + public string Chat { get; set; } + + /// + /// 消息类型,text:文本消息,image-text:图文消息 + /// + [JsonProperty("msg_type")] + public string MsgType { get; set; } + + /// + /// 当msg_type为text时,必须设置相对应的值 + /// + [JsonProperty("text")] + public Text Text { get; set; } + + /// + /// 消息接收用户的userid + /// + [JsonProperty("to_user_id")] + public string ToUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageGroupSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageGroupSendModel.cs new file mode 100644 index 0000000..d3d72bb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageGroupSendModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMessageGroupSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMessageGroupSendModel : AopObject + { + /// + /// 图文消息,当msg_type为image-text,该值必须设置,图文消息中的图片建议尺寸 750 x 350px,小于3M,图片支持jpg、png格式 + /// + [JsonProperty("articles")] + + public List
Articles { get; set; } + + /// + /// 用户分组ID + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 纯图片消息,暂时不支持,包含url信息,当msg_type为image时,必须设置该值 ,图片尺寸建议为1080x750px,小于3M,图片支持jpg、png格式 + /// + [JsonProperty("image")] + public Image Image { get; set; } + + /// + /// 消息类型,text表示文本消息,image-text表示图文消息 + /// + [JsonProperty("msg_type")] + public string MsgType { get; set; } + + /// + /// 文本消息内容,当msg_type为text,必须设置该值,而且必须同时设置标题和内容字段 + /// + [JsonProperty("text")] + public Text Text { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageLabelSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageLabelSendModel.cs new file mode 100644 index 0000000..ec01e08 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageLabelSendModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMessageLabelSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMessageLabelSendModel : AopObject + { + /// + /// 根据标签圈人的过滤器 + /// + [JsonProperty("filter")] + public Filter Filter { get; set; } + + /// + /// 发送消息内容,支持文本消息和图文消息 + /// + [JsonProperty("material")] + public Material Material { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageSingleSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageSingleSendModel.cs new file mode 100644 index 0000000..2eb1f18 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageSingleSendModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMessageSingleSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMessageSingleSendModel : AopObject + { + /// + /// 消息模板相关参数,其中包括templateId模板ID和context模板上下文 + /// + [JsonProperty("template")] + public Template Template { get; set; } + + /// + /// 消息接收用户的userid + /// + [JsonProperty("to_user_id")] + public string ToUserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageTotalSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageTotalSendModel.cs new file mode 100644 index 0000000..bfc3b91 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicMessageTotalSendModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicMessageTotalSendModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicMessageTotalSendModel : AopObject + { + /// + /// 图文消息,当msg_type为image-text,该值必须设置 + /// + [JsonProperty("articles")] + + public List
Articles { get; set; } + + /// + /// 消息类型,text:文本消息,image-text:图文消息 + /// + [JsonProperty("msg_type")] + public string MsgType { get; set; } + + /// + /// 文本消息内容,当msg_type为text,必须设置该值 + /// + [JsonProperty("text")] + public Text Text { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerMenuOperateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerMenuOperateModel.cs new file mode 100644 index 0000000..5f1b275 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerMenuOperateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPartnerMenuOperateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPartnerMenuOperateModel : AopObject + { + /// + /// 行为参数 + /// + [JsonProperty("action_param")] + public string ActionParam { get; set; } + + /// + /// 行为类型(in,out,api) + /// + [JsonProperty("action_type")] + public string ActionType { get; set; } + + /// + /// 协议号 + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 服务窗id + /// + [JsonProperty("public_id")] + public string PublicId { get; set; } + + /// + /// 第三方账号ID ,银行卡号/户号/手机号 + /// + [JsonProperty("third_account_id")] + public string ThirdAccountId { get; set; } + + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerMenuQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerMenuQueryModel.cs new file mode 100644 index 0000000..bf40b01 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerMenuQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPartnerMenuQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPartnerMenuQueryModel : AopObject + { + /// + /// 服务窗id + /// + [JsonProperty("public_id")] + public string PublicId { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerSubscribeSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerSubscribeSyncModel.cs new file mode 100644 index 0000000..47aa83c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPartnerSubscribeSyncModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPartnerSubscribeSyncModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPartnerSubscribeSyncModel : AopObject + { + /// + /// 是否接受服务窗消息 + /// + [JsonProperty("accept_msg")] + public string AcceptMsg { get; set; } + + /// + /// 关注的服务窗id + /// + [JsonProperty("follow_object_id")] + public string FollowObjectId { get; set; } + + /// + /// 操作类型,添加关注或取消关注 + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// 是否打开接收公众号PUSH提醒开关 ON:打开 OFF:关闭 + /// + [JsonProperty("push_switch")] + public string PushSwitch { get; set; } + + /// + /// 关注来源 + /// + [JsonProperty("source_id")] + public string SourceId { get; set; } + + /// + /// 关注服务窗的用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionCreateModel.cs new file mode 100644 index 0000000..1df685e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionCreateModel.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPersonalizedExtensionCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPersonalizedExtensionCreateModel : AopObject + { + /// + /// 扩展区列表,最大条数为3 + /// + [JsonProperty("areas")] + + public List Areas { get; set; } + + /// + /// 标签规则,目前限定只能传入1条,在扩展区上线后,满足该标签规则的用户进入生活号首页,将看到该套扩展区。 + /// + [JsonProperty("label_rule")] + + public List LabelRule { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionDeleteModel.cs new file mode 100644 index 0000000..f776958 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPersonalizedExtensionDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPersonalizedExtensionDeleteModel : AopObject + { + /// + /// 一套扩展区的key,删除默认扩展区时传入default ,查询扩展区列表可以获得每套扩展区的key + /// + [JsonProperty("extension_key")] + public string ExtensionKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionSetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionSetModel.cs new file mode 100644 index 0000000..1f0c3f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedExtensionSetModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPersonalizedExtensionSetModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPersonalizedExtensionSetModel : AopObject + { + /// + /// 扩展区套id,调用创建个性化扩展区接口时返回 + /// + [JsonProperty("extension_key")] + public string ExtensionKey { get; set; } + + /// + /// 扩展区操作类型,支持2个值:ON、OFF,ON代表上线操作,OFF代表下线操作。当上线一个扩展区时,若存在同样的标签规则,且状态为上线的扩展区,该扩展区会自动下线 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedMenuCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedMenuCreateModel.cs new file mode 100644 index 0000000..d537bae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedMenuCreateModel.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPersonalizedMenuCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPersonalizedMenuCreateModel : AopObject + { + /// + /// 一级菜单列表。最多有4个一级菜单,若开发者在后台打开了"咨询反馈"的开关,则只能有3个一级菜单。 + /// + [JsonProperty("button")] + + public List Button { get; set; } + + /// + /// 标签规则,目前限定只能传入1条,在个性化菜单创建成功后,满足该标签规则的用户进入生活号首页,将看到该套菜单。 + /// + [JsonProperty("label_rule")] + + public List LabelRule { get; set; } + + /// + /// 菜单类型,支持值为icon:icon型菜单,text:文本型菜单,不传时默认为"text",当传值为"icon"时,菜单节点的icon字段必传。 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedMenuDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedMenuDeleteModel.cs new file mode 100644 index 0000000..a16d4e9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicPersonalizedMenuDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicPersonalizedMenuDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicPersonalizedMenuDeleteModel : AopObject + { + /// + /// 要删除的个性化菜单key + /// + [JsonProperty("menu_key")] + public string MenuKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicQrcodeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicQrcodeCreateModel.cs new file mode 100644 index 0000000..8faf2ef --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicQrcodeCreateModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicQrcodeCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicQrcodeCreateModel : AopObject + { + /// + /// 服务窗创建带参二维码接口,开发者自定义信息 + /// + [JsonProperty("code_info")] + public CodeInfo CodeInfo { get; set; } + + /// + /// 二维码类型,目前只支持两种类型: TEMP:临时的(默认); PERM:永久的 + /// + [JsonProperty("code_type")] + public string CodeType { get; set; } + + /// + /// 临时码过期时间,以秒为单位,最大不超过1800秒; 永久码置空 + /// + [JsonProperty("expire_second")] + public string ExpireSecond { get; set; } + + /// + /// 二维码中间是否显示服务窗logo,Y:显示;N:不显示(默认) + /// + [JsonProperty("show_logo")] + public string ShowLogo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicShortlinkCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicShortlinkCreateModel.cs new file mode 100644 index 0000000..162a211 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicShortlinkCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicShortlinkCreateModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicShortlinkCreateModel : AopObject + { + /// + /// 对于场景ID的描述,商户自己定义 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + + /// + /// 短链接对应的场景ID,该ID由商户自己定义 + /// + [JsonProperty("scene_id")] + public string SceneId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicTemplateMessageGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicTemplateMessageGetModel.cs new file mode 100644 index 0000000..5674d9f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicTemplateMessageGetModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicTemplateMessageGetModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicTemplateMessageGetModel : AopObject + { + /// + /// 消息母板id,登陆生活号后台(fuwu.alipay.com),点击菜单“模板消息”,点击“模板库”,即可看到相应模板的消息母板id + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicTemplateMessageIndustryModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicTemplateMessageIndustryModifyModel.cs new file mode 100644 index 0000000..2ca0071 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicTemplateMessageIndustryModifyModel.cs @@ -0,0 +1,44 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicTemplateMessageIndustryModifyModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicTemplateMessageIndustryModifyModel : AopObject + { + /// + /// 服务窗消息模板所属主行业一/二级编码 + /// + [JsonProperty("primary_industry_code")] + public string PrimaryIndustryCode { get; set; } + + /// + /// 服务窗消息模板所属主行业一/二级名称(参数说明如下:) |主行业| 副行业 |代码| IT科技/互联网|电子商务 10001/20101 IT科技/IT软件与服务 10001/20102 IT科技/IT软件与设备 + /// 10001/20103 IT科技/电子技术 10001/20104 IT科技/通信与运营商 10001/20105 IT科技/网络游戏 10001/20106 金融业/银行 10002/20201 + /// 金融业/证券|基金|理财|信托 10002/20202 金融业/保险 10002/20203 餐饮/餐饮 10003/20301 酒店旅游/酒店 10004/20401 酒店旅游/旅游 10004/20401 + /// 运输与仓储/快递 10005/20501 运输与仓储/物流 10005/20501 运输与仓储/仓储 10005/20501 教育/培训 10006/20601 教育/院校 10006/20602 + /// 政府与公共事业/学术科研 10007/20701 政府与公共事业/交警 10007/20702 政府与公共事业/博物馆 10007/20703 政府与公共事业/政府公共事业非盈利机构 10007/20704 + /// 医药护理/医药医疗 10008/20801 医药护理/护理美容 10008/20802 医药护理/保健与卫生 10008/20803 交通工具/汽车相关 10009/20901 交通工具/摩托车相关 10009/20902 + /// 交通工具/火车相关 10009/20903 交通工具/飞机相关 10009/20904 房地产/房地产|建筑 10010/21001 房地产/物业 10010/21002 消费品/消费品 10011/21101 + /// 商业服务/法律 10012/21201 商业服务/广告会展 10012/21201 商业服务/中介服务 10012/21202 商业服务/检测|认证 10012/21203 商业服务/会计|审计 10012/21204 + /// 文体娱乐/文化|传媒 10013/21301 文体娱乐/体育 10013/21302 文体娱乐/娱乐休闲 10013/21303 印刷/打印|印刷 10014/21401 其它/其它 10015/21501 + /// + [JsonProperty("primary_industry_name")] + public string PrimaryIndustryName { get; set; } + + /// + /// 服务窗消息模板所属副行业一/二级编码 + /// + [JsonProperty("secondary_industry_code")] + public string SecondaryIndustryCode { get; set; } + + /// + /// 服务窗消息模板所属副行业一/二级名称 + /// + [JsonProperty("secondary_industry_name")] + public string SecondaryIndustryName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicThirdCustomerServiceModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicThirdCustomerServiceModel.cs new file mode 100644 index 0000000..5cb6050 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenPublicThirdCustomerServiceModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenPublicThirdCustomerServiceModel Data Structure. + /// + [Serializable] + public class AlipayOpenPublicThirdCustomerServiceModel : AopObject + { + /// + /// 服务窗商户在渠道商处对应的用户id + /// + [JsonProperty("channel_uid")] + public string ChannelUid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityAuditConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityAuditConfirmModel.cs new file mode 100644 index 0000000..7f53f65 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityAuditConfirmModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketCommodityAuditConfirmModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketCommodityAuditConfirmModel : AopObject + { + /// + /// 服务插件ID + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityExtendinfosAddModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityExtendinfosAddModel.cs new file mode 100644 index 0000000..4af6bb9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityExtendinfosAddModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketCommodityExtendinfosAddModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketCommodityExtendinfosAddModel : AopObject + { + /// + /// 公服扩展信息列表 + /// + [JsonProperty("commodity_ext_infos")] + + public List CommodityExtInfos { get; set; } + + /// + /// 服务插件ID + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// 应用ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityExtendinfosConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityExtendinfosConfirmModel.cs new file mode 100644 index 0000000..9a38c2b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityExtendinfosConfirmModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketCommodityExtendinfosConfirmModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketCommodityExtendinfosConfirmModel : AopObject + { + /// + /// 公服BD审核扩展信息 + /// + [JsonProperty("commodity_ext_infos")] + + public List CommodityExtInfos { get; set; } + + /// + /// 服务Id + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// status 为驳回时 必须输入驳回原因 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 公服BD审核结果:成功还是失败: status 【0:表示不通过 , 1:表示通过】 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 用户Id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityQueryModel.cs new file mode 100644 index 0000000..b6676ea --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketCommodityQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketCommodityQueryModel : AopObject + { + /// + /// 服务插件ID + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// 服务创建者ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityShopOfflineModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityShopOfflineModel.cs new file mode 100644 index 0000000..a6a549d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityShopOfflineModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketCommodityShopOfflineModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketCommodityShopOfflineModel : AopObject + { + /// + /// 服务商户ID + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// 门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityShopOnlineModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityShopOnlineModel.cs new file mode 100644 index 0000000..fa4dc65 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketCommodityShopOnlineModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketCommodityShopOnlineModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketCommodityShopOnlineModel : AopObject + { + /// + /// 服务插件ID + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// 店铺ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderAcceptModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderAcceptModel.cs new file mode 100644 index 0000000..fa7b7f0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderAcceptModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketOrderAcceptModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketOrderAcceptModel : AopObject + { + /// + /// 服务商品订单ID + /// + [JsonProperty("commodity_order_id")] + public string CommodityOrderId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemCancelModel.cs new file mode 100644 index 0000000..4e40a7d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemCancelModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketOrderItemCancelModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketOrderItemCancelModel : AopObject + { + /// + /// 当前门店区域不支持实施 + /// + [JsonProperty("cancel_reason")] + public string CancelReason { get; set; } + + /// + /// 订购服务订单ID + /// + [JsonProperty("commodity_order_id")] + public string CommodityOrderId { get; set; } + + /// + /// 订购服务门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemCompleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemCompleteModel.cs new file mode 100644 index 0000000..4ed8c01 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemCompleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketOrderItemCompleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketOrderItemCompleteModel : AopObject + { + /// + /// 订购服务插件订单号 + /// + [JsonProperty("commodity_order_id")] + public string CommodityOrderId { get; set; } + + /// + /// 订购插件选择的某一店铺ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemConfirmModel.cs new file mode 100644 index 0000000..08dc9e2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderItemConfirmModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketOrderItemConfirmModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketOrderItemConfirmModel : AopObject + { + /// + /// 商品订单ID + /// + [JsonProperty("commodity_order_id")] + public string CommodityOrderId { get; set; } + + /// + /// 商家订购服务选择的某一门店的ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderQueryModel.cs new file mode 100644 index 0000000..3c6bda9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketOrderQueryModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketOrderQueryModel : AopObject + { + /// + /// 商户订单ID号 + /// + [JsonProperty("commodity_order_id")] + public string CommodityOrderId { get; set; } + + /// + /// 从第几页开始查询 + /// + [JsonProperty("start_page")] + public string StartPage { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderRejectModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderRejectModel.cs new file mode 100644 index 0000000..16c6aec --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenServicemarketOrderRejectModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenServicemarketOrderRejectModel Data Structure. + /// + [Serializable] + public class AlipayOpenServicemarketOrderRejectModel : AopObject + { + /// + /// 订购服务商品订单ID + /// + [JsonProperty("commodity_order_id")] + public string CommodityOrderId { get; set; } + + /// + /// 拒绝接单原因 + /// + [JsonProperty("reject_reason")] + public string RejectReason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenWangyanTestDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenWangyanTestDeleteModel.cs new file mode 100644 index 0000000..a0197d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayOpenWangyanTestDeleteModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayOpenWangyanTestDeleteModel Data Structure. + /// + [Serializable] + public class AlipayOpenWangyanTestDeleteModel : AopObject + { + /// + /// 1 + /// + [JsonProperty("aaa")] + public string Aaa { get; set; } + + /// + /// 2 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassInstanceAddModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassInstanceAddModel.cs new file mode 100644 index 0000000..a5a3292 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassInstanceAddModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPassInstanceAddModel Data Structure. + /// + [Serializable] + public class AlipayPassInstanceAddModel : AopObject + { + /// + /// 支付宝用户识别信息: 包括partner_id(商户的签约账号)和out_trade_no(某笔订单号) + /// + [JsonProperty("recognition_info")] + public string RecognitionInfo { get; set; } + + /// + /// Alipass添加对象识别类型:1–订单信息 + /// + [JsonProperty("recognition_type")] + public string RecognitionType { get; set; } + + /// + /// 支付宝pass模版ID + /// + [JsonProperty("tpl_id")] + public string TplId { get; set; } + + /// + /// 模版动态参数信息:对应模板中$变量名$的动态参数,见模板创建接口返回值中的tpl_params字段 + /// + [JsonProperty("tpl_params")] + public string TplParams { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassInstanceUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassInstanceUpdateModel.cs new file mode 100644 index 0000000..46273ef --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassInstanceUpdateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPassInstanceUpdateModel Data Structure. + /// + [Serializable] + public class AlipayPassInstanceUpdateModel : AopObject + { + /// + /// 代理商代替商户发放卡券后,再代替商户更新卡券时,此值为商户的pid/appid + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 商户指定卡券唯一值,卡券JSON模板中fileInfo->serialNumber字段对应的值 + /// + [JsonProperty("serial_number")] + public string SerialNumber { get; set; } + + /// + /// 券状态,支持更新为USED、CLOSED两种状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 模版动态参数信息:对应模板中$变量名$的动态参数,见模板创建接口返回值中的tpl_params字段 + /// + [JsonProperty("tpl_params")] + public string TplParams { get; set; } + + /// + /// 核销码串值【当状态变更为USED时,建议传】 + /// + [JsonProperty("verify_code")] + public string VerifyCode { get; set; } + + /// + /// 核销方式,目前支持:wave(声波方式)、qrcode(二维码方式)、barcode(条码方式)、input(文本方式,即手工输入方式)。verify_code和verify_type需同时传入 + /// + [JsonProperty("verify_type")] + public string VerifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassTemplateAddModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassTemplateAddModel.cs new file mode 100644 index 0000000..3009fcb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassTemplateAddModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPassTemplateAddModel Data Structure. + /// + [Serializable] + public class AlipayPassTemplateAddModel : AopObject + { + /// + /// 模板内容信息,遵循JSON规范,详情参见tpl_content参数说明:https://doc.open.alipay.com/doc2/detail.htm?treeId=193&articleId=105249&docType + /// =1#tpl_content + /// + [JsonProperty("tpl_content")] + public string TplContent { get; set; } + + /// + /// 商户用于控制模版的唯一性。(可以使用时间戳保证唯一性) + /// + [JsonProperty("unique_id")] + public string UniqueId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassTemplateUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassTemplateUpdateModel.cs new file mode 100644 index 0000000..f34f296 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPassTemplateUpdateModel.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPassTemplateUpdateModel Data Structure. + /// + [Serializable] + public class AlipayPassTemplateUpdateModel : AopObject + { + /// + /// 模板内容信息,遵循JSON规范,详情参见tpl_content参数说明:https://doc.open.alipay.com/doc2/detail.htm?treeId=193&articleId=105249&docType + /// =1#tpl_content + /// + [JsonProperty("tpl_content")] + public string TplContent { get; set; } + + /// + /// 更新的模板ID + /// + [JsonProperty("tpl_id")] + public string TplId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditLoanApplyCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditLoanApplyCreateModel.cs new file mode 100644 index 0000000..d08473b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditLoanApplyCreateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPcreditLoanApplyCreateModel Data Structure. + /// + [Serializable] + public class AlipayPcreditLoanApplyCreateModel : AopObject + { + /// + /// 申贷金额,单位为元 + /// + [JsonProperty("apply_amt")] + public string ApplyAmt { get; set; } + + /// + /// 用户身份证后4位 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 用户姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 商户订单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户贴息率,0~1的小数 + /// + [JsonProperty("ratio")] + public long Ratio { get; set; } + + /// + /// 场景码 + /// + [JsonProperty("scene")] + public string Scene { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditLoanRefundCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditLoanRefundCreateModel.cs new file mode 100644 index 0000000..cdaa6bb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditLoanRefundCreateModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPcreditLoanRefundCreateModel Data Structure. + /// + [Serializable] + public class AlipayPcreditLoanRefundCreateModel : AopObject + { + /// + /// 蚂蚁借呗贷款申请编号 + /// + [JsonProperty("loan_apply_no")] + public string LoanApplyNo { get; set; } + + /// + /// 商户还款订单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户还款金额 + /// + [JsonProperty("repay_amt")] + public string RepayAmt { get; set; } + + /// + /// 请求流水号,用于控制幂等 + /// + [JsonProperty("req_id")] + public string ReqId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditUserProfileSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditUserProfileSendModel.cs new file mode 100644 index 0000000..dea54b8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPcreditUserProfileSendModel.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPcreditUserProfileSendModel Data Structure. + /// + [Serializable] + public class AlipayPcreditUserProfileSendModel : AopObject + { + /// + /// 委派采集唯一业务流水号,用户标识回执的委派采集任务,业务方在委派数据采集时提供到商户 + /// + [JsonProperty("biz_no")] + public string BizNo { get; set; } + + /// + /// 采集的数据类别,用于标识采集数据类型,商户需要和平台约定,数据类别由平台分配给商户,如: 公积金数据 - HOUSING_FUND 运营商数据 - MOBILE_PHONE_CONTACTS 信用卡账单 - + /// CREDIT_CARD_BILL + /// + [JsonProperty("item_key")] + public string ItemKey { get; set; } + + /// + /// 采集业务单号,用于在商户系统唯一标识一次采集任务,由商户系统生成 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 扩展参数,json格式,用于商户回执给业务方,每种数据类别的扩展信息可能不同,具体信息由业务方和商户约定,如无约定,默认可不传 + /// + [JsonProperty("params")] + public string Params { get; set; } + + /// + /// 数据采集状态,用于标记采集结果,状态值和商户约定,目前支持: SUCCESS-成功 FAIL-失败 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPlatformUseridGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPlatformUseridGetModel.cs new file mode 100644 index 0000000..b07ef98 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayPlatformUseridGetModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayPlatformUseridGetModel Data Structure. + /// + [Serializable] + public class AlipayPlatformUseridGetModel : AopObject + { + /// + /// openId的列表 + /// + [JsonProperty("open_ids")] + + public List OpenIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataDatabusSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataDatabusSendModel.cs new file mode 100644 index 0000000..5dec025 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataDatabusSendModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityDataDatabusSendModel Data Structure. + /// + [Serializable] + public class AlipaySecurityDataDatabusSendModel : AopObject + { + /// + /// 安全累计属性列表字段,安全属性列表,key为属性名称,value为属性值;如 key:"145" ,value:"1" + /// + [JsonProperty("security_content")] + public string SecurityContent { get; set; } + + /// + /// 代码发送给安全核心的事件编码 + /// + [JsonProperty("security_sign")] + public string SecuritySign { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataInfoMobilecityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataInfoMobilecityQueryModel.cs new file mode 100644 index 0000000..a9a496f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataInfoMobilecityQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityDataInfoMobilecityQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityDataInfoMobilecityQueryModel : AopObject + { + /// + /// 电话号码 + /// + [JsonProperty("phone")] + public string Phone { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataInfoSecuritydataQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataInfoSecuritydataQueryModel.cs new file mode 100644 index 0000000..1f0f3dd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityDataInfoSecuritydataQueryModel.cs @@ -0,0 +1,44 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityDataInfoSecuritydataQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityDataInfoSecuritydataQueryModel : AopObject + { + /// + /// 业务代码.由蚂蚁金服定义的风控查询业务类型,例如: EX0001:查询风控黑名单,EX0002:查询地理信息数据 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 扩展参数,用于业务扩展入参,格式为json.注意由于嵌套在入参json中,引号需要转义,详见入参样式. + /// + [JsonProperty("ext")] + public string Ext { get; set; } + + /// + /// 查询的主体值,例如身份证号: "210******019087",支持单个或者多个,多个以逗号分隔.主体值支持的数据类型目前有以下,跟type栏位定义的类型对应. bank_card_no,银行卡号、 + /// cert_no,身份证号码、 business_license_no,营业执照号码、 company_name, 公司名称, phone,预留手机号 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 系统名称,标识接入机构内部部门的系统名 ,具体值需要与蚂蚁金服服务提供方约定. + /// + [JsonProperty("system_name")] + public string SystemName { get; set; } + + /// + /// 查询参数类型,描述查询主体值类型.单次查询仅支持查询同一类型的主题值. 以黑名单业务为例: bank_card_no,银行卡号、 cert_no,身份证号码、 business_license_no,营业执照号码、 + /// company_name, 公司名称, phone,预留手机号 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdAlipaySecurityProdTestModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdAlipaySecurityProdTestModel.cs new file mode 100644 index 0000000..792f54a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdAlipaySecurityProdTestModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdAlipaySecurityProdTestModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdAlipaySecurityProdTestModel : AopObject + { + /// + /// ddd + /// + [JsonProperty("cds")] + + public List Cds { get; set; } + + /// + /// aaa + /// + [JsonProperty("ddd")] + public string Ddd { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdAmlriskQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdAmlriskQueryModel.cs new file mode 100644 index 0000000..76f9aa4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdAmlriskQueryModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdAmlriskQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdAmlriskQueryModel : AopObject + { + /// + /// 办公地址 + /// + [JsonProperty("business_address")] + public string BusinessAddress { get; set; } + + /// + /// 标识该次反洗钱风险分析事件请求的id,商户应保证此id唯一。 + /// + [JsonProperty("event_id")] + public string EventId { get; set; } + + /// + /// 与商户相关个体的信息列表,可以有0个到多个。 + /// + [JsonProperty("individual_list")] + + public List IndividualList { get; set; } + + /// + /// 公司名称、类型、性质 + /// + [JsonProperty("legal_name")] + public string LegalName { get; set; } + + /// + /// 商户ID + /// + [JsonProperty("merchant_id")] + public string MerchantId { get; set; } + + /// + /// 该商户准入申请的id + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 公司注册地址 + /// + [JsonProperty("registered_address")] + public string RegisteredAddress { get; set; } + + /// + /// 公司注册号 + /// + [JsonProperty("registration_number")] + public string RegistrationNumber { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacepayUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacepayUploadModel.cs new file mode 100644 index 0000000..9032663 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacepayUploadModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFacepayUploadModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFacepayUploadModel : AopObject + { + /// + /// 用户输入的邀请码 + /// + [JsonProperty("check_code")] + public string CheckCode { get; set; } + + /// + /// Base64编码的人脸图片 + /// + [JsonProperty("face_image")] + public string FaceImage { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacepayVerifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacepayVerifyModel.cs new file mode 100644 index 0000000..f6df80d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacepayVerifyModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFacepayVerifyModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFacepayVerifyModel : AopObject + { + /// + /// 用户输入的扫脸付邀请码 + /// + [JsonProperty("check_code")] + public string CheckCode { get; set; } + + /// + /// Base64编码的人脸图片。与ftoken参数二选一,当商户先前未调用人脸识别接口时使用此参数。 + /// + [JsonProperty("face_image")] + public string FaceImage { get; set; } + + /// + /// 商户调用人脸上传接口时获得的ftoken。与face_image参数二选一,当商户先前调用了人脸识别接口并获得了ftoken时使用此参数 + /// + [JsonProperty("ftoken")] + public string Ftoken { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 用户认证标识。传入完整的用户标识(例如用户输入的完整的11位用户手机号码,13800138000)或部分信息脱敏的用户标识(例如138****8000)。当热点人脸库命中成功时,可以使用部分信息脱敏的用户标识 + /// + [JsonProperty("user_auth_id")] + public string UserAuthId { get; set; } + + /// + /// 用户标识类型。目前支持手机号码,即mobile + /// + [JsonProperty("user_auth_type")] + public string UserAuthType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacerepoAddModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacerepoAddModel.cs new file mode 100644 index 0000000..68de878 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacerepoAddModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFacerepoAddModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFacerepoAddModel : AopObject + { + /// + /// 商户的业务单据号,用于核对与问题排查 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 人脸图片字节数组进行Base64编码后的字符串 + /// + [JsonProperty("face_str")] + public string FaceStr { get; set; } + + /// + /// 人脸库分组。每个商户可以使用多个人脸库分组,人脸搜索时会在指定的人脸库分组中搜索 + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacerepoSearchModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacerepoSearchModel.cs new file mode 100644 index 0000000..f2e43e7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFacerepoSearchModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFacerepoSearchModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFacerepoSearchModel : AopObject + { + /// + /// 商户的业务单据号,用于核对与问题排查 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 待搜索的人脸图片字节数组进行Base64编码后的字符串 + /// + [JsonProperty("face_str")] + public string FaceStr { get; set; } + + /// + /// 人脸库分组,在指定的人脸库分组中搜索 + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintApplyInitializeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintApplyInitializeModel.cs new file mode 100644 index 0000000..d93f243 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintApplyInitializeModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFingerprintApplyInitializeModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFingerprintApplyInitializeModel : AopObject + { + /// + /// IFAA标准中的校验类型,目前1为指纹 + /// + [JsonProperty("auth_type")] + public string AuthType { get; set; } + + /// + /// IFAA协议的版本,目前为2.0 + /// + [JsonProperty("ifaa_version")] + public string IfaaVersion { get; set; } + + /// + /// IFAA协议客户端静态信息,调用IFAA客户端SDK接口获取secData,透传至本参数 + /// + [JsonProperty("sec_data")] + public string SecData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintApplyModel.cs new file mode 100644 index 0000000..f99d646 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintApplyModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFingerprintApplyModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFingerprintApplyModel : AopObject + { + /// + /// IFAA协议的版本,目前为2.0 + /// + [JsonProperty("ifaa_version")] + public string IfaaVersion { get; set; } + + /// + /// ifaf_message:注册阶段客户端返回的协议体数据,对应《IFAA本地免密技术规范》中的IFAFMessage,内容中包含客户端的校验数据。 + /// + [JsonProperty("ifaf_message")] + public string IfafMessage { get; set; } + + /// + /// 外部业务号,商户的业务单据号,用于核对与问题排查。原则上来说需要保持唯一性。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// IFAA协议客户端静态信息,调用IFAA客户端SDK接口获取secData,透传至本参数。此参数是为了兼容IFAA1.0而设计的,接入方可根据是否需要接入IFAA1.0来决定是否要传(只接入IFAA2.0不需要传) + /// + [JsonProperty("sec_data")] + public string SecData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintDeleteModel.cs new file mode 100644 index 0000000..641da63 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintDeleteModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFingerprintDeleteModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFingerprintDeleteModel : AopObject + { + /// + /// IFAA协议的版本,目前为2.0 + /// + [JsonProperty("ifaa_version")] + public string IfaaVersion { get; set; } + + /// + /// IFAA协议客户端静态信息,调用IFAA客户端SDK接口获取secData,透传至本参数。此参数是为了兼容IFAA1.0而设计的,接入方可根据是否需要接入IFAA1.0来决定是否要传(只接入IFAA2.0不需要传) + /// + [JsonProperty("sec_data")] + public string SecData { get; set; } + + /// + /// IFAA标准中用于关联IFAA Server和业务方Server开通状态的token,此token为注册时保存的token,传入此token,用于生成服务端去注册信息。 + /// + [JsonProperty("token")] + public string Token { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintVerifyInitializeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintVerifyInitializeModel.cs new file mode 100644 index 0000000..d264e8d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintVerifyInitializeModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFingerprintVerifyInitializeModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFingerprintVerifyInitializeModel : AopObject + { + /// + /// IFAA协议的版本,目前为2.0 + /// + [JsonProperty("ifaa_version")] + public string IfaaVersion { get; set; } + + /// + /// IFAA协议客户端静态信息,调用IFAA客户端SDK接口获取secData,透传至本参数。此参数是为了兼容IFAA1.0而设计的,接入方可根据是否需要接入IFAA1.0来决定是否要传(只接入IFAA2.0不需要传) + /// + [JsonProperty("sec_data")] + public string SecData { get; set; } + + /// + /// IFAA标准中用于关联IFAA Server和业务方Server开通状态的token,此token为注册时保存的token,传入此token,用于生成服务端校验信息。 + /// + [JsonProperty("token")] + public string Token { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintVerifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintVerifyModel.cs new file mode 100644 index 0000000..2a5df48 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdFingerprintVerifyModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdFingerprintVerifyModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdFingerprintVerifyModel : AopObject + { + /// + /// 业务扩展参数,目前添加指位变更逻辑判断字段,needAuthData标示指位变更敏感,subAction标示当前操作是校验还是更新指位 + /// + [JsonProperty("extend_param")] + public string ExtendParam { get; set; } + + /// + /// IFAA协议的版本,目前为2.0 + /// + [JsonProperty("ifaa_version")] + public string IfaaVersion { get; set; } + + /// + /// ifaf_message:校验阶段客户端返回的协议体数据,对应《IFAA本地免密技术规范》中的IFAFMessage,内容中包含客户端的校验数据。 + /// + [JsonProperty("ifaf_message")] + public string IfafMessage { get; set; } + + /// + /// 外部业务号,商户的业务单据号,用于核对与问题排查,原则上来说需要保持这个参数的唯一性。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// IFAA协议客户端静态信息,调用IFAA客户端SDK接口获取secData,透传至本参数。此参数是为了兼容IFAA1.0而设计的,接入方可根据是否需要接入IFAA1.0来决定是否要传(只接入IFAA2.0不需要传) + /// + [JsonProperty("sec_data")] + public string SecData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdIrisCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdIrisCreateModel.cs new file mode 100644 index 0000000..cf0c703 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdIrisCreateModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdIrisCreateModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdIrisCreateModel : AopObject + { + /// + /// 虹膜注册的关联token,用于关联跨设备分次注册 + /// + [JsonProperty("biz_token")] + public string BizToken { get; set; } + + /// + /// 虹膜扩展参数,用于后续扩展,格式为json格式,目前传入参数为iris_vendor,虹膜厂商 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 虹膜库分组。每个商户可以使用多个虹膜库分组,虹膜搜索时会在指定的虹膜库分组中搜索 + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 虹膜特征字节数组进行Base64编码后的字符串 + /// + [JsonProperty("iris_str")] + public string IrisStr { get; set; } + + /// + /// 虹膜注册操作类型,方便后续扩展,目前传入固定irisVerify + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// 外部应用标识,用于标识使用虹膜的应用来源 + /// + [JsonProperty("out_app_flag")] + public string OutAppFlag { get; set; } + + /// + /// 外部业务号,商户的业务单据号,用于核对与问题排查 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 用于标识虹膜对应的注册人的id,如支付宝的uid、信用id等等,此处只需要业务方传入唯一可以标识的身份的id即可,虹膜系统不使用此id反查任何内容。用途是在校验的时候返回业务可以识别的唯一id。 + /// + [JsonProperty("person_id")] + public string PersonId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdIrisVerifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdIrisVerifyModel.cs new file mode 100644 index 0000000..ef7b147 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdIrisVerifyModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdIrisVerifyModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdIrisVerifyModel : AopObject + { + /// + /// 虹膜校验的关联token,用于二次校验 + /// + [JsonProperty("biz_token")] + public string BizToken { get; set; } + + /// + /// 虹膜扩展参数,用于后续扩展,格式为json格式,目前传入参数为iris_vendor,虹膜厂商 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 虹膜库分组。每个商户可以使用多个虹膜库分组,虹膜搜索时会在指定的虹膜库分组中搜索 + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 虹膜特征字节数组进行Base64编码后的字符串 + /// + [JsonProperty("iris_str")] + public string IrisStr { get; set; } + + /// + /// 虹膜校验操作类型,方便后续扩展,目前传入固定irisVerify + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// 外部应用标识,用于标识使用虹膜的应用来源 + /// + [JsonProperty("out_app_flag")] + public string OutAppFlag { get; set; } + + /// + /// 外部业务号,商户的业务单据号,用于核对与问题排查 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 用于标识虹膜对应的注册人的id,如支付宝的uid、信用id等等,此处只需要业务方传入唯一可以标识的身份的id即可,虹膜系统不使用此id反查任何内容。用途是在校验的时候返回业务可以识别的唯一id。校验的时候传入此id,则虹膜系统会认为是1:1比对请求。如果是1:N请求,该值需要传空。 + /// + [JsonProperty("person_id")] + public string PersonId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskApplyModel.cs new file mode 100644 index 0000000..e6da620 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskApplyModel.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdSignatureTaskApplyModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdSignatureTaskApplyModel : AopObject + { + /// + /// 外部应用名称,由支付宝统一分配,无法自助获取。 + /// + [JsonProperty("biz_app")] + public string BizApp { get; set; } + + /// + /// 业务流水号,保证唯一性 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务扩展参数 {"key1":"value2"} + /// + [JsonProperty("biz_info")] + public string BizInfo { get; set; } + + /// + /// 业务唯一标识,由支付宝统一分配,无法自助获取 + /// + [JsonProperty("biz_product")] + public string BizProduct { get; set; } + + /// + /// 电子签约类型,目前只支持一种类型电子合同,取值1 + /// + [JsonProperty("order_type")] + public long OrderType { get; set; } + + /// + /// 接口版本信息,目前默认3,由服务提供方指定。 + /// + [JsonProperty("service_version")] + public string ServiceVersion { get; set; } + + /// + /// 签约文件列表。具体见SignDataInfo中定义。 + /// + [JsonProperty("sign_data_list")] + + public List SignDataList { get; set; } + + /// + /// 签约子任务,每个任务对应一个签约主体。 + /// + [JsonProperty("sign_task_list")] + + public List SignTaskList { get; set; } + + /// + /// 制定签约主体执行签约顺序,例如甲乙双方签约,“顺序签约”模式下,甲签约完成后乙才能开始签约;“并行签约”模式下,甲乙可同时进行认证,按照时序顺序在文档上签约。 1 : 顺序签约 2 : 并行签约 + /// + [JsonProperty("sign_task_type")] + public long SignTaskType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskCancelModel.cs new file mode 100644 index 0000000..95b52ae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskCancelModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdSignatureTaskCancelModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdSignatureTaskCancelModel : AopObject + { + /// + /// 业务流水号,与初始化接口保持一致 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务唯一标识,由支付宝统一分配,无法自助获取 + /// + [JsonProperty("biz_product")] + public string BizProduct { get; set; } + + /// + /// 接口版本信息,目前默认3,由服务提供方指定。 + /// + [JsonProperty("service_version")] + public string ServiceVersion { get; set; } + + /// + /// 签约任务编号,与初始化返回参数一致。 + /// + [JsonProperty("task_id")] + public string TaskId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskQueryModel.cs new file mode 100644 index 0000000..9e974be --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityProdSignatureTaskQueryModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityProdSignatureTaskQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityProdSignatureTaskQueryModel : AopObject + { + /// + /// 业务类型唯一标识。调用前联系支付宝服务提供方,由电子签名平台统一分配。 + /// + [JsonProperty("biz_product")] + public string BizProduct { get; set; } + + /// + /// 查询订单编号,参考alipay.security.prod.signature.task.apply接口返回的order_id。 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 调用前联系支付宝服务提供方,由电子签名平台统一分配。 + /// + [JsonProperty("service_version")] + public string ServiceVersion { get; set; } + + /// + /// 查询的签约任务编号列表,JSONArray格式。参考alipay.security.prod.signature.task.apply返回的task_list对象中的task_id属性。支持查询1到多个任务结果,如果列表为空,则默认查询所有任务结果,如果与当前订单下的任务没有匹配,则不返回任何签约任务。 + /// + [JsonProperty("task_id_list")] + + public List TaskIdList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskAntifraudBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskAntifraudBatchqueryModel.cs new file mode 100644 index 0000000..b1e9611 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskAntifraudBatchqueryModel.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskAntifraudBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskAntifraudBatchqueryModel : AopObject + { + /// + /// company_list+传入的一批待检查的企业名单+用户传入+还可以传入{"creditCode":"企业信用代码"}或者{"regNo":"企业工商注册号"} + /// + [JsonProperty("company_list")] + + public List CompanyList { get; set; } + + /// + /// partner_name+唯一+作为标识调用者身份的字段+用户填入 + /// + [JsonProperty("partner_name")] + public string PartnerName { get; set; } + + /// + /// staff_list+传入的一批待检查员工信息+用户传入+手机号/身份证姓名二选一+还可以传入{"name":"姓名","phone":"手机号码"} + /// + [JsonProperty("staff_list")] + + public List StaffList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskBackgroundInterfaceQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskBackgroundInterfaceQueryModel.cs new file mode 100644 index 0000000..e132a00 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskBackgroundInterfaceQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskBackgroundInterfaceQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskBackgroundInterfaceQueryModel : AopObject + { + /// + /// params+用于背调查询的输入信息+用户传入 + /// + [JsonProperty("params")] + public string Params { get; set; } + + /// + /// partner_name+唯一+作为标识调用者身份的字段+用户填入 + /// + [JsonProperty("partner_name")] + public string PartnerName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskBackgroundQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskBackgroundQueryModel.cs new file mode 100644 index 0000000..39742ee --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskBackgroundQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskBackgroundQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskBackgroundQueryModel : AopObject + { + /// + /// params+用于背调查询的输入信息+用户传入 + /// + [JsonProperty("params")] + public string Params { get; set; } + + /// + /// partner_name+唯一+作为标识调用者身份的字段+用户填入 + /// + [JsonProperty("partner_name")] + public string PartnerName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskContentAnalyzeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskContentAnalyzeModel.cs new file mode 100644 index 0000000..0117254 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskContentAnalyzeModel.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskContentAnalyzeModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskContentAnalyzeModel : AopObject + { + /// + /// 内容的发表账户号,用于将需要检测的内容(文本、链接、图片、音视频)等和账户进行关联 + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } + + /// + /// 账户类型: 用户: 0 商户: 1 + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// 应用主场景 + /// + [JsonProperty("app_main_scene")] + public string AppMainScene { get; set; } + + /// + /// 应用主场景主体ID + /// + [JsonProperty("app_main_scene_id")] + public string AppMainSceneId { get; set; } + + /// + /// 应用名称,用于区分内容的应用来源 + /// + [JsonProperty("app_name")] + public string AppName { get; set; } + + /// + /// 应用场景 + /// + [JsonProperty("app_scene")] + public string AppScene { get; set; } + + /// + /// 业务ID,例如发帖的帖子ID + /// + [JsonProperty("app_scene_data_id")] + public string AppSceneDataId { get; set; } + + /// + /// 进行识别的音频地址列表 + /// + [JsonProperty("audio_urls")] + + public List AudioUrls { get; set; } + + /// + /// 进行识别的链接地址列表 + /// + [JsonProperty("link_urls")] + + public List LinkUrls { get; set; } + + /// + /// 进行识别的图片地址列表 + /// + [JsonProperty("picture_urls")] + + public List PictureUrls { get; set; } + + /// + /// 发布时间 + /// + [JsonProperty("publish_date")] + public string PublishDate { get; set; } + + /// + /// 文本内容 + /// + [JsonProperty("text")] + public string Text { get; set; } + + /// + /// 进行识别的视频地址列表 + /// + [JsonProperty("video_urls")] + + public List VideoUrls { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskContentResultGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskContentResultGetModel.cs new file mode 100644 index 0000000..01db356 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskContentResultGetModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskContentResultGetModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskContentResultGetModel : AopObject + { + /// + /// 应用场景 + /// + [JsonProperty("app_scene")] + public string AppScene { get; set; } + + /// + /// alipay.security.risk.content.analyze (内容风险识别接口服务)中的内容业务ID,用于进行异步识别结果的索引查询 + /// + [JsonProperty("app_scene_data_id")] + public string AppSceneDataId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskQueryModel.cs new file mode 100644 index 0000000..06efa86 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskCustomerriskQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskCustomerriskQueryModel : AopObject + { + /// + /// 银行卡号不唯一,用于传递服务商查询接入的商户的银行卡卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 身份证号不唯一,用于传递服务商查询接入的商户风险所需要的身份证号 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 手机号不唯一,用于传递服务商查询接入的商户的手机号 + /// + [JsonProperty("mobile_no")] + public string MobileNo { get; set; } + + /// + /// 风险类型不唯一,用于服务商查询接入的商户风险,例如:merchant_general(综合风险),merchant_fraud(欺诈风险),merchant_business(资质风险)等,签约时指定查询风险类型,且一次调用可以传递多个风险类型,用逗号隔开 + /// + [JsonProperty("risk_type")] + public string RiskType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskSendModel.cs new file mode 100644 index 0000000..dd55a64 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskSendModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskCustomerriskSendModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskCustomerriskSendModel : AopObject + { + /// + /// 身份证号码 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskrankGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskrankGetModel.cs new file mode 100644 index 0000000..8c77c3d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskCustomerriskrankGetModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskCustomerriskrankGetModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskCustomerriskrankGetModel : AopObject + { + /// + /// 证件号码,除了场景id必填,其他几个参数不能同时为空 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 证件类型,除了场景id必填,其他几个参数不能同时为空 + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 手机号,除了场景id必填,其他几个参数不能同时为空 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 场景id + /// + [JsonProperty("scene_id")] + public string SceneId { get; set; } + + /// + /// 支付宝账户id ,除了场景id必填,其他几个参数不能同时为空 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskDirectionalIpprofileQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskDirectionalIpprofileQueryModel.cs new file mode 100644 index 0000000..94d1e92 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskDirectionalIpprofileQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskDirectionalIpprofileQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskDirectionalIpprofileQueryModel : AopObject + { + /// + /// 身份证号码,非必填参数,用于查询"身份证持有人使用当前IP的概率"属性 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// IP地址,IP检测服务接口主键,必填 + /// + [JsonProperty("ip_address")] + public string IpAddress { get; set; } + + /// + /// 手机号码,非必填参数,用于用户更多维度的识别,如"手机号持有人使用当前IP的概率"属性等 + /// + [JsonProperty("phone")] + public string Phone { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskDirectionalRainscoreQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskDirectionalRainscoreQueryModel.cs new file mode 100644 index 0000000..6c707bc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskDirectionalRainscoreQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskDirectionalRainscoreQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskDirectionalRainscoreQueryModel : AopObject + { + /// + /// 帐号内容,目前为中国大陆手机号(11位阿拉伯数字,不包含特殊符号或空格) + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 账号类型,目前仅支持手机号(MOBILE_NO) + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// “蚁盾”风险评分服务版本号,当前版本为2.0 + /// + [JsonProperty("version")] + public string Version { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskHideDeviceidQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskHideDeviceidQueryModel.cs new file mode 100644 index 0000000..0c2752e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskHideDeviceidQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskHideDeviceidQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskHideDeviceidQueryModel : AopObject + { + /// + /// 商户的sdk客户端key + /// + [JsonProperty("app_key_client")] + public string AppKeyClient { get; set; } + + /// + /// 商户使用的设备指纹服务端key + /// + [JsonProperty("app_key_server")] + public string AppKeyServer { get; set; } + + /// + /// 商户应用名称 + /// + [JsonProperty("app_name")] + public string AppName { get; set; } + + /// + /// 设备指纹deviceid对应的token + /// + [JsonProperty("deviceid_token")] + public string DeviceidToken { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskMobileactivityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskMobileactivityQueryModel.cs new file mode 100644 index 0000000..03d2e32 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskMobileactivityQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskMobileactivityQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskMobileactivityQueryModel : AopObject + { + /// + /// 账户绑定手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 场景名称 + /// + [JsonProperty("scene_id")] + public string SceneId { get; set; } + + /// + /// 支付宝userId + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskPolicyConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskPolicyConfirmModel.cs new file mode 100644 index 0000000..9faab61 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskPolicyConfirmModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskPolicyConfirmModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskPolicyConfirmModel : AopObject + { + /// + /// 二次确认参数,防止篡改 + /// + [JsonProperty("confirm_params")] + public string ConfirmParams { get; set; } + + /// + /// 安全请求生成的唯一ID + /// + [JsonProperty("security_id")] + public string SecurityId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskPolicyQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskPolicyQueryModel.cs new file mode 100644 index 0000000..a77ff7d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskPolicyQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskPolicyQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskPolicyQueryModel : AopObject + { + /// + /// 风险类型:表示风险处理或风险咨询——process/advice + /// + [JsonProperty("risk_type")] + public string RiskType { get; set; } + + /// + /// 安全场景参数 + /// + [JsonProperty("security_scene")] + public SecurityScene SecurityScene { get; set; } + + /// + /// 服务上下文包括环境信息和用户信息 + /// + [JsonProperty("service_context")] + public ServiceContext ServiceContext { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskRainscoreQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskRainscoreQueryModel.cs new file mode 100644 index 0000000..4c5b5fc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskRainscoreQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskRainscoreQueryModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskRainscoreQueryModel : AopObject + { + /// + /// 帐号内容,目前为中国大陆手机号(11位阿拉伯数字,不包含特殊符号或空格) + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 账号类型,目前仅支持手机号(MOBILE_NO) + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// “蚁盾”风险评分服务版本号,当前版本为2.0 + /// + [JsonProperty("version")] + public string Version { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskVerifyidentityConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskVerifyidentityConfirmModel.cs new file mode 100644 index 0000000..a8060ab --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskVerifyidentityConfirmModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskVerifyidentityConfirmModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskVerifyidentityConfirmModel : AopObject + { + /// + /// 接入业务方业务唯一性id + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 附加业务信息,Json结构 + /// + [JsonProperty("biz_params")] + public string BizParams { get; set; } + + /// + /// 身份核验场景CODE,商务谈判基础上,由支付宝来分配。 + /// + [JsonProperty("scene_code")] + public string SceneCode { get; set; } + + /// + /// 核身校验token,是一次核身校验服务中唯一性的token + /// + [JsonProperty("verify_token")] + public string VerifyToken { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskVerifyidentityInitializeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskVerifyidentityInitializeModel.cs new file mode 100644 index 0000000..6a4834b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySecurityRiskVerifyidentityInitializeModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySecurityRiskVerifyidentityInitializeModel Data Structure. + /// + [Serializable] + public class AlipaySecurityRiskVerifyidentityInitializeModel : AopObject + { + /// + /// 用户证件号,当前支持身份证号 + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } + + /// + /// 用户姓名 + /// + [JsonProperty("account_name")] + public string AccountName { get; set; } + + /// + /// 用户证件类型,需传入英文枚举常量,当前支持:CERT(大陆身份证) + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// 核验后回调业务url + /// + [JsonProperty("biz_callback_url")] + public string BizCallbackUrl { get; set; } + + /// + /// 接入业务方业务唯一性id + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 附加业务信息,Json结构 + /// + [JsonProperty("biz_params")] + public string BizParams { get; set; } + + /// + /// 核验服务名称,同时请求多种服务用“|”连接,SMS:短信,FACE:人脸 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 身份核验场景CODE,商务谈判基础上,由支付宝来分配。 + /// + [JsonProperty("scene_code")] + public string SceneCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGinfoQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGinfoQueryModel.cs new file mode 100644 index 0000000..bc05403 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGinfoQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGinfoQueryModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGinfoQueryModel : AopObject + { + /// + /// 群id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGinvSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGinvSendModel.cs new file mode 100644 index 0000000..846af90 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGinvSendModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGinvSendModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGinvSendModel : AopObject + { + /// + /// 群id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 邀请的好友id列表,最多50人 + /// + [JsonProperty("uids")] + + public List Uids { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmemberConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmemberConfirmModel.cs new file mode 100644 index 0000000..c252818 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmemberConfirmModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGmemberConfirmModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGmemberConfirmModel : AopObject + { + /// + /// 业务类型,申请接入时和我们申请,用于统计和限流 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 用户所在的群id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 要判断的用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmemberDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmemberDeleteModel.cs new file mode 100644 index 0000000..d97c190 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmemberDeleteModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGmemberDeleteModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGmemberDeleteModel : AopObject + { + /// + /// 群id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 剔除的群成员用户id列表 + /// + [JsonProperty("uids")] + + public List Uids { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmsgSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmsgSendModel.cs new file mode 100644 index 0000000..7fba948 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGmsgSendModel.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGmsgSendModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGmsgSendModel : AopObject + { + /// + /// 消息简短描述,显示在会话列表上,必填 + /// + [JsonProperty("biz_memo")] + public string BizMemo { get; set; } + + /// + /// 消息业务类型,申请接入时和我们申请,用于统计和限流 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 参数描述必须通俗易懂、无错别字、完整。描述的内容请按此格式填写:参数名+是否唯一(如需)+应用场景+枚举值(如有)+如何获取+特殊说明(如有)。如不符合标准终审会驳回,影响上线客户端的消息id,需要全局唯一,必填时间。 + /// + [JsonProperty("client_msg_id")] + public string ClientMsgId { get; set; } + + /// + /// 投递方式 1: 群里所有人都收到 2:部分人可见,只发给群里的部分人员看到,rangeUsers是接受者的userId列表 3:部分人不可见,只有部分人无法看到,rangeUsers是不投递的userId列表 + /// + [JsonProperty("delivery_mode")] + public string DeliveryMode { get; set; } + + /// + /// 消息隐藏方案 默认不隐藏 1:上行隐藏 0:下行隐藏,例如 :A给B发消息 默认(空): A 看到一条上行消息 B看到一条下行消息(消息文本一样) 上行隐藏(1): A给B 发消息 ,A 看不到消息 B看到消息 + /// 下行隐藏(0): A给B发消息,A看到消息 ,B 看不到消息 + /// + [JsonProperty("hidden_side")] + public string HiddenSide { get; set; } + + /// + /// 点击消息card跳转的地址,选填 + /// + [JsonProperty("link")] + public string Link { get; set; } + + /// + /// 用于在用户客户端没有前台打开情况下,给用户通知提醒,示例值"发来一个红包"最终显示为"${发送者昵称}发来一个红包" + /// + [JsonProperty("push_str")] + public string PushStr { get; set; } + + /// + /// 部分投递的用户uid列表 + /// + [JsonProperty("range_users")] + + public List RangeUsers { get; set; } + + /// + /// 群的id,必填 + /// + [JsonProperty("receiver_id")] + public string ReceiverId { get; set; } + + /// + /// 接受者的用户类型,群组2,讨论组3,必填 + /// + [JsonProperty("receiver_usertype")] + public string ReceiverUsertype { get; set; } + + /// + /// 模板code值,根据这个值获取对应的模板填充数据协议 + /// + [JsonProperty("template_code")] + public string TemplateCode { get; set; } + + /// + /// 消息体的内容,形式为json字符串,必填 分享模板 { "title":支付宝聊天, "desc":"支付宝聊天", "image":"图片地址", "thumb":"缩略图地址" } 文本模板 { + /// "m":"文本消息" } + /// + [JsonProperty("template_data")] + public string TemplateData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGnameModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGnameModifyModel.cs new file mode 100644 index 0000000..2ac1f80 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGnameModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGnameModifyModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGnameModifyModel : AopObject + { + /// + /// 群id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 群名称 + /// + [JsonProperty("group_name")] + public string GroupName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGnoticeModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGnoticeModifyModel.cs new file mode 100644 index 0000000..b9d42a9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGnoticeModifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGnoticeModifyModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGnoticeModifyModel : AopObject + { + /// + /// 群id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 群公告 + /// + [JsonProperty("group_notice")] + public string GroupNotice { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGroupCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGroupCreateModel.cs new file mode 100644 index 0000000..bc4e3bd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGroupCreateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGroupCreateModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGroupCreateModel : AopObject + { + /// + /// 请求唯一id(用户id+时间戳+随机数),防止重复建群 + /// + [JsonProperty("client_id")] + public string ClientId { get; set; } + + /// + /// 群名称 + /// + [JsonProperty("group_name")] + public string GroupName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGroupsQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGroupsQueryModel.cs new file mode 100644 index 0000000..aba6e3b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatGroupsQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatGroupsQueryModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatGroupsQueryModel : AopObject + { + /// + /// 上次接口返回的key,初始传0 + /// + [JsonProperty("last_key")] + public long LastKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatMsgSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatMsgSendModel.cs new file mode 100644 index 0000000..5b870aa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatMsgSendModel.cs @@ -0,0 +1,68 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatMsgSendModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatMsgSendModel : AopObject + { + /// + /// 消息简短描述,显示在会话列表上,必填 + /// + [JsonProperty("biz_memo")] + public string BizMemo { get; set; } + + /// + /// 消息业务类型,申请接入时和我们申请,用于统计和限流 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 客户端的消息id,需要全局唯一,必填 + /// + [JsonProperty("client_msg_id")] + public string ClientMsgId { get; set; } + + /// + /// 消息隐藏方案 默认不隐藏 1:上行隐藏 0:下行隐藏,例如 :A给B发消息 默认(空): A 看到一条上行消息 B看到一条下行消息(消息文本一样) 上行隐藏(1): A给B 发消息 ,A 看不到消息 B看到消息 + /// 下行隐藏(0): A给B发消息,A看到消息 ,B 看不到消息 + /// + [JsonProperty("hidden_side")] + public string HiddenSide { get; set; } + + /// + /// 点击消息card跳转的地址,选填 + /// + [JsonProperty("link")] + public string Link { get; set; } + + /// + /// 用于在用户客户端没有前台打开情况下,给用户通知提醒,示例值"发来一个红包"最终显示为"${发送者昵称}发来一个红包" + /// + [JsonProperty("push_str")] + public string PushStr { get; set; } + + /// + /// 接收消息者的userid,必填 + /// + [JsonProperty("receiver_id")] + public string ReceiverId { get; set; } + + /// + /// 模板code值,根据这个值获取对应的模板填充数据协议 + /// + [JsonProperty("template_code")] + public string TemplateCode { get; set; } + + /// + /// 消息体的内容,形式为json字符串,必填 分享模板 { "title":支付宝聊天, "desc":"支付宝聊天", "image":"图片地址", "thumb":"缩略图地址" } 文本模板 { + /// "m":"文本消息" } + /// + [JsonProperty("template_data")] + public string TemplateData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatSendModel.cs new file mode 100644 index 0000000..7e862d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseChatSendModel.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseChatSendModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseChatSendModel : AopObject + { + /// + /// 消息简短描述,显示在会话列表上,必填 + /// + [JsonProperty("biz_memo")] + public string BizMemo { get; set; } + + /// + /// 客户端的消息id,需要全局唯一,必填 + /// + [JsonProperty("client_msg_id")] + public string ClientMsgId { get; set; } + + /// + /// 点击消息card跳转的地址,选填 + /// + [JsonProperty("link")] + public string Link { get; set; } + + /// + /// 如果是个人消息,是接收消息者的userid,如果是群消息,是群的id,必填 + /// + [JsonProperty("receiver_id")] + public string ReceiverId { get; set; } + + /// + /// 接受者的用户类型,支付宝1,群组2,讨论组3,必填 + /// + [JsonProperty("receiver_usertype")] + public string ReceiverUsertype { get; set; } + + /// + /// 消息体的内容,形式为json字符串,必填 分享模板 { "title":支付宝聊天, "desc":"支付宝聊天", "image":"图片地址", "thumb":"缩略图地址" } 文本模板 { + /// "m":"文本消息" } + /// + [JsonProperty("template_data")] + public string TemplateData { get; set; } + + /// + /// 消息模板的类型,分享SHARE,文本TEXT,图片IMAGE,必填 + /// + [JsonProperty("template_type")] + public string TemplateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupCreateModel.cs new file mode 100644 index 0000000..6073e3a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupCreateModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseGroupCreateModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseGroupCreateModel : AopObject + { + /// + /// 业务方传入的唯一id,做为幂等使用 + /// + [JsonProperty("biz_no")] + public string BizNo { get; set; } + + /// + /// 群的业务类型,目前只能为0 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 建群时初始化的群设置 + /// + [JsonProperty("group_settings")] + public GroupSetting GroupSettings { get; set; } + + /// + /// 建群的时候,群主的userid + /// + [JsonProperty("master_id")] + public string MasterId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupQueryModel.cs new file mode 100644 index 0000000..7a34443 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseGroupQueryModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseGroupQueryModel : AopObject + { + /// + /// 群的id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupmemberAddModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupmemberAddModel.cs new file mode 100644 index 0000000..53788ab --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseGroupmemberAddModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseGroupmemberAddModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseGroupmemberAddModel : AopObject + { + /// + /// 加人的时候,是否需要校验加人者和被加的人的好友关系 + /// + [JsonProperty("friend_validate")] + public bool FriendValidate { get; set; } + + /// + /// 群的id + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 增加群成员的时候,选择的用户userid,每次不能超过50个,每个群人数上限500人,user_ids的值为错误的uid时,多个uid的情况下会添加成功正确的uid,如果所有添加的uid全部错误,则会报错 + /// + [JsonProperty("user_ids")] + + public List UserIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseMcommentNewsfeedAddModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseMcommentNewsfeedAddModel.cs new file mode 100644 index 0000000..f058ce0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseMcommentNewsfeedAddModel.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseMcommentNewsfeedAddModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseMcommentNewsfeedAddModel : AopObject + { + /// + /// 活动地点名称 + /// + [JsonProperty("activity_address")] + public string ActivityAddress { get; set; } + + /// + /// 活动名称 + /// + [JsonProperty("activity_name")] + public string ActivityName { get; set; } + + /// + /// 动态关联的现场id + /// + [JsonProperty("aid")] + public string Aid { get; set; } + + /// + /// 业务系统ID,必须保证唯一性 规则:uid@时间戳 + /// + [JsonProperty("biz_no")] + public string BizNo { get; set; } + + /// + /// 动态的文字内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 红包信息 + /// + [JsonProperty("gift_info")] + public NewsfeedMediaGiftInfo GiftInfo { get; set; } + + /// + /// 图片信息 + /// + [JsonProperty("img_infos")] + + public List ImgInfos { get; set; } + + /// + /// 动态的标题信息 + /// + [JsonProperty("label_info")] + public NewsfeedLabelInfo LabelInfo { get; set; } + + /// + /// 链接信息(link类型时必填) + /// + [JsonProperty("link_info")] + public NewsfeedMediaLinkInfo LinkInfo { get; set; } + + /// + /// 动态相关的地理位置(发给现场的动态必填) + /// + [JsonProperty("location_info")] + public NewsfeedLocationInfo LocationInfo { get; set; } + + /// + /// 地理位置名称 + /// + [JsonProperty("location_name")] + public string LocationName { get; set; } + + /// + /// 地理位置跳转链接(当前支持https和alipay开头) + /// + [JsonProperty("location_scheme")] + public string LocationScheme { get; set; } + + /// + /// 场景码,生活圈默认LFC + /// + [JsonProperty("scene_code")] + public string SceneCode { get; set; } + + /// + /// 支持口碑评论等特殊类型需要的评分,不为空可显示星级评分 满分10分,每1分代表半颗星 + /// + [JsonProperty("score")] + public long Score { get; set; } + + /// + /// 接口请求来源 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 用于标识来源app的图标 + /// + [JsonProperty("source_icon")] + public string SourceIcon { get; set; } + + /// + /// 用于标识来源APP的名称 + /// + [JsonProperty("source_name")] + public string SourceName { get; set; } + + /// + /// 个人动态扩散范围:0只生活圈, 1只现场,2既有生活圈也有现场 + /// + [JsonProperty("spread_range")] + public long SpreadRange { get; set; } + + /// + /// 动态的类型:text纯文本, image图片,video视频,link链接 ,crossVideo横屏视频 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// video信息(video、crossVideo类型时必填) + /// + [JsonProperty("video_info")] + public NewsfeedMediaVideoInfo VideoInfo { get; set; } + + /// + /// 动态的可见性:0公开,1私密(仅本人可见) + /// + [JsonProperty("visible")] + public long Visible { get; set; } + + /// + /// 动态的可见范围 visible为0,1时,为空列表 visible为2时,表示可见的标签分组列表, visible为3时,表示不可见的标签分组列表 + /// + [JsonProperty("visible_range")] + + public List VisibleRange { get; set; } + + /// + /// 和谁在一起,用户列表 + /// + [JsonProperty("with_me")] + + public List WithMe { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseRelationFriendsQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseRelationFriendsQueryModel.cs new file mode 100644 index 0000000..8c7f322 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipaySocialBaseRelationFriendsQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipaySocialBaseRelationFriendsQueryModel Data Structure. + /// + [Serializable] + public class AlipaySocialBaseRelationFriendsQueryModel : AopObject + { + /// + /// 获取类型。1=获取双向好友 2=获取双向+单向好友 + /// + [JsonProperty("get_type")] + public long GetType { get; set; } + + /// + /// 好友列表中是否返回自己, true=返回 false=不返回 默认false + /// + [JsonProperty("include_self")] + public bool IncludeSelf { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeAppMergePayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeAppMergePayModel.cs new file mode 100644 index 0000000..f4fb7fc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeAppMergePayModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeAppMergePayModel Data Structure. + /// + [Serializable] + public class AlipayTradeAppMergePayModel : AopObject + { + /// + /// 如果预创建成功,支付宝返回该预下单号,后续商户使用该预下单号请求支付宝支付接口 + /// + [JsonProperty("pre_order_no")] + public string PreOrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeAppPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeAppPayModel.cs new file mode 100644 index 0000000..8f161dd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeAppPayModel.cs @@ -0,0 +1,126 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeAppPayModel Data Structure. + /// + [Serializable] + public class AlipayTradeAppPayModel : AopObject + { + /// + /// 对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 禁用渠道,用户不可用指定渠道支付 当有多个渠道时用“,”分隔 注,与enable_pay_channels互斥 + /// + [JsonProperty("disable_pay_channels")] + public string DisablePayChannels { get; set; } + + /// + /// 可用渠道,用户只能在指定渠道范围内支付 当有多个渠道时用“,”分隔 注,与disable_pay_channels互斥 + /// + [JsonProperty("enable_pay_channels")] + public string EnablePayChannels { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public ExtendParams ExtendParams { get; set; } + + /// + /// 商品主类型 :0-虚拟类商品,1-实物类商品 + /// + [JsonProperty("goods_type")] + public string GoodsType { get; set; } + + /// + /// 开票信息 + /// + [JsonProperty("invoice_info")] + public InvoiceInfo InvoiceInfo { get; set; } + + /// + /// 商户网站唯一订单号 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在同步返回(包括跳转回商户网站)和异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝。 + /// + [JsonProperty("passback_params")] + public string PassbackParams { get; set; } + + /// + /// 销售产品码,商家和支付宝签约的产品码 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 优惠参数 注:仅与支付宝协商后可用 + /// + [JsonProperty("promo_params")] + public string PromoParams { get; set; } + + /// + /// 描述分账信息,Json格式,详见分账参数说明 + /// + [JsonProperty("royalty_info")] + public RoyaltyInfo RoyaltyInfo { get; set; } + + /// + /// 收款支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 指定渠道,目前仅支持传入pcredit 若由于用户原因渠道不可用,用户可选择是否用其他渠道支付。 注:该参数不可与花呗分期参数同时传入 + /// + [JsonProperty("specified_channel")] + public string SpecifiedChannel { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段 + /// + [JsonProperty("sub_merchant")] + public SubMerchant SubMerchant { get; set; } + + /// + /// 商品的标题/交易标题/订单标题/订单关键字等。 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 绝对超时时间,格式为yyyy-MM-dd HH:mm。 + /// + [JsonProperty("time_expire")] + public string TimeExpire { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000],若超过两位小数将会造成异常 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeBatchRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeBatchRefundModel.cs new file mode 100644 index 0000000..7f8ecdb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeBatchRefundModel.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeBatchRefundModel Data Structure. + /// + [Serializable] + public class AlipayTradeBatchRefundModel : AopObject + { + /// + /// 每进行一次即时到账批量退款,都需要提供一个批次号,通过该批次号可以查询这一批次的退款交易记录。对于每一个合作伙伴,传递的每一个批次号都必须保证唯一性。 + /// 格式为:退款日期(8位当天日期)+流水号(3~24位,流水号可以接受数字或英文字符,建议使用数字)。 + /// + [JsonProperty("batch_no")] + public string BatchNo { get; set; } + + /// + /// 退款明细的笔数,即参数detail_data的值中,“#”字符出现的数量加1,最大支持1000笔。 + /// + [JsonProperty("batch_num")] + public string BatchNum { get; set; } + + /// + /// 退款明细列表 + /// + [JsonProperty("detail_data")] + + public List DetailData { get; set; } + + /// + /// 退款请求的当前时间。 格式为:yyyy-MM-dd hh:mm:ss。 + /// + [JsonProperty("refund_date")] + public string RefundDate { get; set; } + + /// + /// 是否使用冻结金额退款。 Y:可以使用冻结金额退款; N:不可使用冻结金额退款; 如果不提供,则默认值为N。 + /// + [JsonProperty("use_freeze_amount")] + public string UseFreezeAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeBatchRefundQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeBatchRefundQueryModel.cs new file mode 100644 index 0000000..2a1f131 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeBatchRefundQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeBatchRefundQueryModel Data Structure. + /// + [Serializable] + public class AlipayTradeBatchRefundQueryModel : AopObject + { + /// + /// 商户请求批量退款时传递的批次号。 trade_no和batch_no不能同时为空 + /// + [JsonProperty("batch_no")] + public string BatchNo { get; set; } + + /// + /// 退款明细的支付宝交易号。 trade_no和batch_no不能同时为空 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCancelModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCancelModel.cs new file mode 100644 index 0000000..fc5825f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCancelModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeCancelModel Data Structure. + /// + [Serializable] + public class AlipayTradeCancelModel : AopObject + { + /// + /// 原支付请求的商户订单号,和支付宝交易号不能同时为空 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 支付宝交易号,和商户订单号不能同时为空 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCloseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCloseModel.cs new file mode 100644 index 0000000..760e6e9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCloseModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeCloseModel Data Structure. + /// + [Serializable] + public class AlipayTradeCloseModel : AopObject + { + /// + /// 卖家端自定义的的操作员 ID + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 该交易在支付宝系统中的交易流水号。最短 16 位,最长 64 位。和out_trade_no不能同时为空,如果同时传了 out_trade_no和 trade_no,则以 trade_no为准。 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCreateModel.cs new file mode 100644 index 0000000..db4aae5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCreateModel.cs @@ -0,0 +1,140 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeCreateModel Data Structure. + /// + [Serializable] + public class AlipayTradeCreateModel : AopObject + { + /// + /// 支付宝的店铺编号 + /// + [JsonProperty("alipay_store_id")] + public string AlipayStoreId { get; set; } + + /// + /// 对交易或商品的描述 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 买家的支付宝唯一用户号(2088开头的16位纯数字),和buyer_logon_id不能同时为空 + /// + [JsonProperty("buyer_id")] + public string BuyerId { get; set; } + + /// + /// 买家支付宝账号,和buyer_id不能同时为空 + /// + [JsonProperty("buyer_logon_id")] + public string BuyerLogonId { get; set; } + + /// + /// 禁用渠道,用户不可用指定渠道支付 注,与enable_pay_channels互斥 + /// + [JsonProperty("disable_pay_channels")] + public string DisablePayChannels { get; set; } + + /// + /// 可打折金额. 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【不可打折金额】则该值默认为【订单总金额】-【不可打折金额】 + /// + [JsonProperty("discountable_amount")] + public string DiscountableAmount { get; set; } + + /// + /// 可用渠道,用户只能在指定渠道范围内支付 注,与disable_pay_channels互斥 + /// + [JsonProperty("enable_pay_channels")] + public string EnablePayChannels { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public ExtendParams ExtendParams { get; set; } + + /// + /// 订单包含的商品列表信息.Json格式. 其它说明详见:“商品明细说明” + /// + [JsonProperty("goods_detail")] + + public List GoodsDetail { get; set; } + + /// + /// 商户原始订单号,最大长度限制32位 + /// + [JsonProperty("merchant_order_no")] + public string MerchantOrderNo { get; set; } + + /// + /// 商户操作员编号 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 商户订单号,64个字符以内、只能包含字母、数字、下划线;需保证在商户端不重复 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 描述分账信息,json格式。 + /// + [JsonProperty("royalty_info")] + public RoyaltyInfo RoyaltyInfo { get; set; } + + /// + /// 卖家支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 二级商户信息,当前只对特殊银行机构特定场景下使用此字段 + /// + [JsonProperty("sub_merchant")] + public SubMerchant SubMerchant { get; set; } + + /// + /// 订单标题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 商户机具终端编号 + /// + [JsonProperty("terminal_id")] + public string TerminalId { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入了【打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【打折金额】+【不可打折金额】 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + + /// + /// 不可打折金额. 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【打折金额】,则该值默认为【订单总金额】-【打折金额】 + /// + [JsonProperty("undiscountable_amount")] + public string UndiscountableAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCustomsDeclareModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCustomsDeclareModel.cs new file mode 100644 index 0000000..0b28d1f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCustomsDeclareModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeCustomsDeclareModel Data Structure. + /// + [Serializable] + public class AlipayTradeCustomsDeclareModel : AopObject + { + /// + /// 报关金额,单位为人民币“元”,精确到小数点后2位。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 订购人身份信息 + /// + [JsonProperty("buyer_info")] + public CustomsDeclareBuyerInfo BuyerInfo { get; set; } + + /// + /// 海关编号(大小写皆可)。参见“ 海关编号”。 + /// + [JsonProperty("customs_place")] + public string CustomsPlace { get; set; } + + /// + /// 商户控制本单是否拆单的报关参数。 仅当该参数传值为T或者t时,才会触发拆单。 + /// + [JsonProperty("is_split")] + public string IsSplit { get; set; } + + /// + /// 商户在海关备案的编号。 + /// + [JsonProperty("merchant_customs_code")] + public string MerchantCustomsCode { get; set; } + + /// + /// 商户海关备案名称。 + /// + [JsonProperty("merchant_customs_name")] + public string MerchantCustomsName { get; set; } + + /// + /// 报关流水号。商户生成的用于唯一标识一次报关操作的业务编号。 建议生成规则:yyyymmdd型8位日期拼接4位序列号。每个报关请求号仅允许传入:数字、英文字母、下划线”_”、短横线”-” 。长度6-32位前后不能有空格 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 拆单报关的商户子订单号。 用于区别拆单时不同子单。拆单时必须传入,否则会报INVALID_PARAMETER错误码。 + /// + [JsonProperty("sub_out_biz_no")] + public string SubOutBizNo { get; set; } + + /// + /// 支付宝交易号。该交易在支付宝系统中的交易流水号,最长64位。 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCustomsQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCustomsQueryModel.cs new file mode 100644 index 0000000..8116cba --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeCustomsQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeCustomsQueryModel Data Structure. + /// + [Serializable] + public class AlipayTradeCustomsQueryModel : AopObject + { + /// + /// 报关请求号。需要查询的商户端报关请求号,支持批量查询, 多个值用英文半角逗号分隔,单次请求最多10个; + /// + [JsonProperty("out_request_nos")] + public string OutRequestNos { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeFastpayRefundQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeFastpayRefundQueryModel.cs new file mode 100644 index 0000000..2e3d6dd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeFastpayRefundQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeFastpayRefundQueryModel Data Structure. + /// + [Serializable] + public class AlipayTradeFastpayRefundQueryModel : AopObject + { + /// + /// 请求退款接口时,传入的退款请求号,如果在退款请求时未传入,则该值为创建交易时的外部交易号 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 支付宝交易号,和商户订单号不能同时为空 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeMergePrecreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeMergePrecreateModel.cs new file mode 100644 index 0000000..6e87f9e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeMergePrecreateModel.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeMergePrecreateModel Data Structure. + /// + [Serializable] + public class AlipayTradeMergePrecreateModel : AopObject + { + /// + /// 子订单详情 + /// + [JsonProperty("order_details")] + + public List OrderDetails { get; set; } + + /// + /// 如果已经和支付宝约定要求子订单明细必须同时支付成功或者同时支付失败则必须传入此参数,且该参数必须在商户端唯一,否则可以不需要填。 + /// + [JsonProperty("out_merge_no")] + public string OutMergeNo { get; set; } + + /// + /// 请求合并的所有订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 + /// 90m。 如果已经和支付宝约定要求子订单明细必须同时支付成功或者同时支付失败,则不需要填入该字段。 + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeOrderSettleModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeOrderSettleModel.cs new file mode 100644 index 0000000..0c35c87 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeOrderSettleModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeOrderSettleModel Data Structure. + /// + [Serializable] + public class AlipayTradeOrderSettleModel : AopObject + { + /// + /// 操作员id + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 结算请求流水号 开发者自行生成并保证唯一性 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 分账明细信息 + /// + [JsonProperty("royalty_parameters")] + + public List RoyaltyParameters { get; set; } + + /// + /// 支付宝订单号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePageMergePayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePageMergePayModel.cs new file mode 100644 index 0000000..9cecff7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePageMergePayModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradePageMergePayModel Data Structure. + /// + [Serializable] + public class AlipayTradePageMergePayModel : AopObject + { + /// + /// 子订单详情 + /// + [JsonProperty("order_details")] + + public List OrderDetails { get; set; } + + /// + /// 如果已经和支付宝约定要求子订单明细必须同时支付成功或者同时支付失败则必须传入此参数,且该参数必须在商户端唯一,否则可以不需要填。 + /// + [JsonProperty("out_merge_no")] + public string OutMergeNo { get; set; } + + /// + /// 请求合并的所有订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePagePayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePagePayModel.cs new file mode 100644 index 0000000..ef75963 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePagePayModel.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradePagePayModel Data Structure. + /// + [Serializable] + public class AlipayTradePagePayModel : AopObject + { + /// + /// 签约参数,支付后签约场景使用 + /// + [JsonProperty("agreement_sign_params")] + public AgreementSignParams AgreementSignParams { get; set; } + + /// + /// 订单描述 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 禁用渠道,用户不可用指定渠道支付 注,与enable_pay_channels互斥 + /// + [JsonProperty("disable_pay_channels")] + public string DisablePayChannels { get; set; } + + /// + /// 可用渠道,用户只能在指定渠道范围内支付 注,与disable_pay_channels互斥 + /// + [JsonProperty("enable_pay_channels")] + public string EnablePayChannels { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public ExtendParams ExtendParams { get; set; } + + /// + /// 订单包含的商品列表信息,Json格式,其它说明详见商品明细说明 + /// + [JsonProperty("goods_detail")] + public List GoodsDetail { get; set; } + + /// + /// 商品主类型 :0-虚拟类商品,1-实物类商品 注:虚拟类商品不支持使用花呗渠道 + /// + [JsonProperty("goods_type")] + public string GoodsType { get; set; } + + /// + /// 请求后页面的集成方式。 取值范围: 1. ALIAPP:支付宝钱包内 2. PCWEB:PC端访问 默认值为PCWEB。 + /// + [JsonProperty("integration_type")] + public string IntegrationType { get; set; } + + /// + /// 开票信息 + /// + [JsonProperty("invoice_info")] + public InvoiceInfo InvoiceInfo { get; set; } + + /// + /// 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在同步返回(包括跳转回商户网站)和异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝。 + /// + [JsonProperty("passback_params")] + public string PassbackParams { get; set; } + + /// + /// 销售产品码,与支付宝签约的产品码名称。 注:目前仅支持FAST_INSTANT_TRADE_PAY + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 优惠参数 注:仅与支付宝协商后可用 + /// + [JsonProperty("promo_params")] + public string PromoParams { get; set; } + + /// + /// PC扫码支付的方式,支持前置模式和 跳转模式。 前置模式是将二维码前置到商户 的订单确认页的模式。需要商户在 自己的页面中以 iframe 方式请求 支付宝页面。具体分为以下几种: 0:订单码-简约前置模式,对应 + /// iframe 宽度不能小于600px,高度不能小于300px; 1:订单码-前置模式,对应iframe 宽度不能小于 300px,高度不能小于600px; 3:订单码-迷你前置模式,对应 iframe 宽度不能小于 + /// 75px,高度不能小于75px; 4:订单码-可定义宽度的嵌入式二维码,商户可根据需要设定二维码的大小。 跳转模式下,用户的扫码界面是由支付宝生成的,不在商户的域名下。 2:订单码-跳转模式 + /// + [JsonProperty("qr_pay_mode")] + public string QrPayMode { get; set; } + + /// + /// 商户自定义二维码宽度 注:qr_pay_mode=4时该参数生效 + /// + [JsonProperty("qrcode_width")] + public long QrcodeWidth { get; set; } + + /// + /// 请求来源地址。如果使用ALIAPP的集成方式,用户中途取消支付会返回该地址。 + /// + [JsonProperty("request_from_url")] + public string RequestFromUrl { get; set; } + + /// + /// 描述分账信息,Json格式,详见分账参数说明 + /// + [JsonProperty("royalty_info")] + public RoyaltyInfo RoyaltyInfo { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段 + /// + [JsonProperty("sub_merchant")] + public SubMerchant SubMerchant { get; set; } + + /// + /// 订单标题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 绝对超时时间,格式为yyyy-MM-dd HH:mm + /// + [JsonProperty("time_expire")] + public string TimeExpire { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayConsultModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayConsultModel.cs new file mode 100644 index 0000000..228ce67 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayConsultModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradePayConsultModel Data Structure. + /// + [Serializable] + public class AlipayTradePayConsultModel : AopObject + { + /// + /// 支付宝系统中用以唯一标识用户签约记录的编号。用户签约成功后时,协议号会返回给商户。 + /// + [JsonProperty("agreement_no")] + public string AgreementNo { get; set; } + + /// + /// 商户申请额度,商户端根据实际需要来赋值。 + /// + [JsonProperty("apply_amount")] + public string ApplyAmount { get; set; } + + /// + /// 业务场景,用于区分商户具体的咨询类型。ENJOY_CONSULT:兜底资金咨询;FUND_BILL_CONSULT资金渠道咨询 + /// + [JsonProperty("biz_scene")] + public string BizScene { get; set; } + + /// + /// 买家的支付宝用户id,用户签约成功后,会返回给商户。 + /// + [JsonProperty("buyer_id")] + public string BuyerId { get; set; } + + /// + /// 支付咨询阶段。在支付过程中,用于区分商户发起咨询的阶段。BEFORE_PAY:支付前咨询;AFTER_PAY:支付后咨询 + /// + [JsonProperty("consult_phase")] + public string ConsultPhase { get; set; } + + /// + /// 扩展参数,必须是json格式 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 此参数值取商户签约销售方案时的销售产品码 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 商户端生成唯一标识,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 + /// + [JsonProperty("request_no")] + public string RequestNo { get; set; } + + /// + /// 订单标题,商户端描述该次咨询对应的基本订单信息。 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayContentBuilder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayContentBuilder.cs new file mode 100644 index 0000000..eab0727 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayContentBuilder.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Domain +{ + /// + /// AlipayTradePayContentBuilder 的摘要说明 + /// + public class AlipayTradePayContentBuilder : JsonBuilder + { + public string out_trade_no {get;set;} + public string seller_id {get;set;} + public string total_amount { get; set; } + public string discountable_amount { get; set; } + public string undiscountable_amount { get; set; } + public string subject { get; set; } + public string body { get; set; } + + public List goods_detail{get;set;} + public string operator_id { get; set; } + + public string store_id { get; set; } + + public string terminal_id { get; set; } + + public ExtendParams extend_params; + public string timeout_express { get; set; } + + + public AlipayTradePayContentBuilder() + { + this.scene = "bar_code"; + } + + public string scene { get; set; } + + public string auth_code { get; set; } + + + + + public override bool Validate() + { + if (String.IsNullOrEmpty(scene)) + { + throw new NullReferenceException("scene should not be NULL!"); + } + if (String.IsNullOrEmpty(auth_code)) + { + throw new NullReferenceException("auth_code should not be NULL!"); + } + return true; + } + } + +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayModel.cs new file mode 100644 index 0000000..59f3b6b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePayModel.cs @@ -0,0 +1,171 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradePayModel Data Structure. + /// + [Serializable] + public class AlipayTradePayModel : AopObject + { + /// + /// 代扣业务需要传入协议相关信息 + /// + [JsonProperty("agreement_params")] + public AgreementParams AgreementParams { get; set; } + + /// + /// 支付宝的店铺编号 + /// + [JsonProperty("alipay_store_id")] + public string AlipayStoreId { get; set; } + + /// + /// 支付授权码,25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 预授权号,预授权转交易请求中传入,适用于预授权转交易业务使用,目前只支持FUND_TRADE_FAST_PAY(资金订单即时到帐交易)、境外预授权产品(OVERSEAS_AUTH_PAY)两个产品。 + /// + [JsonProperty("auth_no")] + public string AuthNo { get; set; } + + /// + /// 订单描述 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 商户传入业务信息,具体值需要与支付宝约定 + /// + [JsonProperty("business_params")] + public string BusinessParams { get; set; } + + /// + /// 买家的支付宝用户id,如果为空,会从传入了码值信息中获取买家ID + /// + [JsonProperty("buyer_id")] + public string BuyerId { get; set; } + + /// + /// 禁用支付渠道,多个渠道以逗号分割,如同时禁用信用支付类型和积分,则disable_pay_channels="credit_group,point" + /// + [JsonProperty("disable_pay_channels")] + public string DisablePayChannels { get; set; } + + /// + /// 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】 + /// + [JsonProperty("discountable_amount")] + public string DiscountableAmount { get; set; } + + /// + /// 外部指定买家 + /// + [JsonProperty("ext_user_info")] + public ExtUserInfo ExtUserInfo { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public ExtendParams ExtendParams { get; set; } + + /// + /// 订单包含的商品列表信息,Json格式,其它说明详见商品明细说明 + /// + [JsonProperty("goods_detail")] + + public List GoodsDetail { get; set; } + + /// + /// 商户的原始订单号 + /// + [JsonProperty("merchant_order_no")] + public string MerchantOrderNo { get; set; } + + /// + /// 商户操作员编号 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 销售产品码 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 描述分账信息,Json格式,其它说明详见分账说明 + /// + [JsonProperty("royalty_info")] + public RoyaltyInfo RoyaltyInfo { get; set; } + + /// + /// 支付场景 条码支付,取值:bar_code 声波支付,取值:wave_code + /// + [JsonProperty("scene")] + public string Scene { get; set; } + + /// + /// 如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段 + /// + [JsonProperty("sub_merchant")] + public SubMerchant SubMerchant { get; set; } + + /// + /// 订单标题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 商户机具终端编号 + /// + [JsonProperty("terminal_id")] + public string TerminalId { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入【可打折金额】和【不可打折金额】,该参数可以不用传入; + /// 如果同时传入了【可打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【可打折金额】+【不可打折金额】 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + + /// + /// 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。如果该值未传入,但传入了【订单总金额】和【可打折金额】,则该值默认为【订单总金额】-【可打折金额】 + /// + [JsonProperty("undiscountable_amount")] + public string UndiscountableAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePrecreateContentBuilder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePrecreateContentBuilder.cs new file mode 100644 index 0000000..e9838ac --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePrecreateContentBuilder.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using Alipay.AopSdk.F2FPay.Model; + +namespace Alipay.AopSdk.F2FPay.Domain +{ + /// + /// AlipayTradePrecreateContentBuilder 的摘要说明 + /// + public class AlipayTradePrecreateContentBuilder : JsonBuilder + { + + public string out_trade_no {get;set;} + public string seller_id {get;set;} + public string total_amount { get; set; } + public string discountable_amount { get; set; } + public string undiscountable_amount { get; set; } + public string subject { get; set; } + public string body { get; set; } + + public List goods_detail{get;set;} + public string operator_id { get; set; } + + public string store_id { get; set; } + + public string terminal_id { get; set; } + + public ExtendParams extend_params { get; set; } + public string time_expire { get; set; } + public string timeout_express { get; set; } + + public string qr_code_timeout_express { get; set; } + + + + public override bool Validate() + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePrecreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePrecreateModel.cs new file mode 100644 index 0000000..1495c60 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradePrecreateModel.cs @@ -0,0 +1,134 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradePrecreateModel Data Structure. + /// + [Serializable] + public class AlipayTradePrecreateModel : AopObject + { + /// + /// 支付宝店铺的门店ID + /// + [JsonProperty("alipay_store_id")] + public string AlipayStoreId { get; set; } + + /// + /// 对交易或商品的描述 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 买家支付宝账号 + /// + [JsonProperty("buyer_logon_id")] + public string BuyerLogonId { get; set; } + + /// + /// 禁用渠道,用户不可用指定渠道支付 当有多个渠道时用“,”分隔 注,与enable_pay_channels互斥 + /// + [JsonProperty("disable_pay_channels")] + public string DisablePayChannels { get; set; } + + /// + /// 可打折金额. 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【不可打折金额】则该值默认为【订单总金额】-【不可打折金额】 + /// + [JsonProperty("discountable_amount")] + public string DiscountableAmount { get; set; } + + /// + /// 可用渠道,用户只能在指定渠道范围内支付 当有多个渠道时用“,”分隔 注,与disable_pay_channels互斥 + /// + [JsonProperty("enable_pay_channels")] + public string EnablePayChannels { get; set; } + + /// + /// 外部指定买家 + /// + [JsonProperty("ext_user_info")] + public ExtUserInfo ExtUserInfo { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public ExtendParams ExtendParams { get; set; } + + /// + /// 订单包含的商品列表信息.Json格式. 其它说明详见:“商品明细说明” + /// + [JsonProperty("goods_detail")] + + public List GoodsDetail { get; set; } + + /// + /// 商户操作员编号 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 商户订单号,64个字符以内、只能包含字母、数字、下划线;需保证在商户端不重复 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 描述分账信息,json格式。 + /// + [JsonProperty("royalty_info")] + public RoyaltyInfo RoyaltyInfo { get; set; } + + /// + /// 卖家支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 二级商户信息,当前只对特殊银行机构特定场景下使用此字段 + /// + [JsonProperty("sub_merchant")] + public SubMerchant SubMerchant { get; set; } + + /// + /// 订单标题 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 商户机具终端编号 + /// + [JsonProperty("terminal_id")] + public string TerminalId { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果同时传入了【打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【打折金额】+【不可打折金额】 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + + /// + /// 不可打折金额. 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] 如果该值未传入,但传入了【订单总金额】,【打折金额】,则该值默认为【订单总金额】-【打折金额】 + /// + [JsonProperty("undiscountable_amount")] + public string UndiscountableAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeQueryCententBuilder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeQueryCententBuilder.cs new file mode 100644 index 0000000..7223376 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeQueryCententBuilder.cs @@ -0,0 +1,29 @@ +using System; + +namespace Alipay.AopSdk.F2FPay.Domain +{ + /// + /// AlipayTradeQueryCententBuilder 的摘要说明 + /// + public class AlipayTradeQueryContentBuilder : JsonBuilder + { + + + public string trade_no { get; set; } + public string out_trade_no { get; set; } + + + public AlipayTradeQueryContentBuilder() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public override bool Validate() + { + throw new NotImplementedException(); + } + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeQueryModel.cs new file mode 100644 index 0000000..f399660 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeQueryModel Data Structure. + /// + [Serializable] + public class AlipayTradeQueryModel : AopObject + { + /// + /// 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 支付宝交易号,和商户订单号不能同时为空 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeRefundContentBuilder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeRefundContentBuilder.cs new file mode 100644 index 0000000..6e3ba21 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeRefundContentBuilder.cs @@ -0,0 +1,37 @@ +using System; + +namespace Alipay.AopSdk.F2FPay.Domain +{ + /// + /// AlipayTradeRefundContentBuilder 的摘要说明 + /// + public class AlipayTradeRefundContentBuilder : JsonBuilder + { + + + public string trade_no { get; set; } + + public string out_trade_no { get; set; } + + public string refund_amount { get; set; } + + public string out_request_no { get; set; } + + public string refund_reason { get; set; } + + + public AlipayTradeRefundContentBuilder() + { + // + // TODO: 在此处添加构造函数逻辑 + // + } + + public override bool Validate() + { + throw new NotImplementedException(); + } + + + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeRefundModel.cs new file mode 100644 index 0000000..55f3747 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeRefundModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeRefundModel Data Structure. + /// + [Serializable] + public class AlipayTradeRefundModel : AopObject + { + /// + /// 商户的操作员编号 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 订单支付时传入的商户订单号,不能和 trade_no同时为空。 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数 + /// + [JsonProperty("refund_amount")] + public string RefundAmount { get; set; } + + /// + /// 退款的原因说明 + /// + [JsonProperty("refund_reason")] + public string RefundReason { get; set; } + + /// + /// 商户的门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 商户的终端编号 + /// + [JsonProperty("terminal_id")] + public string TerminalId { get; set; } + + /// + /// 支付宝交易号,和商户订单号不能同时为空 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeVendorpayDevicedataUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeVendorpayDevicedataUploadModel.cs new file mode 100644 index 0000000..cf96acc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeVendorpayDevicedataUploadModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeVendorpayDevicedataUploadModel Data Structure. + /// + [Serializable] + public class AlipayTradeVendorpayDevicedataUploadModel : AopObject + { + /// + /// 客户端应用包标识 + /// + [JsonProperty("app_package_name")] + public string AppPackageName { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 国际移动设备标识 + /// + [JsonProperty("imei")] + public string Imei { get; set; } + + /// + /// 国际移动用户识别码 + /// + [JsonProperty("imsi")] + public string Imsi { get; set; } + + /// + /// mac地址 + /// + [JsonProperty("mac")] + public string Mac { get; set; } + + /// + /// 手机机型 + /// + [JsonProperty("machine_type")] + public string MachineType { get; set; } + + /// + /// 手机系统版本 + /// + [JsonProperty("phone_sys_version")] + public string PhoneSysVersion { get; set; } + + /// + /// 厂商公钥、base64编码 + /// + [JsonProperty("public_key")] + public string PublicKey { get; set; } + + /// + /// 设备应用来源,厂商支付标记 + /// + [JsonProperty("tidsource")] + public string Tidsource { get; set; } + + /// + /// 设备标识符 + /// + [JsonProperty("uuid")] + public string Uuid { get; set; } + + /// + /// 厂商名字 + /// + [JsonProperty("vendor")] + public string Vendor { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeWapMergePayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeWapMergePayModel.cs new file mode 100644 index 0000000..9211a4d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeWapMergePayModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeWapMergePayModel Data Structure. + /// + [Serializable] + public class AlipayTradeWapMergePayModel : AopObject + { + /// + /// 如果预创建成功,支付宝返回该预下单号,后续商户使用该预下单号请求支付宝支付接口 + /// + [JsonProperty("pre_order_no")] + public string PreOrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeWapPayModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeWapPayModel.cs new file mode 100644 index 0000000..f9f7c49 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayTradeWapPayModel.cs @@ -0,0 +1,138 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayTradeWapPayModel Data Structure. + /// + [Serializable] + public class AlipayTradeWapPayModel : AopObject + { + /// + /// 针对用户授权接口,获取用户相关数据时,用于标识用户授权关系 + /// + [JsonProperty("auth_token")] + public string AuthToken { get; set; } + + /// + /// Iphone6 16G + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 禁用渠道,用户不可用指定渠道支付 当有多个渠道时用“,”分隔 注,与enable_pay_channels互斥 + /// + [JsonProperty("disable_pay_channels")] + public string DisablePayChannels { get; set; } + + /// + /// 可用渠道,用户只能在指定渠道范围内支付 当有多个渠道时用“,”分隔 注,与disable_pay_channels互斥 + /// + [JsonProperty("enable_pay_channels")] + public string EnablePayChannels { get; set; } + + /// + /// 业务扩展参数 + /// + [JsonProperty("extend_params")] + public ExtendParams ExtendParams { get; set; } + + /// + /// 商品主类型 :0-虚拟类商品,1-实物类商品 + /// + [JsonProperty("goods_type")] + public string GoodsType { get; set; } + + /// + /// 开票信息 + /// + [JsonProperty("invoice_info")] + public InvoiceInfo InvoiceInfo { get; set; } + + /// + /// 商户网站唯一订单号 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在同步返回(包括跳转回商户网站)和异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝。 + /// + [JsonProperty("passback_params")] + public string PassbackParams { get; set; } + + /// + /// 销售产品码,商家和支付宝签约的产品码 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 优惠参数 注:仅与支付宝协商后可用 + /// + [JsonProperty("promo_params")] + public string PromoParams { get; set; } + + /// + /// 用户付款中途退出返回商户网站的地址 + /// + [JsonProperty("quit_url")] + public string QuitUrl { get; set; } + + /// + /// 描述分账信息,Json格式,详见分账参数说明 + /// + [JsonProperty("royalty_info")] + public RoyaltyInfo RoyaltyInfo { get; set; } + + /// + /// 收款支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID + /// + [JsonProperty("seller_id")] + public string SellerId { get; set; } + + /// + /// 指定渠道,目前仅支持传入pcredit 若由于用户原因渠道不可用,用户可选择是否用其他渠道支付。 注:该参数不可与花呗分期参数同时传入 + /// + [JsonProperty("specified_channel")] + public string SpecifiedChannel { get; set; } + + /// + /// 商户门店编号 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段 + /// + [JsonProperty("sub_merchant")] + public SubMerchant SubMerchant { get; set; } + + /// + /// 商品的标题/交易标题/订单标题/订单关键字等。 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 绝对超时时间,格式为yyyy-MM-dd HH:mm。 + /// + [JsonProperty("time_expire")] + public string TimeExpire { get; set; } + + /// + /// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 + /// + [JsonProperty("timeout_express")] + public string TimeoutExpress { get; set; } + + /// + /// 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAccountInstitutionCertifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAccountInstitutionCertifyModel.cs new file mode 100644 index 0000000..2312126 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAccountInstitutionCertifyModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAccountInstitutionCertifyModel Data Structure. + /// + [Serializable] + public class AlipayUserAccountInstitutionCertifyModel : AopObject + { + /// + /// 描述机构的名称 + /// + [JsonProperty("institution_name")] + public string InstitutionName { get; set; } + + /// + /// 登录号,可以是手机号码或者邮箱号码 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementAuthApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementAuthApplyModel.cs new file mode 100644 index 0000000..292b565 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementAuthApplyModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementAuthApplyModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementAuthApplyModel : AopObject + { + /// + /// 支付宝系统中用以唯一标识用户签约记录的编号。 + /// + [JsonProperty("agreement_no")] + public string AgreementNo { get; set; } + + /// + /// 支付宝给用户下发短信校验码; 用户在商户提供页面中回填该校验码,商户调支付宝的鉴权确认接口,完全最终的鉴权确认 + /// + [JsonProperty("auth_confirm_type")] + public string AuthConfirmType { get; set; } + + /// + /// 鉴权申请的场景,目前可传入的值:AUTH/PAY + /// + [JsonProperty("auth_scene")] + public string AuthScene { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementAuthConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementAuthConfirmModel.cs new file mode 100644 index 0000000..9e6d945 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementAuthConfirmModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementAuthConfirmModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementAuthConfirmModel : AopObject + { + /// + /// 支付宝系统中用以唯一标识用户签约记录的编号。 + /// + [JsonProperty("agreement_no")] + public string AgreementNo { get; set; } + + /// + /// 鉴权申请token,其格式和内容,由支付宝定义。在该接口中,商户可根据申请操作成功时返回的申请token,进行鉴权确认操作。 + /// + [JsonProperty("apply_token")] + public string ApplyToken { get; set; } + + /// + /// 鉴权确认码 + /// + [JsonProperty("auth_confirm_no")] + public string AuthConfirmNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementPageSignModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementPageSignModel.cs new file mode 100644 index 0000000..38d1efb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementPageSignModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementPageSignModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementPageSignModel : AopObject + { + /// + /// 请按当前接入的方式进行填充,且输入值必须为文档中的参数取值范围。 扫码或者短信页面签约需要拼装http的请求地址访问中间页面,钱包h5页面签约可直接拼接schema的请求地址 + /// + [JsonProperty("access_params")] + public AccessParams AccessParams { get; set; } + + /// + /// 商户签约号,代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。 格式规则:支持大写小写字母和数字,最长32位。 商户系统按需传入,如果同一用户在同一产品码、同一签约场景下,签订了多份代扣协议,那么需要指定并传入该值。 + /// + [JsonProperty("external_agreement_no")] + public string ExternalAgreementNo { get; set; } + + /// + /// 用户在商户网站的登录账号,用于在签约页面展示,如果为空,则不展示 + /// + [JsonProperty("external_logon_id")] + public string ExternalLogonId { get; set; } + + /// + /// 用户实名信息参数,包含:姓名、身份证号。商户传入用户实名信息参数,支付宝会对比用户在支付宝端的实名信息。 + /// + [JsonProperty("identity_params")] + public IdentityParams IdentityParams { get; set; } + + /// + /// 个人签约产品码,商户和支付宝签约时确定,商户可咨询技术支持。 + /// + [JsonProperty("personal_product_code")] + public string PersonalProductCode { get; set; } + + /// + /// 签约产品属性,json格式 + /// + [JsonProperty("prod_params")] + public ProdParams ProdParams { get; set; } + + /// + /// 销售产品码,商户签约的支付宝合同所对应的产品码。 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 签约营销参数,此值为json格式;具体的key需与营销约定 + /// + [JsonProperty("promo_params")] + public string PromoParams { get; set; } + + /// + /// 协议签约场景,商户和支付宝签约时确定,商户可咨询技术支持。 当传入商户签约号external_agreement_no时,场景不能为默认值DEFAULT|DEFAULT。 + /// + [JsonProperty("sign_scene")] + public string SignScene { get; set; } + + /// + /// 当前用户签约请求的协议有效周期。 整形数字加上时间单位的协议有效期,从发起签约请求的时间开始算起。 目前支持的时间单位: 1. d:天 2. m:月 如果未传入,默认为长期有效。 + /// + [JsonProperty("sign_validity_period")] + public string SignValidityPeriod { get; set; } + + /// + /// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。 取值范围: 1. PARTNER(平台商户) 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容 默认为PARTNER。 + /// + [JsonProperty("third_party_type")] + public string ThirdPartyType { get; set; } + + /// + /// 芝麻授权信息,针对于信用代扣签约。json格式。 + /// + [JsonProperty("zm_auth_params")] + public ZmAuthParams ZmAuthParams { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementQueryModel.cs new file mode 100644 index 0000000..cae1717 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementQueryModel.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementQueryModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementQueryModel : AopObject + { + /// + /// 支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号 ) ,如果传了该参数,其他参数会被忽略 + /// + [JsonProperty("agreement_no")] + public string AgreementNo { get; set; } + + /// + /// 用户的支付宝登录账号,支持邮箱或手机号码格式。本参数与alipay_user_id 不可同时为空,若都填写,则以alipay_user_id 为准。 + /// + [JsonProperty("alipay_logon_id")] + public string AlipayLogonId { get; set; } + + /// + /// 用户的支付宝账号对应 的支付宝唯一用户号,以 2088 开头的 16 位纯数字 组成; 本参数与 alipay_logon_id 不 可同时为空,若都填写,则 以本参数为准,优先级高于 alipay_logon_id。 + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 代扣协议中标示用户的唯一签约号(确保在商户系统中 唯一)。 格式规则:支持大写小写字 母和数字,最长 32 位。 + /// + [JsonProperty("external_agreement_no")] + public string ExternalAgreementNo { get; set; } + + /// + /// 协议产品码,商户和支付宝签约时确定,商户可咨询技术支持。 + /// + [JsonProperty("personal_product_code")] + public string PersonalProductCode { get; set; } + + /// + /// 签约协议场景,商户和支付宝签约时确定,商户可咨询技术支持。 当传入商户签约号 external_sign_no 时,场景不能为空或默认值 DEFAULT|DEFAULT。 该值需要与系统/页面签约接口调用时传入的值保持一 致。 + /// + [JsonProperty("sign_scene")] + public string SignScene { get; set; } + + /// + /// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。 取值范围: 取值范围: 1. PARTNER(平台商户); 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容; + /// 默认为PARTNER。 + /// + [JsonProperty("third_party_type")] + public string ThirdPartyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementSignConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementSignConfirmModel.cs new file mode 100644 index 0000000..3ec9919 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementSignConfirmModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementSignConfirmModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementSignConfirmModel : AopObject + { + /// + /// 代扣签约申请时,支付宝返回的签约申请token,商户可利用该值完成签约的确认。 + /// + [JsonProperty("apply_token")] + public string ApplyToken { get; set; } + + /// + /// 支付宝用户的身份证后4位。 签约确认接口目前只有国际极简会校验身份证后4位。 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 能唯一确认用户身份的标识号,如:手机验证码等。 + /// + [JsonProperty("confirm_no")] + public string ConfirmNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementSignModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementSignModel.cs new file mode 100644 index 0000000..cbfc28f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementSignModel.cs @@ -0,0 +1,108 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementSignModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementSignModel : AopObject + { + /// + /// 用户的支付宝登录账号,支持邮箱或手机号码格式。 本参数与alipay_user_id不可同时为空,若都填写,则以alipay_user_id为准。 + /// + [JsonProperty("alipay_logon_id")] + public string AlipayLogonId { get; set; } + + /// + /// 用户的支付宝id,本参数与alipay_logon_id不可同时为空,若都填写,则以本参数为准,优先级高于alipay_logon_id。 + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 资产信息,针对于泛金融机构,签约时必须传入资产信息。json格式。 + /// + [JsonProperty("asset_params")] + public AssetParams AssetParams { get; set; } + + /// + /// 支付宝账户绑定的手机,系统会对账户绑定的手机与传入的手机号做一致性校验。 商户调用必传。 阿里集团内部调用,可不传。 + /// + [JsonProperty("binded_mobile")] + public string BindedMobile { get; set; } + + /// + /// 签约确认方式,用户进行协议签约时的确认方式,不同产品所支持的确认方式不同。 目前仅支持如下两类: M:手机校验码回填确认方式。 如果为空,则默认为无需用户确认。 + /// + [JsonProperty("confirm_type")] + public string ConfirmType { get; set; } + + /// + /// 商户签约号,代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。 格式规则:支持大写小写字母和数字,最长32位。 商户系统按需传入,如果同一用户在同一产品码、同一签约场景下,签订了多份代扣协议,那么需要指定并传入该值。 + /// + [JsonProperty("external_agreement_no")] + public string ExternalAgreementNo { get; set; } + + /// + /// 用户在商户网站的登录账号,用于在签约页面展示,如果为空,则不展示 + /// + [JsonProperty("external_logon_id")] + public string ExternalLogonId { get; set; } + + /// + /// 个人签约产品码,商户和支付宝签约时确定,商户可咨询技术支持。 + /// + [JsonProperty("personal_product_code")] + public string PersonalProductCode { get; set; } + + /// + /// 签约产品属性,json格式 + /// + [JsonProperty("prod_params")] + public ProdParams ProdParams { get; set; } + + /// + /// 销售产品码,商户签约的支付宝合同所对应的产品码。 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 签约营销参数,此值为json格式;具体的key需与营销约定 + /// + [JsonProperty("promo_params")] + public string PromoParams { get; set; } + + /// + /// 协议签约场景,商户和支付宝签约时确定,商户可咨询技术支持。 当传入商户签约号external_sign_no时,场景不能为默认值DEFAULT|DEFAULT。 + /// + [JsonProperty("sign_scene")] + public string SignScene { get; set; } + + /// + /// 当前用户签约请求的协议有效周期。 整形数字加上时间单位的协议有效期,从发起签约请求的时间开始算起。 目前支持的时间单位: 1. d:天 2. m:月 如果未传入,默认为长期有效。 + /// + [JsonProperty("sign_validity_period")] + public string SignValidityPeriod { get; set; } + + /// + /// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。 取值范围: 1. PARTNER(平台商户) 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容 默认为PARTNER。 + /// + [JsonProperty("third_party_type")] + public string ThirdPartyType { get; set; } + + /// + /// 校验信息,针对双因子校验逻辑,如果logonId为email时,必须传入证件号后4位信息。Json格式。 + /// + [JsonProperty("verify_params")] + public VerifyParams VerifyParams { get; set; } + + /// + /// 芝麻授权信息,针对于信用代扣签约。json格式。 + /// + [JsonProperty("zm_auth_params")] + public ZmAuthParams ZmAuthParams { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementUnsignModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementUnsignModel.cs new file mode 100644 index 0000000..c7a27f2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAgreementUnsignModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAgreementUnsignModel Data Structure. + /// + [Serializable] + public class AlipayUserAgreementUnsignModel : AopObject + { + /// + /// 支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号 ),如果传了该参数,其他参数会被忽略 + /// + [JsonProperty("agreement_no")] + public string AgreementNo { get; set; } + + /// + /// 用户的支付宝登录账号,支持邮箱或手机号码格式。本参数与alipay_user_id 不可同时为空,若都填写,则以alipay_user_id 为准。 + /// + [JsonProperty("alipay_logon_id")] + public string AlipayLogonId { get; set; } + + /// + /// 用户的支付宝账号对应的支付宝唯一用户号,以2088 开头的 16 位纯数字 组成; 本参数与alipay_logon_id 不可同时为空,若都填写,则以本参数为准,优先级高于alipay_logon_id。 + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 扩展参数 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。 + /// + [JsonProperty("external_agreement_no")] + public string ExternalAgreementNo { get; set; } + + /// + /// 操作类型: confirm(解约确认),invalid(解约作废) + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + + /// + /// 协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。 + /// + [JsonProperty("personal_product_code")] + public string PersonalProductCode { get; set; } + + /// + /// 签约协议场景,商户和支付宝签约时确定。 当传入商户签约号 external_agreement_no时,场景不能为空或默认值 DEFAULT|DEFAULT。 该值需要与系统/页面签约接口调用时传入的值保持一 致。 + /// + [JsonProperty("sign_scene")] + public string SignScene { get; set; } + + /// + /// 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。 取值范围: 1. PARTNER(平台商户); 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容; 默认为PARTNER。 + /// + [JsonProperty("third_party_type")] + public string ThirdPartyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasAddtesttagModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasAddtesttagModifyModel.cs new file mode 100644 index 0000000..7086a2b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasAddtesttagModifyModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAntpaasAddtesttagModifyModel Data Structure. + /// + [Serializable] + public class AlipayUserAntpaasAddtesttagModifyModel : AopObject + { + /// + /// 支付宝账户id + /// + [JsonProperty("account_no")] + public string AccountNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTestaccountCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTestaccountCreateModel.cs new file mode 100644 index 0000000..c3fd6de --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTestaccountCreateModel.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAntpaasTestaccountCreateModel Data Structure. + /// + [Serializable] + public class AlipayUserAntpaasTestaccountCreateModel : AopObject + { + /// + /// 认证等级,L1,L2,L3,L3可以开店 + /// + [JsonProperty("account_level")] + public string AccountLevel { get; set; } + + /// + /// 证件中的姓名,必须为中文,尽量不要超过6个汉字 + /// + [JsonProperty("cert_name")] + public string CertName { get; set; } + + /// + /// 证件号码 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 证件类型,IDENTITY_CARD 身份证,PASSPORT 护照,HK_MC_CARD 港澳证件 + /// + [JsonProperty("cert_type")] + public string CertType { get; set; } + + /// + /// 登录名,如邮箱的值 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + + /// + /// 登录名类型,EMAIL + /// + [JsonProperty("logon_type")] + public string LogonType { get; set; } + + /// + /// 备注信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 操作类型,CREATION 仅创建, CERTIFY 仅认证, CREATION_AND_CERTIFY 创建+认证 + /// + [JsonProperty("operation_type")] + public string OperationType { get; set; } + + /// + /// 操作者工号 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 调用方IP地址 + /// + [JsonProperty("remote_ip")] + public string RemoteIp { get; set; } + + /// + /// 支付宝账户id,accountNo + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 账户状态,T Q + /// + [JsonProperty("user_status")] + public string UserStatus { get; set; } + + /// + /// 账户类型,PERSON 个人 ORG 企业 + /// + [JsonProperty("user_type")] + public string UserType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTokenCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTokenCreateModel.cs new file mode 100644 index 0000000..d6cbeba --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTokenCreateModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAntpaasTokenCreateModel Data Structure. + /// + [Serializable] + public class AlipayUserAntpaasTokenCreateModel : AopObject + { + /// + /// 账户绑定手机号 + /// + [JsonProperty("bind_mobile")] + public string BindMobile { get; set; } + + /// + /// 当前用户国家/地区,两位国家代码 国家代码以ISO 3166-1 标准为准 + /// + [JsonProperty("country")] + public string Country { get; set; } + + /// + /// 蚂蚁通行证登录密码,原始密码使用RSA加密后传输,示例:a11111:JuZeA/DR9NJU8aJPONdq9ZMbXI2zNHyoq3MwOxmjjY17ItpsbyuaPrfKsOzVBX9IFKyfr1Whrhlbl4WbYu9q2Xai6mWCNTKbYwvCDuY+pjel6dkka+/kK5ZwWjsN2W6eWAf5TNdy2pqheI08ZMvv1gD6t5zIQBbLGh/rv19NTd2gMwSTO++5Onek9saJi8iG+W32AOPPBWcaMv6yNJJCyA0QloBY5qFQdTOoW8DAg3dyfmFEDWNrdUxBZdL5+ZUS7HdK4i+k+vATH7tX0isEA8F40wSNzrrgTX8Dq+NcGzrAlGpSAqxgUDcxog2hrhDXBl4puYfLHskHBNKhwv0BIw== + /// + [JsonProperty("login_password")] + public string LoginPassword { get; set; } + + /// + /// 蚂蚁通行证注册登录号,用于账户登录,邮箱、手机号等 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + + /// + /// 用户是否需要补全安全密码,true:需要补全,false:不需要补全。 默认为false,不需要补全。 + /// + [JsonProperty("need_supply")] + public bool NeedSupply { get; set; } + + /// + /// 蚂蚁通行证安全密码,通过RSA加密传输,示例:b111111:Dsz+toTsBnIwyG7IWuzshgwXxkHImAACx8yUb9PhP4+zyEV/xAPM/N9AdAFh0Di9xLG6syACSTn4KYMYs5GoSyaI2TJ0e2TcC8Gm5VJK0uinJVRhgWPnfsyiSl9amhObbPXtQgVO7szmYI8duChphFz0I2MKMOQVvWWF7Z9sSXZCfUGLPtL6ZS+xb3W9scczasR49IO8V49ll5NGzwFTvvc9yGPTxj3AIPbUPBG4byktfPWKoiRpTstGQORmAGPZT+gumEJxxpcATMcsnJMnHYfdrhEW8/VFleC5m5aaoCl2mdmEgh4X6NSt8MpgnUxhXwW090+dx3UQwU5pqGRvkw== + /// + [JsonProperty("security_password")] + public string SecurityPassword { get; set; } + + /// + /// 注册来源场景,shangshu_register--上树对接蚂蚁通行证,该场景登录号、登录密码、用户类型为必传参数 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 用户类型,1 -- 企业用户, 2 -- 个人用户 + /// + [JsonProperty("user_type")] + public string UserType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTokenThirdTrustLoginModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTokenThirdTrustLoginModel.cs new file mode 100644 index 0000000..d659e57 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasTokenThirdTrustLoginModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAntpaasTokenThirdTrustLoginModel Data Structure. + /// + [Serializable] + public class AlipayUserAntpaasTokenThirdTrustLoginModel : AopObject + { + /// + /// 登录的目标业务,目前已经分配的有autoins,代表车险业务 + /// + [JsonProperty("login_target")] + public string LoginTarget { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasUseridGetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasUseridGetModel.cs new file mode 100644 index 0000000..c47f283 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserAntpaasUseridGetModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserAntpaasUseridGetModel Data Structure. + /// + [Serializable] + public class AlipayUserAntpaasUseridGetModel : AopObject + { + /// + /// 账户登录号,邮箱或者手机号 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitCreateModel.cs new file mode 100644 index 0000000..c2530f0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitCreateModel.cs @@ -0,0 +1,104 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserBenefitCreateModel Data Structure. + /// + [Serializable] + public class AlipayUserBenefitCreateModel : AopObject + { + /// + /// 权益专区码,在创建权益前应该先向蚂蚁会员平台申请一个合适的专区码。 专区必须存在。 + /// + [JsonProperty("benefit_area_code")] + public string BenefitAreaCode { get; set; } + + /// + /// 权益图标地址 + /// + [JsonProperty("benefit_icon_url")] + public string BenefitIconUrl { get; set; } + + /// + /// 权益的名称 + /// + [JsonProperty("benefit_name")] + public string BenefitName { get; set; } + + /// + /// 是否将权益的名称用作专区的副标题, 若为true,则会使用该权益的名称自动覆盖所属专区的副标题(暂未实现) + /// + [JsonProperty("benefit_name_as_area_subtitle")] + public bool BenefitNameAsAreaSubtitle { get; set; } + + /// + /// 权益详情页面地址 + /// + [JsonProperty("benefit_page_url")] + public string BenefitPageUrl { get; set; } + + /// + /// 权益兑换消耗的积分数 + /// + [JsonProperty("benefit_point")] + public long BenefitPoint { get; set; } + + /// + /// 权益使用场景索引ID,接入时需要咨询@田豫如何取值 + /// + [JsonProperty("benefit_rec_biz_id")] + public string BenefitRecBizId { get; set; } + + /// + /// 支付宝商家券 ALIPAY_MERCHANT_COUPON 口碑商家券 KOUBEI_MERCHANT_COUPON 花呗分期免息券 HUABEI_FENQI_FREE_INTEREST_COUP 淘系通用券 + /// TAOBAO_COMMON_COUPON 淘系商家券 TAOBAO_MERCHANT_COUPON 国际线上商家券 INTER_ONLINE_MERCHANT_COUPON 国际线下商家券 + /// INTER_OFFLINE_MERCHANT_COUPON 通用商户权益 COMMON_MERCHANT_GOODS 其它 OTHERS, 接入是需要咨询@田豫如何选值 + /// + [JsonProperty("benefit_rec_type")] + public string BenefitRecType { get; set; } + + /// + /// 权益的副标题,用于补充描述权益 + /// + [JsonProperty("benefit_subtitle")] + public string BenefitSubtitle { get; set; } + + /// + /// 支付宝的营销活动id,若不走支付宝活动,则不需要填 + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// primary,golden,platinum,diamond分别对应大众、黄金、铂金、钻石会员等级。eligible_grade属性用于限制能够兑换当前权益的用户等级,用户必须不低于配置的等级才能进行兑换。如果没有等级要求,则不要填写该字段。 + /// + [JsonProperty("eligible_grade")] + public string EligibleGrade { get; set; } + + /// + /// 权益展示结束时间,使用Date.getTime()。结束时间必须大于起始时间。 + /// + [JsonProperty("end_time")] + public long EndTime { get; set; } + + /// + /// 兑换规则以及不满足该规则后给用户的提示文案,规则id和文案用:分隔;可配置多个,多个之间用,分隔。(分隔符皆是英文半角字符)规则id联系蚂蚁会员pd或运营提供 + /// + [JsonProperty("exchange_rule_ids")] + public string ExchangeRuleIds { get; set; } + + /// + /// 该权益对应每个等级会员的兑换折扣。等级和折扣用:分隔,多组折扣规则用:分隔。折扣0~1。分隔符皆为英文半角字符 + /// + [JsonProperty("grade_discount")] + public string GradeDiscount { get; set; } + + /// + /// 权益展示起始时间, 使用Date.getTime()。开始时间必须大于当前时间,且结束时间需要大于开始时间 + /// + [JsonProperty("start_time")] + public long StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitEditModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitEditModel.cs new file mode 100644 index 0000000..663dafe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitEditModel.cs @@ -0,0 +1,110 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserBenefitEditModel Data Structure. + /// + [Serializable] + public class AlipayUserBenefitEditModel : AopObject + { + /// + /// 权益专区码,在创建权益前应该先向蚂蚁会员平台申请一个合适的专区码。 专区必须存在。 + /// + [JsonProperty("benefit_area_code")] + public string BenefitAreaCode { get; set; } + + /// + /// 权益图标地址 + /// + [JsonProperty("benefit_icon_url")] + public string BenefitIconUrl { get; set; } + + /// + /// 权益的ID + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// 权益的名称 + /// + [JsonProperty("benefit_name")] + public string BenefitName { get; set; } + + /// + /// 是否将权益的名称用作专区的副标题, 若为true,则会使用该权益的名称自动覆盖所属专区的副标题(暂未实现) + /// + [JsonProperty("benefit_name_as_area_subtitle")] + public string BenefitNameAsAreaSubtitle { get; set; } + + /// + /// 权益详情页面地址 + /// + [JsonProperty("benefit_page_url")] + public string BenefitPageUrl { get; set; } + + /// + /// 权益兑换消耗的积分数(修改时必填,防止默认不传的时候被修改成0) + /// + [JsonProperty("benefit_point")] + public long BenefitPoint { get; set; } + + /// + /// 权益使用场景索引ID,接入时需要咨询@田豫如何取值 + /// + [JsonProperty("benefit_rec_biz_id")] + public string BenefitRecBizId { get; set; } + + /// + /// 支付宝商家券 ALIPAY_MERCHANT_COUPON 口碑商家券 KOUBEI_MERCHANT_COUPON 花呗分期免息券 HUABEI_FENQI_FREE_INTEREST_COUP 淘系通用券 + /// TAOBAO_COMMON_COUPON 淘系商家券 TAOBAO_MERCHANT_COUPON 国际线上商家券 INTER_ONLINE_MERCHANT_COUPON 国际线下商家券 + /// INTER_OFFLINE_MERCHANT_COUPON 通用商户权益 COMMON_MERCHANT_GOODS 其它 OTHERS, 接入是需要咨询@田豫如何选值 + /// + [JsonProperty("benefit_rec_type")] + public string BenefitRecType { get; set; } + + /// + /// 权益的副标题,用于补充描述权益 + /// + [JsonProperty("benefit_subtitle")] + public string BenefitSubtitle { get; set; } + + /// + /// 支付宝的营销活动id,若不走支付宝活动,则不需要填 + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// primary,golden,platinum,diamond分别对应大众、黄金、铂金、钻石会员等级。eligible_grade属性用于限制能够兑换当前权益的用户等级,用户必须不低于配置的等级才能进行兑换。如果没有等级要求,则不要填写该字段。 + /// + [JsonProperty("eligible_grade")] + public string EligibleGrade { get; set; } + + /// + /// 权益展示结束时间,填如自January 1, 1970, 00:00:00 GMT到目标时间的毫秒数,参考(new Date()).getTime() + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 兑换规则以及不满足该规则后给用户的提示文案,规则id和文案用:分隔;可配置多个,多个之间用,分隔。(分隔符皆是英文半角字符)规则id联系蚂蚁会员pd或运营提供 + /// + [JsonProperty("exchange_rule_ids")] + public string ExchangeRuleIds { get; set; } + + /// + /// 该权益对应每个等级会员的兑换折扣。等级和折扣用:分隔,多组折扣规则用:分隔。折扣0~1。分隔符皆为英文半角字符 + /// + [JsonProperty("grade_discount")] + public string GradeDiscount { get; set; } + + /// + /// 权益展示起始时间,填如自January 1, 1970, 00:00:00 GMT到目标时间的毫秒数,参考(new Date()).getTime() + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitStatusUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitStatusUpdateModel.cs new file mode 100644 index 0000000..d9e43b9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserBenefitStatusUpdateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserBenefitStatusUpdateModel Data Structure. + /// + [Serializable] + public class AlipayUserBenefitStatusUpdateModel : AopObject + { + /// + /// 权益的ID + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// YES表示当前操作的是会员3.0权益,NO表示当前操作的是改版之前的权益 + /// + [JsonProperty("benefit_new_flag")] + public string BenefitNewFlag { get; set; } + + /// + /// 1:上线, 0:下线, 2:失效; 上线状态所有人可见,不可编辑; 下线状态白名单可见,可以编辑; 失效状态所有人不可见,不可编辑。 + /// + [JsonProperty("benefit_status")] + public string BenefitStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocDrivingLicense.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocDrivingLicense.cs new file mode 100644 index 0000000..7a4ca8b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocDrivingLicense.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCertDocDrivingLicense Data Structure. + /// + [Serializable] + public class AlipayUserCertDocDrivingLicense : AopObject + { + /// + /// 准驾车型 + /// + [JsonProperty("clazz")] + public string Clazz { get; set; } + + /// + /// 证号 + /// + [JsonProperty("driving_license_no")] + public string DrivingLicenseNo { get; set; } + + /// + /// base64后的主页照片 + /// + [JsonProperty("encoded_img_main")] + public string EncodedImgMain { get; set; } + + /// + /// base64编码后的副页图片 + /// + [JsonProperty("encoded_img_vice")] + public string EncodedImgVice { get; set; } + + /// + /// 失效日期 + /// + [JsonProperty("expire_date")] + public string ExpireDate { get; set; } + + /// + /// 档案编号 + /// + [JsonProperty("file_no")] + public string FileNo { get; set; } + + /// + /// 姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 生效日期 + /// + [JsonProperty("valide_date")] + public string ValideDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocIDCard.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocIDCard.cs new file mode 100644 index 0000000..f9e41c0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocIDCard.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCertDocIDCard Data Structure. + /// + [Serializable] + public class AlipayUserCertDocIDCard : AopObject + { + /// + /// 身份证国徽页照片BASE64编码 + /// + [JsonProperty("encoded_img_emblem")] + public string EncodedImgEmblem { get; set; } + + /// + /// 头像页照片BASE64编码 + /// + [JsonProperty("encoded_img_identity")] + public string EncodedImgIdentity { get; set; } + + /// + /// 有效期至 + /// + [JsonProperty("expire_date")] + public string ExpireDate { get; set; } + + /// + /// 身份证姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 身份证号码 + /// + [JsonProperty("number")] + public string Number { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocPassport.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocPassport.cs new file mode 100644 index 0000000..308e887 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocPassport.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCertDocPassport Data Structure. + /// + [Serializable] + public class AlipayUserCertDocPassport : AopObject + { + /// + /// base64编码后的主页照片 + /// + [JsonProperty("encoded_img")] + public string EncodedImg { get; set; } + + /// + /// 失效日期 + /// + [JsonProperty("expire_date")] + public string ExpireDate { get; set; } + + /// + /// 姓氏,拼音 + /// + [JsonProperty("family_name")] + public string FamilyName { get; set; } + + /// + /// 名,拼音 + /// + [JsonProperty("given_name")] + public string GivenName { get; set; } + + /// + /// 证件号码 + /// + [JsonProperty("number")] + public string Number { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocVehicleLicense.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocVehicleLicense.cs new file mode 100644 index 0000000..2ae9e23 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCertDocVehicleLicense.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCertDocVehicleLicense Data Structure. + /// + [Serializable] + public class AlipayUserCertDocVehicleLicense : AopObject + { + /// + /// base64编码后的主页照片 + /// + [JsonProperty("encoded_img_main")] + public string EncodedImgMain { get; set; } + + /// + /// base64编码后的副页照片 + /// + [JsonProperty("encoded_img_vice")] + public string EncodedImgVice { get; set; } + + /// + /// 发动机号码 + /// + [JsonProperty("engine_no")] + public string EngineNo { get; set; } + + /// + /// 发证日期 + /// + [JsonProperty("issue_date")] + public string IssueDate { get; set; } + + /// + /// 品牌型号 + /// + [JsonProperty("model")] + public string Model { get; set; } + + /// + /// 所有人 + /// + [JsonProperty("owner")] + public string Owner { get; set; } + + /// + /// 号牌号码 + /// + [JsonProperty("plate_no")] + public string PlateNo { get; set; } + + /// + /// 注册日期 + /// + [JsonProperty("register_date")] + public string RegisterDate { get; set; } + + /// + /// 车辆识别代号 + /// + [JsonProperty("vin")] + public string Vin { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityForestQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityForestQueryModel.cs new file mode 100644 index 0000000..bd2a42e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityForestQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCharityForestQueryModel Data Structure. + /// + [Serializable] + public class AlipayUserCharityForestQueryModel : AopObject + { + /// + /// 用户的支付宝账户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityForestSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityForestSendModel.cs new file mode 100644 index 0000000..a0de867 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityForestSendModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCharityForestSendModel Data Structure. + /// + [Serializable] + public class AlipayUserCharityForestSendModel : AopObject + { + /// + /// 唯一单据号,用于发能量幂等控制 + /// + [JsonProperty("biz_no")] + public string BizNo { get; set; } + + /// + /// 业务发生时间 + /// + [JsonProperty("biz_time")] + public string BizTime { get; set; } + + /// + /// 能量值,最小1g,最大100kg(100,000),不能有小数 + /// + [JsonProperty("energy")] + public long Energy { get; set; } + + /// + /// 能量气泡类型 + /// + [JsonProperty("energy_type")] + public string EnergyType { get; set; } + + /// + /// 业务来源 + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 用户的支付宝账户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityRecordexistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityRecordexistQueryModel.cs new file mode 100644 index 0000000..8a5a433 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCharityRecordexistQueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCharityRecordexistQueryModel Data Structure. + /// + [Serializable] + public class AlipayUserCharityRecordexistQueryModel : AopObject + { + /// + /// 公益的业务类型(缺省是所有类型) + /// + [JsonProperty("biz_type")] + public long BizType { get; set; } + + /// + /// 捐赠记录的结束时间(默认是查询当前自然年一年的记录) + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 商户和支付宝交互时,用于代表支付宝分配给商户ID + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 捐赠记录的开始时间(默认是查询当前自然年一年的记录) + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 蚂蚁统一会员ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCreditCard.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCreditCard.cs new file mode 100644 index 0000000..ab97d50 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCreditCard.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCreditCard Data Structure. + /// + [Serializable] + public class AlipayUserCreditCard : AopObject + { + /// + /// 信用卡卡号,显示前6后2 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 开户行代码 + /// + [JsonProperty("inst_id")] + public string InstId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCustIdentifyActivity.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCustIdentifyActivity.cs new file mode 100644 index 0000000..7cf5388 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCustIdentifyActivity.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCustIdentifyActivity Data Structure. + /// + [Serializable] + public class AlipayUserCustIdentifyActivity : AopObject + { + /// + /// 活动扩展信息,预留字段。例如通过连接引导参加运营活动,包含活动链接(或者参与方式)及活动信息。 + /// + [JsonProperty("activity_info")] + public string ActivityInfo { get; set; } + + /// + /// 活动名称 + /// + [JsonProperty("activity_name")] + public string ActivityName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCustomerIdentifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCustomerIdentifyModel.cs new file mode 100644 index 0000000..c022f03 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserCustomerIdentifyModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserCustomerIdentifyModel Data Structure. + /// + [Serializable] + public class AlipayUserCustomerIdentifyModel : AopObject + { + /// + /// 预留参数,用于商户区分同一appId下的不同业务场景。默认场景不用传。 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 设备及环境信息 + /// + [JsonProperty("device_info")] + public AlipayUserDeviceInfo DeviceInfo { get; set; } + + /// + /// 预留业务扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 用户主体信息。要求AlipayUserPrincipalInfo中的user_id、mobile、email属性,有且只有一个非空。否则接口会忽略除去优先级最高的属性之外的其他属性。 + /// + [JsonProperty("principal")] + public AlipayUserPrincipalInfo Principal { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDeliverAddress.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDeliverAddress.cs new file mode 100644 index 0000000..7c68614 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDeliverAddress.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserDeliverAddress Data Structure. + /// + [Serializable] + public class AlipayUserDeliverAddress : AopObject + { + /// + /// 地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 区域编码 + /// + [JsonProperty("address_code")] + public string AddressCode { get; set; } + + /// + /// 是否默认收货地址 + /// + [JsonProperty("default_deliver_address")] + public string DefaultDeliverAddress { get; set; } + + /// + /// 区/县 + /// + [JsonProperty("deliver_area")] + public string DeliverArea { get; set; } + + /// + /// 市 + /// + [JsonProperty("deliver_city")] + public string DeliverCity { get; set; } + + /// + /// 收货人全名 + /// + [JsonProperty("deliver_fullname")] + public string DeliverFullname { get; set; } + + /// + /// 收货地址的联系人移动电话 + /// + [JsonProperty("deliver_mobile")] + public string DeliverMobile { get; set; } + + /// + /// 收货地址的联系人固定电话 + /// + [JsonProperty("deliver_phone")] + public string DeliverPhone { get; set; } + + /// + /// 省 + /// + [JsonProperty("deliver_province")] + public string DeliverProvince { get; set; } + + /// + /// 邮编 + /// + [JsonProperty("zip")] + public string Zip { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDetail.cs new file mode 100644 index 0000000..3658bcd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDetail.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserDetail Data Structure. + /// + [Serializable] + public class AlipayUserDetail : AopObject + { + /// + /// 支付宝用户userId + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 是否通过实名认证 + /// + [JsonProperty("certified")] + public bool Certified { get; set; } + + /// + /// 支付宝登录号 + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + + /// + /// 真实姓名 + /// + [JsonProperty("real_name")] + public string RealName { get; set; } + + /// + /// 性别。可选值:m(男),f(女) + /// + [JsonProperty("sex")] + public string Sex { get; set; } + + /// + /// 用户状态。可选:normal(正常), supervise (监管),delete(注销) + /// + [JsonProperty("user_status")] + public string UserStatus { get; set; } + + /// + /// 用户类型。可选:personal(个人),company(公司) + /// + [JsonProperty("user_type")] + public string UserType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDeviceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDeviceInfo.cs new file mode 100644 index 0000000..746b4a4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserDeviceInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserDeviceInfo Data Structure. + /// + [Serializable] + public class AlipayUserDeviceInfo : AopObject + { + /// + /// 扩展信息,json格式的字符串 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 移动设备国际身份码缩写:移动设备国际身份码缩写。仅移动端 + /// + [JsonProperty("imei")] + public string Imei { get; set; } + + /// + /// ipv4地址 + /// + [JsonProperty("ip")] + public string Ip { get; set; } + + /// + /// mac地址,冒号分隔 + /// + [JsonProperty("mac")] + public string Mac { get; set; } + + /// + /// 操作系统名称 + /// + [JsonProperty("os_name")] + public string OsName { get; set; } + + /// + /// 操作系统版本号 + /// + [JsonProperty("os_version")] + public string OsVersion { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserFinanceinfoShareModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserFinanceinfoShareModel.cs new file mode 100644 index 0000000..88c7580 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserFinanceinfoShareModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserFinanceinfoShareModel Data Structure. + /// + [Serializable] + public class AlipayUserFinanceinfoShareModel : AopObject + { + /// + /// 支付宝会员的userId + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserGradeAuthbaseQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserGradeAuthbaseQueryModel.cs new file mode 100644 index 0000000..a8312bf --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserGradeAuthbaseQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserGradeAuthbaseQueryModel Data Structure. + /// + [Serializable] + public class AlipayUserGradeAuthbaseQueryModel : AopObject + { + /// + /// 用户的支付宝账户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInfoAuthModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInfoAuthModel.cs new file mode 100644 index 0000000..05f7b76 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInfoAuthModel.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserInfoAuthModel Data Structure. + /// + [Serializable] + public class AlipayUserInfoAuthModel : AopObject + { + /// + /// 接口权限值,目前只支持auth_user和auth_base两个值。 + /// auth_base:以auth_base为scope发起的网页授权,是用来获取进入页面的用户的userId的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(通常是业务页面)。 + /// auth_user:以auth_user为scope发起的网页授权,是用来获取用户的基本信息的(比如头像、昵称等)。但这种授权需要用户手动同意,用户同意后,就可在授权后获取到该用户的基本信息。 + /// + [JsonProperty("scopes")] + + public List Scopes { get; set; } + + /// + /// 商户自定义参数,用户授权后,重定向到redirect_uri时会原样回传给商户。 为防止CSRF攻击,建议开发者请求授权时传入state参数,该参数要做到既不可预测,又可以证明客户端和当前第三方网站的登录认证状态存在关联。 + /// 只允许base64字符(长度小于等于100) + /// + [JsonProperty("state")] + public string State { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInfoVerifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInfoVerifyModel.cs new file mode 100644 index 0000000..5e1aa49 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInfoVerifyModel.cs @@ -0,0 +1,22 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserInfoVerifyModel Data Structure. + /// + [Serializable] + public class AlipayUserInfoVerifyModel : AopObject + { + /// + /// JSON字符串,格式如下: { principalInfo:{ userId: "用户的userId"}, subRequests:[ { + /// type:"字段类型,支持的类型见后续说明", value:"字段值" } ] } 说明: + /// (1)入参中的principalInfo信息用于指示待检查的用户,目前支持userId。 + /// (2)subRequests为待检查的信息项,会与principalInfo所指示的用户留存在支付宝的信息进行匹配;数组类型,支持多种字段的校验;其中type为信息类型,value为信息值。 (3)type目前支持的类型: + /// 手机:mobile 姓名:realName + /// + [JsonProperty("request")] + public string Request { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInviteAwardReceiveModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInviteAwardReceiveModel.cs new file mode 100644 index 0000000..1db9727 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserInviteAwardReceiveModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserInviteAwardReceiveModel Data Structure. + /// + [Serializable] + public class AlipayUserInviteAwardReceiveModel : AopObject + { + /// + /// 用户扫码抽奖输入的手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 外部业务方代码 + /// + [JsonProperty("out_biz_code")] + public string OutBizCode { get; set; } + + /// + /// 外部业务号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserLevelInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserLevelInfo.cs new file mode 100644 index 0000000..6ddec22 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserLevelInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserLevelInfo Data Structure. + /// + [Serializable] + public class AlipayUserLevelInfo : AopObject + { + /// + /// 支付宝用户登陆账号;邮箱优先,手机号次之 + /// + [JsonProperty("login_id")] + public string LoginId { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 用户等级:可选5、4、3、2、1、0;等级5最高,1最低,0标示无法判断 + /// + [JsonProperty("user_level")] + public string UserLevel { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewbenefitCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewbenefitCreateModel.cs new file mode 100644 index 0000000..aa46e2c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewbenefitCreateModel.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserNewbenefitCreateModel Data Structure. + /// + [Serializable] + public class AlipayUserNewbenefitCreateModel : AopObject + { + /// + /// 关联的专区码,需要联系蚂蚁会员平台的业务负责人进行专区码分配 + /// + [JsonProperty("area_code")] + public string AreaCode { get; set; } + + /// + /// 权益的名称,由调用方自行定义 + /// + [JsonProperty("benefit_name")] + public string BenefitName { get; set; } + + /// + /// 权益的副标题,用于补充描述权益 + /// + [JsonProperty("benefit_sub_title")] + public string BenefitSubTitle { get; set; } + + /// + /// 权益详情描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// Y表示差异化,N表示非差异化;差异化的权益需要为四个等级分别配置等级配置,包括积分、折扣、跳转页面等信息;非差异化的权益只需要配置一个通用的等级配置 + /// + [JsonProperty("differentiation")] + public string Differentiation { get; set; } + + /// + /// 当权益为非差异化时,该字段生效,用于控制允许兑换权益的等级 + /// + [JsonProperty("eligible_grade_desc")] + public string EligibleGradeDesc { get; set; } + + /// + /// 权益展示结束时间,使用Date.getTime()。结束时间必须大于起始时间。 + /// + [JsonProperty("end_dt")] + public long EndDt { get; set; } + + /// + /// 兑换规则以及不满足该规则后给用户的提示文案,规则id和文案用:分隔;可配置多个,多个之间用,分隔。(分隔符皆是英文半角字符)规则id联系蚂蚁会员pd或运营提供 + /// + [JsonProperty("exchange_rule_ids")] + public string ExchangeRuleIds { get; set; } + + /// + /// 权益等级配置 + /// + [JsonProperty("grade_config")] + + public List GradeConfig { get; set; } + + /// + /// 权益展示时的图标地址,由商户上传图片到合适的存储平台,然后将图片的地址传入 + /// + [JsonProperty("icon_url")] + public string IconUrl { get; set; } + + /// + /// 权益展示的起始时间戳,使用Date.getTime()获得 + /// + [JsonProperty("start_dt")] + public long StartDt { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewbenefitModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewbenefitModifyModel.cs new file mode 100644 index 0000000..89c801c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewbenefitModifyModel.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserNewbenefitModifyModel Data Structure. + /// + [Serializable] + public class AlipayUserNewbenefitModifyModel : AopObject + { + /// + /// 权益关联的专区码 ,需要联系蚂蚁会员平台的业务负责人进行专区码分配 + /// + [JsonProperty("area_code")] + public string AreaCode { get; set; } + + /// + /// 权益Id,用于定位需要编辑的权益,通过权益创建接口获取得到,调用创建接口后,将权益Id妥善存储,编辑时传入 + /// + [JsonProperty("benefit_id")] + public long BenefitId { get; set; } + + /// + /// 权益的名称,由商户自行定义 + /// + [JsonProperty("benefit_name")] + public string BenefitName { get; set; } + + /// + /// 权益的副标题,用于补充描述权益 + /// + [JsonProperty("benefit_sub_title")] + public string BenefitSubTitle { get; set; } + + /// + /// 权益详情描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 当权益为非差异化时,该字段生效,用于控制允许兑换权益的等级 + /// + [JsonProperty("eligible_grade_desc")] + public string EligibleGradeDesc { get; set; } + + /// + /// 权益展示结束时间,使用Date.getTime()。结束时间必须大于起始时间。 + /// + [JsonProperty("end_dt")] + public long EndDt { get; set; } + + /// + /// 兑换规则以及不满足该规则后给用户的提示文案,规则id和文案用:分隔;可配置多个,多个之间用,分隔。(分隔符皆是英文半角字符)规则id联系蚂蚁会员pd或运营提供 + /// + [JsonProperty("exchange_rule_ids")] + public string ExchangeRuleIds { get; set; } + + /// + /// 权益等级配置 + /// + [JsonProperty("grade_config")] + + public List GradeConfig { get; set; } + + /// + /// 权益展示时的图标地址,由商户上传图片到合适的存储平台,然后将图片的地址传入 + /// + [JsonProperty("icon_url")] + public string IconUrl { get; set; } + + /// + /// 需要被移除的等级配置 + /// + [JsonProperty("remove_grades")] + public string RemoveGrades { get; set; } + + /// + /// 权益展示的起始时间戳,使用Date.getTime()获得 + /// + [JsonProperty("start_dt")] + public long StartDt { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewsceneTagQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewsceneTagQueryModel.cs new file mode 100644 index 0000000..5a6d5e8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserNewsceneTagQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserNewsceneTagQueryModel Data Structure. + /// + [Serializable] + public class AlipayUserNewsceneTagQueryModel : AopObject + { + /// + /// 用户主体信息。要求AlipayUserPrincipalInfo中的user_id、mobile(不加国家码)、email属性,有且只有一个非空。否则接口会忽略除去优先级最高的属性之外的其他属性。user_id优先级最高,mobile次之,email最后 + /// + [JsonProperty("principal")] + public AlipayUserPrincipalInfo Principal { get; set; } + + /// + /// 要查询哪些新的标签,多个场景请用,隔开。注意该字段受scene控制,支付宝会给scene分配可以查询的标签,无效的请求会报参数异常 + /// + [JsonProperty("query_tags")] + public string QueryTags { get; set; } + + /// + /// 调用该接口的场景,由支付宝分配,如果是无效场景,将视为无效访问,并且该场景约束所查新标签的类型,如果不符合则报参数异常 + /// + [JsonProperty("scene")] + public string Scene { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPicture.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPicture.cs new file mode 100644 index 0000000..3b4406e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPicture.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserPicture Data Structure. + /// + [Serializable] + public class AlipayUserPicture : AopObject + { + /// + /// 图片类型,包括身份证正反面、营业执照等 + /// + [JsonProperty("picture_type")] + public string PictureType { get; set; } + + /// + /// 用于调用alipay.user.certify.image.fetch接口,获取图片资源 + /// + [JsonProperty("picture_url")] + public string PictureUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPointDeductModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPointDeductModel.cs new file mode 100644 index 0000000..bd57b88 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPointDeductModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserPointDeductModel Data Structure. + /// + [Serializable] + public class AlipayUserPointDeductModel : AopObject + { + /// + /// 蚂蚁会员平台上的权益所对应的编号 + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// 格式为yyyy-MM-dd HH:mm:ss ,业务操作时间用于对账,不传则以调用请求的当前时间计算 + /// + [JsonProperty("biz_date")] + public string BizDate { get; set; } + + /// + /// 业务大类,表明此次调用的来源,若无需要则不传。 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 业务流水号,会用于幂等性校验,所以请保证每次请求的业务流水号的唯一性 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 业务子类型,表明业务来源实际操作的业务分类,若无需要则不传。 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPointRefundModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPointRefundModel.cs new file mode 100644 index 0000000..9f566a2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPointRefundModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserPointRefundModel Data Structure. + /// + [Serializable] + public class AlipayUserPointRefundModel : AopObject + { + /// + /// 业务大类,与调用扣减积分接口时传入的值一致。 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 业务流水号,用来映射需要回退积分的订单号,与调用扣减积分接口时传入的值一致。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 业务子类型,与调用扣减积分接口时传入的值一致。 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + + /// + /// 订单所属支付宝用户的uid,与调用扣减积分接口时传入的值一致。 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPrincipalInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPrincipalInfo.cs new file mode 100644 index 0000000..ef15cf4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserPrincipalInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserPrincipalInfo Data Structure. + /// + [Serializable] + public class AlipayUserPrincipalInfo : AopObject + { + /// + /// 用户电子邮箱 + /// + [JsonProperty("email")] + public string Email { get; set; } + + /// + /// 用户的手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 支付宝userId + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserSceneCooperationConsultModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserSceneCooperationConsultModel.cs new file mode 100644 index 0000000..70693ba --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserSceneCooperationConsultModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserSceneCooperationConsultModel Data Structure. + /// + [Serializable] + public class AlipayUserSceneCooperationConsultModel : AopObject + { + /// + /// 用户主体信息。要求AlipayUserPrincipalInfo中的user_id、mobile(不加国家码)、email属性,有且只有一个非空。否则接口会忽略除去优先级最高的属性之外的其他属性。user_id优先级最高,mobile次之,email最后 + /// + [JsonProperty("principal")] + public AlipayUserPrincipalInfo Principal { get; set; } + + /// + /// 商户的场景定义,需要支付宝对接入场景进行配置。 + /// + [JsonProperty("scene")] + public string Scene { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterDataBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterDataBatchqueryModel.cs new file mode 100644 index 0000000..e1559b8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterDataBatchqueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserStepcounterDataBatchqueryModel Data Structure. + /// + [Serializable] + public class AlipayUserStepcounterDataBatchqueryModel : AopObject + { + /// + /// 步数数据查询的结束日期。此日期不能小于步数查询的开始日期 + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 请求方唯一标识。每一个外部商户都会分配一个业务方标识,请使用钉钉联系支付宝小二骁然获取此标识 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 步数数据查询的开始日期 + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + + /// + /// 用户的计步时区。若此参数为空,则返回所有时区的步数信息。 + /// + [JsonProperty("time_zone")] + public string TimeZone { get; set; } + + /// + /// 支付宝用户唯一用户id。为2088开头id号,需通过alipay.user.info.share接口获取此值 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterQueryModel.cs new file mode 100644 index 0000000..67a9c60 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserStepcounterQueryModel Data Structure. + /// + [Serializable] + public class AlipayUserStepcounterQueryModel : AopObject + { + /// + /// 商户要查询步数的日期。如果不传入此参数,则返回用户当日步数。 + /// + [JsonProperty("count_date")] + public string CountDate { get; set; } + + /// + /// 请求方唯一标识。每一个外部商户都会分配一个业务方标识,请使用钉钉联系支付宝小二骁然获取此标识。 + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 商户要查询步数的时区,此参数只在查询当日用户步数时有效。若此参数为空,则以用户当时所在时区返回步数。 + /// + [JsonProperty("time_zone")] + public string TimeZone { get; set; } + + /// + /// 支付宝用户唯一用户id。为2088开头id号,需通过alipay.user.userinfo.share接口获取此值 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterSyncModel.cs new file mode 100644 index 0000000..8f6255a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserStepcounterSyncModel.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserStepcounterSyncModel Data Structure. + /// + [Serializable] + public class AlipayUserStepcounterSyncModel : AopObject + { + /// + /// 年龄数据。是外部商户系统中录入的用户年龄数据 + /// + [JsonProperty("age")] + public long Age { get; set; } + + /// + /// 卡路里。是商户系统通过用户运动设备(如手环)读取到的用户运动卡路里值 + /// + [JsonProperty("calorie")] + public string Calorie { get; set; } + + /// + /// 步数。商户系统通过用户运动设备(如手环)读取到的用户当日步数值 + /// + [JsonProperty("count")] + public long Count { get; set; } + + /// + /// 业务方标识。步数来源的唯一标识,每一个外部商户都会分配一个业务方标识,请使用钉钉联系支付宝小二骁然获取此标识 + /// + [JsonProperty("data_provider")] + public string DataProvider { get; set; } + + /// + /// 运动距离。是外部商户系统从用户设备中读取到的用户步行距离,单位:米 + /// + [JsonProperty("distance")] + public long Distance { get; set; } + + /// + /// 身高数据。是外部商户系统中录入的用户身高数据,单位:cm + /// + [JsonProperty("height")] + public string Height { get; set; } + + /// + /// 位置纬度。是商户系统从用户设备中读取到的用户位置纬度,必须使用wgs84坐标集 + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 位置经度。是商户系统从用户客户端设备中读取到的用户位置经度,必须使用wgs84坐标集 + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 商户系统的用户uid。是外部商户系统中的用户唯一id + /// + [JsonProperty("out_user_id")] + public string OutUserId { get; set; } + + /// + /// 步数更新时间。用户步数上报到商户服务端的时间 + /// + [JsonProperty("time")] + public string Time { get; set; } + + /// + /// 用户时区。外部商户系统从用户运动设备中读取到的设备时区 + /// + [JsonProperty("time_zone")] + public string TimeZone { get; set; } + + /// + /// 支付宝用户id。为2088开头id号,需通过alipay.user.userinfo.share接口获取此值 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 体重数据。是外部商户系统中录入的用户体重数据,单位:kg + /// + [JsonProperty("weight")] + public string Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserUnicomCardInfoSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserUnicomCardInfoSyncModel.cs new file mode 100644 index 0000000..65f1ae2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserUnicomCardInfoSyncModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserUnicomCardInfoSyncModel Data Structure. + /// + [Serializable] + public class AlipayUserUnicomCardInfoSyncModel : AopObject + { + /// + /// 状态发生变更的时间,返回自January 1, 1970, 00:00:00 GMT至手机号状态变更发生时的毫秒数, java代码获取示例:new Date().getTime() + /// + [JsonProperty("gmt_status_change")] + public string GmtStatusChange { get; set; } + + /// + /// 状态发生变更的用户的联通手机号码(11位,不含国家码) + /// + [JsonProperty("phone_no")] + public string PhoneNo { get; set; } + + /// + /// 联通手机号码状态(激活: CARD_ACTIVE, 注销: CARD_CLOSE) + /// + [JsonProperty("phone_no_status")] + public string PhoneNoStatus { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserUnicomOrderInfoSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserUnicomOrderInfoSyncModel.cs new file mode 100644 index 0000000..88052cb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayUserUnicomOrderInfoSyncModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayUserUnicomOrderInfoSyncModel Data Structure. + /// + [Serializable] + public class AlipayUserUnicomOrderInfoSyncModel : AopObject + { + /// + /// 订单变更时间,返回自January 1, 1970, 00:00:00 GMT至订单变更时刻的毫秒数, java代码获取示例:new Date().getTime() + /// + [JsonProperty("gmt_order_change")] + public string GmtOrderChange { get; set; } + + /// + /// 用户在联通开卡创建的订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 订单变更类型,包括创建(ORDER_CREATE)、撤销(ORDER_CANCEL)、支付(ORDER_PAID)等 + /// + [JsonProperty("order_operate_type")] + public string OrderOperateType { get; set; } + + /// + /// 用户在创建开卡订单时选择的联通号码(11位,不带国家码) + /// + [JsonProperty("phone_no")] + public string PhoneNo { get; set; } + + /// + /// 联通资费产品名称 + /// + [JsonProperty("product_name")] + public string ProductName { get; set; } + + /// + /// 参数校验值 + /// + [JsonProperty("sec_key")] + public string SecKey { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayYebLqdDataResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayYebLqdDataResult.cs new file mode 100644 index 0000000..ee79dae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayYebLqdDataResult.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayYebLqdDataResult Data Structure. + /// + [Serializable] + public class AlipayYebLqdDataResult : AopObject + { + /// + /// 申购预测,单位:元 + /// + [JsonProperty("predict_purchase_amt")] + public string PredictPurchaseAmt { get; set; } + + /// + /// 赎回预测,单位:元 + /// + [JsonProperty("predict_redeem_amt")] + public string PredictRedeemAmt { get; set; } + + /// + /// 预测日期,格式为yyyymmdd + /// + [JsonProperty("target_date")] + public string TargetDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayZmScoreZrankResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayZmScoreZrankResult.cs new file mode 100644 index 0000000..1c9a256 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlipayZmScoreZrankResult.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlipayZmScoreZrankResult Data Structure. + /// + [Serializable] + public class AlipayZmScoreZrankResult : AopObject + { + /// + /// 芝麻分分段 Z0-Z7 + /// + [JsonProperty("zrank")] + public string Zrank { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReport.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReport.cs new file mode 100644 index 0000000..379e77a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReport.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlisisReport Data Structure. + /// + [Serializable] + public class AlisisReport : AopObject + { + /// + /// : 报表可过滤字段条件 + /// + [JsonProperty("conditions")] + + public List Conditions { get; set; } + + /// + /// 报表描述 + /// + [JsonProperty("report_desc")] + public string ReportDesc { get; set; } + + /// + /// 报表名称 + /// + [JsonProperty("report_name")] + public string ReportName { get; set; } + + /// + /// 报表唯一标识 + /// + [JsonProperty("report_uk")] + public string ReportUk { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReportColumn.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReportColumn.cs new file mode 100644 index 0000000..74d5f60 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReportColumn.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlisisReportColumn Data Structure. + /// + [Serializable] + public class AlisisReportColumn : AopObject + { + /// + /// 列别名 + /// + [JsonProperty("alias")] + public string Alias { get; set; } + + /// + /// 列值 + /// + [JsonProperty("data")] + public string Data { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReportRow.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReportRow.cs new file mode 100644 index 0000000..cec3a25 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlisisReportRow.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlisisReportRow Data Structure. + /// + [Serializable] + public class AlisisReportRow : AopObject + { + /// + /// 报表行信息,每个对象是一列的数据 + /// + [JsonProperty("row_data")] + + public List RowData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlmReportData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlmReportData.cs new file mode 100644 index 0000000..05a48eb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AlmReportData.cs @@ -0,0 +1,49 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AlmReportData Data Structure. + /// + [Serializable] + public class AlmReportData : AopObject + { + /// + /// 数据大类 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 期限类别 + /// + [JsonProperty("date_type")] + public string DateType { get; set; } + + /// + /// 数据日期 + /// + [JsonProperty("report_date")] + public string ReportDate { get; set; } + + /// + /// 报表名称 + /// + [JsonProperty("report_name")] + public string ReportName { get; set; } + + /// + /// 报表数据,只支持整数(可为负),详细见下面描述。 金额单位:分,1万即传 1000000 百分比:乘以1万后的值。例如:50%,则提供 0.5*10000即:5000 + /// 偏离度bp:bp*1万提供。例如:30.5bp,提供值:305000 + /// + [JsonProperty("report_value")] + public long ReportValue { get; set; } + + /// + /// 报表小类 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceAssignQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceAssignQueryModel.cs new file mode 100644 index 0000000..213530a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceAssignQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandAssetproduceAssignQueryModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandAssetproduceAssignQueryModel : AopObject + { + /// + /// 每次拉取最大记录数量,可选值为[1,200] ; + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceAssignSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceAssignSyncModel.cs new file mode 100644 index 0000000..560e44f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceAssignSyncModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandAssetproduceAssignSyncModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandAssetproduceAssignSyncModel : AopObject + { + /// + /// 生产指令接收情况,最多200条 + /// + [JsonProperty("asset_results")] + + public List AssetResults { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceCompleteSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceCompleteSyncModel.cs new file mode 100644 index 0000000..67cdc67 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandAssetproduceCompleteSyncModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandAssetproduceCompleteSyncModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandAssetproduceCompleteSyncModel : AopObject + { + /// + /// 物料生产单完成后指定物流信息 + /// + [JsonProperty("asset_produce_details")] + + public List AssetProduceDetails { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandContractFacetofaceQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandContractFacetofaceQueryModel.cs new file mode 100644 index 0000000..844cc75 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandContractFacetofaceQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandContractFacetofaceQueryModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandContractFacetofaceQueryModel : AopObject + { + /// + /// 支付宝端商户入驻申请单据号,通过调用ant.merchant.expand.contract.facetoface.sign接口返回的参数中获取 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + + /// + /// 外部入驻申请单据号,必须跟ant.merchant.expand.contract.facetoface.sign中的out_biz_no值保持一致 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandContractFacetofaceSignModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandContractFacetofaceSignModel.cs new file mode 100644 index 0000000..07b1cac --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandContractFacetofaceSignModel.cs @@ -0,0 +1,88 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandContractFacetofaceSignModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandContractFacetofaceSignModel : AopObject + { + /// + /// 营业执照授权函图片,个体工商户如果使用总公司或其他公司的营业执照认证需上传该授权函图片,通过ant.merchant.expand.image.upload接口上传营业执照授权函图片 + /// + [JsonProperty("business_license_auth_pic")] + public string BusinessLicenseAuthPic { get; set; } + + /// + /// 营业执照号码 + /// + [JsonProperty("business_license_no")] + public string BusinessLicenseNo { get; set; } + + /// + /// 营业执照图片,通过ant.merchant.expand.image.upload接口上传营业执照图片 + /// + [JsonProperty("business_license_pic")] + public string BusinessLicensePic { get; set; } + + /// + /// 联系人邮箱地址 + /// + [JsonProperty("contact_email")] + public string ContactEmail { get; set; } + + /// + /// 联系人手机号 + /// + [JsonProperty("contact_mobile")] + public string ContactMobile { get; set; } + + /// + /// 企业联系人名称 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 所属MCCCode,详情可参考 + /// + /// 商家经营类目 + /// + /// 中的“经营类目编码” + /// + [JsonProperty("mcc_code")] + public string MccCode { get; set; } + + /// + /// 外部入驻申请单据号,由开发者生成,并需保证在开发者端不重复 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 店铺内景图片,个人账户必填,企业账户选填,通过ant.merchant.expand.image.upload接口上传店铺内景图片 + /// + [JsonProperty("shop_scene_pic")] + public string ShopScenePic { get; set; } + + /// + /// 店铺门头照图片,个人账户必填,企业账户选填,通过ant.merchant.expand.image.upload接口上传店铺门头照图片 + /// + [JsonProperty("shop_sign_board_pic")] + public string ShopSignBoardPic { get; set; } + + /// + /// 企业特殊资质图片,可参考 + /// + /// 商家经营类目 + /// + /// 中的“需要的特殊资质证书” 通过ant.merchant.expand.image.upload接口上传企业特殊资质图片 + /// + [JsonProperty("special_license_pic")] + public string SpecialLicensePic { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandEnterpriseApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandEnterpriseApplyModel.cs new file mode 100644 index 0000000..c3f76d4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandEnterpriseApplyModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandEnterpriseApplyModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandEnterpriseApplyModel : AopObject + { + /// + /// 企业基础信息 + /// + [JsonProperty("base_info")] + public BaseInfo BaseInfo { get; set; } + + /// + /// 企业对公账户信息 + /// + [JsonProperty("business_bank_account_info")] + public BusinessBankAccountInfo BusinessBankAccountInfo { get; set; } + + /// + /// 企业营业执照信息 + /// + [JsonProperty("business_license_info")] + public BusinessLicenceInfo BusinessLicenseInfo { get; set; } + + /// + /// 企业级商户法人信息 + /// + [JsonProperty("legal_representative_info")] + public LegalRepresentativeInfo LegalRepresentativeInfo { get; set; } + + /// + /// 支付宝登录别名,必须是邮箱地址。入驻申请结果会通知到该邮箱地址或手机号码。如填入的是已有的企业版支付宝账号则后续认证与签约基于该账号进行,如填入的邮箱地址没有对应的支付宝账号则用该邮箱地址创建一个企业版支付宝账户,如填入的是已有的非企业版支付宝账号则预校验失败。 + /// + [JsonProperty("login_id")] + public string LoginId { get; set; } + + /// + /// 外部入驻申请单据号,需保证在开发者端不重复 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 企业的门店信息,签约当面付时必选 + /// + [JsonProperty("shop_info")] + public ShopInfo ShopInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectAttachmentUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectAttachmentUploadModel.cs new file mode 100644 index 0000000..b9a9d7a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectAttachmentUploadModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectAttachmentUploadModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectAttachmentUploadModel : AopObject + { + /// + /// 商户附件信息 + /// + [JsonProperty("attachment_info")] + + public List AttachmentInfo { get; set; } + + /// + /// 备注信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户在支付宝入驻成功后,生成的支付宝内全局唯一的商户编号 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectCreateModel.cs new file mode 100644 index 0000000..b9443ae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectCreateModel.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectCreateModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectCreateModel : AopObject + { + /// + /// 商户地址信息 + /// + [JsonProperty("address_info")] + + public List AddressInfo { get; set; } + + /// + /// 商户简称 + /// + [JsonProperty("alias_name")] + public string AliasName { get; set; } + + /// + /// 商户对应银行所开立的结算卡信息 + /// + [JsonProperty("bankcard_info")] + + public List BankcardInfo { get; set; } + + /// + /// 商户证件编号(企业或者个体工商户提供营业执照,事业单位提供事证号) + /// + [JsonProperty("business_license")] + public string BusinessLicense { get; set; } + + /// + /// 商户证件类型,取值范围:NATIONAL_LEGAL:营业执照;NATIONAL_LEGAL_MERGE:营业执照(多证合一);INST_RGST_CTF:事业单位法人证书 + /// + [JsonProperty("business_license_type")] + public string BusinessLicenseType { get; set; } + + /// + /// 商户经营类目,参考文档:https://doc.open.alipay.com/doc2/detail?&docType=1&articleId=105444 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 商户联系人信息 + /// + [JsonProperty("contact_info")] + + public List ContactInfo { get; set; } + + /// + /// 商户编号,由机构定义,需要保证在机构下唯一 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 商户的支付宝账号 + /// + [JsonProperty("logon_id")] + + public List LogonId { get; set; } + + /// + /// 商户备注信息,可填写额外信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 商户的支付二维码中信息,用于营销活动 + /// + [JsonProperty("pay_code_info")] + + public List PayCodeInfo { get; set; } + + /// + /// 商户客服电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 商户来源机构标识,填写机构在支付宝的pid + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectModifyModel.cs new file mode 100644 index 0000000..9e078f4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectModifyModel.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectModifyModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectModifyModel : AopObject + { + /// + /// 商户地址信息 + /// + [JsonProperty("address_info")] + + public List AddressInfo { get; set; } + + /// + /// 商户简称 + /// + [JsonProperty("alias_name")] + public string AliasName { get; set; } + + /// + /// 商户对应银行所开立的结算卡信息 + /// + [JsonProperty("bankcard_info")] + + public List BankcardInfo { get; set; } + + /// + /// 商户证件编号(企业或者个体工商户提供营业执照,事业单位提供事证号) + /// + [JsonProperty("business_license")] + public string BusinessLicense { get; set; } + + /// + /// 商户证件类型,取值范围:NATIONAL_LEGAL:营业执照;NATIONAL_LEGAL_MERGE:营业执照(多证合一);INST_RGST_CTF:事业单位法人证书 + /// + [JsonProperty("business_license_type")] + public string BusinessLicenseType { get; set; } + + /// + /// 商户经营类目,参考文档:https://doc.open.alipay.com/doc2/detail?&docType=1&articleId=105444 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 商户负责人信息 + /// + [JsonProperty("contact_info")] + + public List ContactInfo { get; set; } + + /// + /// 商户编号,由机构定义,需要保证在机构下唯一,与sub_merchant_id二选一 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 受理商户的支付宝账号(用于关联商户生活号、原服务窗,打通口碑营销活动) + /// + [JsonProperty("logon_id")] + + public List LogonId { get; set; } + + /// + /// 商户备注信息,可填写额外信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 受理商户的固定二维码链接地址(即一码多付页面地址,用于后续支付宝营销活动) 商户所属的银行或ISV 给商户的二维码url值 一码多付方案:https://doc.open.alipay.com/docs/doc.htm? + /// &docType=1&articleId=105672 + /// + [JsonProperty("pay_code_info")] + + public List PayCodeInfo { get; set; } + + /// + /// 商户客服电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 商户来源机构标识,填写机构在支付宝的pid + /// + [JsonProperty("source")] + public string Source { get; set; } + + /// + /// 商户在支付宝入驻成功后,生成的支付宝内全局唯一的商户编号,与external_id二选一 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineCreateModel.cs new file mode 100644 index 0000000..e3ff012 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineCreateModel.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectOnlineCreateModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectOnlineCreateModel : AopObject + { + /// + /// 商户地址信息 + /// + [JsonProperty("address_info")] + + public List AddressInfo { get; set; } + + /// + /// 商户简称 + /// + [JsonProperty("alias_name")] + public string AliasName { get; set; } + + /// + /// 签约受理机构pid + /// + [JsonProperty("bank_pid")] + public string BankPid { get; set; } + + /// + /// 商户对应银行所开立的结算卡信息 + /// + [JsonProperty("bankcard_info")] + + public List BankcardInfo { get; set; } + + /// + /// 商户证件编号(企业或者个体工商户提供营业执照,事业单位提供事证号) + /// + [JsonProperty("business_license")] + public string BusinessLicense { get; set; } + + /// + /// 商户证件类型,取值范围:NATIONAL_LEGAL:营业执照;NATIONAL_LEGAL_MERGE:营业执照(多证合一);INST_RGST_CTF:事业单位法人证书 + /// + [JsonProperty("business_license_type")] + public string BusinessLicenseType { get; set; } + + /// + /// 商户联系人信息 + /// + [JsonProperty("contact_info")] + + public List ContactInfo { get; set; } + + /// + /// 支付机构pid/source id;服务商PID; + /// + [JsonProperty("isv_pid")] + public string IsvPid { get; set; } + + /// + /// 商户的支付宝账号 + /// + [JsonProperty("logon_id")] + + public List LogonId { get; set; } + + /// + /// mcc编码 + /// + [JsonProperty("mcc")] + public string Mcc { get; set; } + + /// + /// 商户特殊资质等 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 商户的支付二维码中信息,用于营销活动 + /// + [JsonProperty("pay_code_info")] + + public List PayCodeInfo { get; set; } + + /// + /// 商户客服电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 商户在银行端的签约时间 + /// + [JsonProperty("sign_bank_time")] + public string SignBankTime { get; set; } + + /// + /// 站点信息 + /// + [JsonProperty("site_info")] + + public List SiteInfo { get; set; } + + /// + /// 商户在受理机构的唯一代码,该代号在该机构下保持唯一;extenalID; + /// + [JsonProperty("unique_id_by_bank")] + public string UniqueIdByBank { get; set; } + + /// + /// 商户在支付机构的的唯一代码;服务商对该商户分配的ID; + /// + [JsonProperty("unique_id_by_isv")] + public string UniqueIdByIsv { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineModifyModel.cs new file mode 100644 index 0000000..3f973df --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineModifyModel.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectOnlineModifyModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectOnlineModifyModel : AopObject + { + /// + /// 商户地址信息 + /// + [JsonProperty("address_info")] + + public List AddressInfo { get; set; } + + /// + /// 商户简称 + /// + [JsonProperty("alias_name")] + public string AliasName { get; set; } + + /// + /// 签约受理机构pid + /// + [JsonProperty("bank_pid")] + public string BankPid { get; set; } + + /// + /// 商户对应银行所开立的结算卡信息 + /// + [JsonProperty("bankcard_info")] + + public List BankcardInfo { get; set; } + + /// + /// 商户证件编号(企业或者个体工商户提供营业执照,事业单位提供事证号) + /// + [JsonProperty("business_license")] + public string BusinessLicense { get; set; } + + /// + /// 商户证件类型,取值范围:NATIONAL_LEGAL:营业执照;NATIONAL_LEGAL_MERGE:营业执照(多证合一);INST_RGST_CTF:事业单位法人证书 + /// + [JsonProperty("business_license_type")] + public string BusinessLicenseType { get; set; } + + /// + /// 商户联系人信息 + /// + [JsonProperty("contact_info")] + + public List ContactInfo { get; set; } + + /// + /// 支付机构pid/source id;服务商PID; + /// + [JsonProperty("isv_pid")] + public string IsvPid { get; set; } + + /// + /// 商户的支付宝账号 + /// + [JsonProperty("logon_id")] + + public List LogonId { get; set; } + + /// + /// mcc编码 + /// + [JsonProperty("mcc")] + public string Mcc { get; set; } + + /// + /// 商户特殊资质等 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 商户的支付二维码中信息,用于营销活动 + /// + [JsonProperty("pay_code_info")] + + public List PayCodeInfo { get; set; } + + /// + /// 商户客服电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 商户在银行端的签约时间 + /// + [JsonProperty("sign_bank_time")] + public string SignBankTime { get; set; } + + /// + /// 站点信息 + /// + [JsonProperty("site_info")] + + public List SiteInfo { get; set; } + + /// + /// 商户在支付宝入驻成功后,生成的支付宝内全局唯一的商户编号 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + + /// + /// 商户在受理机构的唯一代码,该代号在该机构下保持唯一;extenalID; + /// + [JsonProperty("unique_id_by_bank")] + public string UniqueIdByBank { get; set; } + + /// + /// 商户在支付机构的的唯一代码;服务商对该商户分配的ID; + /// + [JsonProperty("unique_id_by_isv")] + public string UniqueIdByIsv { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineQueryModel.cs new file mode 100644 index 0000000..f8a2cb9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectOnlineQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectOnlineQueryModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectOnlineQueryModel : AopObject + { + /// + /// 受理商户在受理机构下的唯一标识,与sub_merchant_id二选一必传 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 商户在支付宝入驻成功后,生成的支付宝内全局唯一的商户编号,与external_id二选一必传 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectQueryModel.cs new file mode 100644 index 0000000..203445e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandIndirectQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandIndirectQueryModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandIndirectQueryModel : AopObject + { + /// + /// 商户编号,由机构定义,需要保证在机构下唯一,与sub_merchant_id二选一 + /// + [JsonProperty("external_id")] + public string ExternalId { get; set; } + + /// + /// 商户在支付宝入驻成功后,生成的支付宝内全局唯一的商户编号,与external_id二选一必传 + /// + [JsonProperty("sub_merchant_id")] + public string SubMerchantId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandMapplyorderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandMapplyorderQueryModel.cs new file mode 100644 index 0000000..136930e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandMapplyorderQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandMapplyorderQueryModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandMapplyorderQueryModel : AopObject + { + /// + /// 支付宝端商户入驻申请单据号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandMerchantStorelistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandMerchantStorelistQueryModel.cs new file mode 100644 index 0000000..2d20797 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandMerchantStorelistQueryModel.cs @@ -0,0 +1,38 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandMerchantStorelistQueryModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandMerchantStorelistQueryModel : AopObject + { + /// + /// 可选: true / false 。 当is_include_cognate = true , 指定pid为空, 查询商户下所有pid的店铺 当is_include_cognate = true + /// ,指定pid不为空时,查询指定pid的店铺 当is_include_cognate = false ,指定pid为空时, 查询当前商pid的店铺 当is_include_cognate = false + /// ,指定pid不为空时,查询指定pid的店铺 + /// + [JsonProperty("is_include_cognate")] + public string IsIncludeCognate { get; set; } + + /// + /// 页码,必须为大于0的整数, 1表示第一页,2表示第2页,依次类推。 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 每页记录条数,必须为大于0的整数,最大值为30 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 指定的商户pid,如果指定, 只返回此pid的店铺信息。(此pid必须是商户自己的) + /// + [JsonProperty("pid")] + public string Pid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandPersonalApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandPersonalApplyModel.cs new file mode 100644 index 0000000..2abc0b3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntMerchantExpandPersonalApplyModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntMerchantExpandPersonalApplyModel Data Structure. + /// + [Serializable] + public class AntMerchantExpandPersonalApplyModel : AopObject + { + /// + /// 企业基本信息 + /// + [JsonProperty("base_info")] + public BaseInfo BaseInfo { get; set; } + + /// + /// 营业执照信息 + /// + [JsonProperty("business_license_info")] + public BusinessLicenceInfo BusinessLicenseInfo { get; set; } + + /// + /// 支付宝登录别名,邮箱地址或手机号码,入驻申请结果会通知到该邮箱地址或手机号码。如填入的是已有的企业版支付宝账号则后续认证与签约基于该账号进行,如填入的邮箱地址或手机号码没有对应的支付宝账号则用该邮箱地址或手机号码创建一个企业版支付宝账户,如填入的是已有的非企业版支付宝账号则预校验失败。 + /// + [JsonProperty("login_id")] + public string LoginId { get; set; } + + /// + /// 个体工商户经营者信息 + /// + [JsonProperty("operator_info")] + public OperatorInfo OperatorInfo { get; set; } + + /// + /// 外部入驻申请单据号,需保证在开发者端不重复 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 工商个体户或个人银行账户信息 + /// + [JsonProperty("personal_bank_account_info")] + public PersonnalBankAccountInfo PersonalBankAccountInfo { get; set; } + + /// + /// 门店信息 + /// + [JsonProperty("shop_info")] + public ShopInfo ShopInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasArrangementCommonQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasArrangementCommonQueryModel.cs new file mode 100644 index 0000000..525c354 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasArrangementCommonQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntProdpaasArrangementCommonQueryModel Data Structure. + /// + [Serializable] + public class AntProdpaasArrangementCommonQueryModel : AopObject + { + /// + /// 合约基本信息选择器,根据产品编码,合约状态编码来过滤合约 + /// + [JsonProperty("arrangement_base_selector")] + public ArrangementBaseSelector ArrangementBaseSelector { get; set; } + + /// + /// 合约条件组选择器,筛选合约条件 + /// + [JsonProperty("arrangement_condition_group_selector")] + public ArrangementConditionGroupSelector ArrangementConditionGroupSelector { get; set; } + + /// + /// 合约参与者选择器,根据参与者查询合约编号,与合约号选择器二选一 + /// + [JsonProperty("arrangement_involved_party_querier")] + public ArrangementInvolvedPartyQuerier ArrangementInvolvedPartyQuerier { get; set; } + + /// + /// 合约号查询器,与参与者查询器二选一 + /// + [JsonProperty("arrangement_no_querier")] + public ArrangementNoQuerier ArrangementNoQuerier { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasArrangementRebateRateQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasArrangementRebateRateQueryModel.cs new file mode 100644 index 0000000..6a25211 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasArrangementRebateRateQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntProdpaasArrangementRebateRateQueryModel Data Structure. + /// + [Serializable] + public class AntProdpaasArrangementRebateRateQueryModel : AopObject + { + /// + /// 数据项名称 + /// + [JsonProperty("data_item_name")] + public string DataItemName { get; set; } + + /// + /// 一级类目ID + /// + [JsonProperty("first_category_id")] + public string FirstCategoryId { get; set; } + + /// + /// 查询时间 + /// + [JsonProperty("gmt_query")] + public string GmtQuery { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasProductCommonQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasProductCommonQueryModel.cs new file mode 100644 index 0000000..d5ab04d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntProdpaasProductCommonQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntProdpaasProductCommonQueryModel Data Structure. + /// + [Serializable] + public class AntProdpaasProductCommonQueryModel : AopObject + { + /// + /// 产品码 + /// + [JsonProperty("product_code")] + public string ProductCode { get; set; } + + /// + /// 产品查询维度,主要分为基础信息,条件信息和产品关联关系信息等 + /// + [JsonProperty("product_options")] + public ProductVOOptions ProductOptions { get; set; } + + /// + /// 产品版本 + /// + [JsonProperty("product_version")] + public string ProductVersion { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntfortuneMarketingCrowdWshopMatchModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntfortuneMarketingCrowdWshopMatchModel.cs new file mode 100644 index 0000000..64946d3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AntfortuneMarketingCrowdWshopMatchModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AntfortuneMarketingCrowdWshopMatchModel Data Structure. + /// + [Serializable] + public class AntfortuneMarketingCrowdWshopMatchModel : AopObject + { + /// + /// 财富号机构自建人群id,应用于财富号机构人群匹配。财富号合作机构通过财富号后台创建人群后获得人群id + /// + [JsonProperty("crowd_id")] + public string CrowdId { get; set; } + + /// + /// 蚂蚁统一会员ID,通过alipay.user.info.share接口获取 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ApproveCreditResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ApproveCreditResult.cs new file mode 100644 index 0000000..f08661c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ApproveCreditResult.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ApproveCreditResult Data Structure. + /// + [Serializable] + public class ApproveCreditResult : AopObject + { + /// + /// 费用列表,每个费用对象代码一个收费项; 若费用列表为空或空集合,表示不存在费用定价 + /// + [JsonProperty("charge_info_list")] + + public List ChargeInfoList { get; set; } + + /// + /// 授信金额 + /// + [JsonProperty("credit_amt")] + public string CreditAmt { get; set; } + + /// + /// 授信编号 + /// + [JsonProperty("credit_no")] + public string CreditNo { get; set; } + + /// + /// 授信期限长度,包含单位(年、月、日) + /// + [JsonProperty("credit_term")] + public string CreditTerm { get; set; } + + /// + /// 授信有效截止日期(日期精度为天,包含截止日) + /// + [JsonProperty("expire_date")] + public string ExpireDate { get; set; } + + /// + /// 利率 + /// + [JsonProperty("instal_int_rate")] + + public List InstalIntRate { get; set; } + + /// + /// 贷款期限长度,包含单位(年、月、日) + /// + [JsonProperty("loan_term")] + public string LoanTerm { get; set; } + + /// + /// 还款方式。若为分段还款,则存储的为分段还款方式的分段值。否则,该list仅含一个元素,为当前的还款方式 + /// + [JsonProperty("repay_modes")] + + public List RepayModes { get; set; } + + /// + /// 授信有效起始日期(日期精度为天,包含起始日) + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + + /// + /// 授信状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AreaCode.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AreaCode.cs new file mode 100644 index 0000000..95270e9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AreaCode.cs @@ -0,0 +1,29 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AreaCode Data Structure. + /// + [Serializable] + public class AreaCode : AopObject + { + /// + /// 区域类型 AREA_PRVN:省代码; AREA_CITY:市代码; AREA_DIST:区县代码; + /// + [JsonProperty("area_type")] + public string AreaType { get; set; } + + /// + /// 区域代码 省市区代码,国标码,详见国家统计局数据, + /// + /// 点此下载 + /// + /// 。 + /// + [JsonProperty("code")] + public string Code { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AreaInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AreaInfo.cs new file mode 100644 index 0000000..d866cfa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AreaInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AreaInfo Data Structure. + /// + [Serializable] + public class AreaInfo : AopObject + { + /// + /// 城市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 省份 + /// + [JsonProperty("province")] + public string Province { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementBaseSelector.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementBaseSelector.cs new file mode 100644 index 0000000..dff662c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementBaseSelector.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementBaseSelector Data Structure. + /// + [Serializable] + public class ArrangementBaseSelector : AopObject + { + /// + /// 合约状态列表.01 待生效,02 生效,03失效,04 取消 + /// + [JsonProperty("ar_statuses")] + + public List ArStatuses { get; set; } + + /// + /// 产品外标类型:01:机构产品 02:借款人信息 03:主站产品 04: 标准机构产品 05:内部业务平台标准产品 + /// + [JsonProperty("mark_type")] + public string MarkType { get; set; } + + /// + /// 产品编码列表 + /// + [JsonProperty("pd_codes")] + + public List PdCodes { get; set; } + + /// + /// 产品外标列表 + /// + [JsonProperty("pd_marks")] + + public List PdMarks { get; set; } + + /// + /// 是否查询出产品外标 + /// + [JsonProperty("select_pd_mark")] + public bool SelectPdMark { get; set; } + + /// + /// 是否查询出产品名称 + /// + [JsonProperty("select_pd_name")] + public bool SelectPdName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementBaseVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementBaseVO.cs new file mode 100644 index 0000000..5b8e23f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementBaseVO.cs @@ -0,0 +1,180 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementBaseVO Data Structure. + /// + [Serializable] + public class ArrangementBaseVO : AopObject + { + /// + /// 应用id + /// + [JsonProperty("app_id")] + public string AppId { get; set; } + + /// + /// 签约机构编码 + /// + [JsonProperty("arrangement_institution_code")] + public string ArrangementInstitutionCode { get; set; } + + /// + /// 合约名称 + /// + [JsonProperty("arrangement_name")] + public string ArrangementName { get; set; } + + /// + /// 合约编号 + /// + [JsonProperty("arrangement_no")] + public string ArrangementNo { get; set; } + + /// + /// 合约类型 + /// + [JsonProperty("arrangement_type")] + public string ArrangementType { get; set; } + + /// + /// 合约版 + /// + [JsonProperty("arrangement_version")] + public string ArrangementVersion { get; set; } + + /// + /// 签约渠道来源 + /// + [JsonProperty("channel_code")] + public string ChannelCode { get; set; } + + /// + /// 合约失效时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 到期时间 + /// + [JsonProperty("gmt_expired")] + public string GmtExpired { get; set; } + + /// + /// 预计合约失效时间 + /// + [JsonProperty("gmt_invalid_due")] + public string GmtInvalidDue { get; set; } + + /// + /// 合约签署时间 + /// + [JsonProperty("gmt_sign")] + public string GmtSign { get; set; } + + /// + /// 预计合约生效时间 + /// + [JsonProperty("gmt_vald_due")] + public string GmtValdDue { get; set; } + + /// + /// 合约版本时间 + /// + [JsonProperty("gmt_vrsn")] + public string GmtVrsn { get; set; } + + /// + /// 参与者角色ID + /// + [JsonProperty("ip_role_id")] + public string IpRoleId { get; set; } + + /// + /// 修改人 + /// + [JsonProperty("last_moder")] + public string LastModer { get; set; } + + /// + /// 外标类型 + /// + [JsonProperty("mark_type")] + public string MarkType { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 修改人类型 + /// + [JsonProperty("moder_type")] + public string ModerType { get; set; } + + /// + /// 签约产品外标 + /// + [JsonProperty("pd_mark")] + public string PdMark { get; set; } + + /// + /// 产品编码 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 产品名称 + /// + [JsonProperty("prod_name")] + public string ProdName { get; set; } + + /// + /// 产品版本 + /// + [JsonProperty("prod_version")] + public string ProdVersion { get; set; } + + /// + /// ps(产品销售)编码 + /// + [JsonProperty("ps_code")] + public string PsCode { get; set; } + + /// + /// ps(产品销售)id + /// + [JsonProperty("ps_id")] + public string PsId { get; set; } + + /// + /// 产品销售名称 + /// + [JsonProperty("ps_name")] + public string PsName { get; set; } + + /// + /// 合约状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 签约模板产品编码 + /// + [JsonProperty("template_prod_code")] + public string TemplateProdCode { get; set; } + + /// + /// 签约模板产品版本 + /// + [JsonProperty("template_prod_version")] + public string TemplateProdVersion { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementConditionGroupSelector.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementConditionGroupSelector.cs new file mode 100644 index 0000000..66b90e7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementConditionGroupSelector.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementConditionGroupSelector Data Structure. + /// + [Serializable] + public class ArrangementConditionGroupSelector : AopObject + { + /// + /// 是否选择最新的产品条件,默认为TRUE + /// + [JsonProperty("select_latest_pd_cd")] + public bool SelectLatestPdCd { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementInvolvedPartyQuerier.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementInvolvedPartyQuerier.cs new file mode 100644 index 0000000..198e297 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementInvolvedPartyQuerier.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementInvolvedPartyQuerier Data Structure. + /// + [Serializable] + public class ArrangementInvolvedPartyQuerier : AopObject + { + /// + /// 参与者id + /// + [JsonProperty("ip_id")] + public string IpId { get; set; } + + /// + /// 用户uid/参与者角色id + /// + [JsonProperty("ip_role_id")] + public string IpRoleId { get; set; } + + /// + /// 参与者角色类型,为空时表示所有类型都查询. 可选值:01 甲方 11 乙方 21丙方 + /// + [JsonProperty("ip_type")] + public string IpType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementNoQuerier.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementNoQuerier.cs new file mode 100644 index 0000000..84d8431 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementNoQuerier.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementNoQuerier Data Structure. + /// + [Serializable] + public class ArrangementNoQuerier : AopObject + { + /// + /// 合约编号列表 + /// + [JsonProperty("ar_nos")] + + public List ArNos { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementOpenQueryResultVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementOpenQueryResultVO.cs new file mode 100644 index 0000000..26c74af --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementOpenQueryResultVO.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementOpenQueryResultVO Data Structure. + /// + [Serializable] + public class ArrangementOpenQueryResultVO : AopObject + { + /// + /// 合约编号 + /// + [JsonProperty("ar_no")] + public string ArNo { get; set; } + + /// + /// 合约状态 未生效:UN_INVALID 已取消:CANCEL 已生效:VALID 已失效:INVALID + /// + [JsonProperty("ar_status")] + public string ArStatus { get; set; } + + /// + /// JSON结构的扩展字段,备用字段 + /// + [JsonProperty("ext_data")] + public string ExtData { get; set; } + + /// + /// 有效期截止时间 + /// + [JsonProperty("invalid_date")] + public string InvalidDate { get; set; } + + /// + /// 签约时间 + /// + [JsonProperty("sign_date")] + public string SignDate { get; set; } + + /// + /// 有效期起始时间 + /// + [JsonProperty("valid_date")] + public string ValidDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementVORes.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementVORes.cs new file mode 100644 index 0000000..1f02793 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArrangementVORes.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArrangementVORes Data Structure. + /// + [Serializable] + public class ArrangementVORes : AopObject + { + /// + /// 合约基本信息 + /// + [JsonProperty("ar_base")] + public ArrangementBaseVO ArBase { get; set; } + + /// + /// 合约业务状态 + /// + [JsonProperty("ar_bsn_status")] + public string ArBsnStatus { get; set; } + + /// + /// 合约条件值,其格式为json,数据key因合约而存在差异。 + /// + [JsonProperty("ar_condition")] + public string ArCondition { get; set; } + + /// + /// 合约编号 + /// + [JsonProperty("arrangement_no")] + public string ArrangementNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Article.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Article.cs new file mode 100644 index 0000000..babb269 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Article.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Article Data Structure. + /// + [Serializable] + public class Article : AopObject + { + /// + /// 链接文字 + /// + [JsonProperty("action_name")] + public string ActionName { get; set; } + + /// + /// 图文消息内容 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 图片链接,对于多条图文消息的第一条消息,该字段不能为空; 请先调用 + /// 图片上传接口获得图片url + /// + [JsonProperty("image_url")] + public string ImageUrl { get; set; } + + /// + /// 图文消息标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 点击图文消息跳转的链接 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArticleParagraph.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArticleParagraph.cs new file mode 100644 index 0000000..8eb9efa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArticleParagraph.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArticleParagraph Data Structure. + /// + [Serializable] + public class ArticleParagraph : AopObject + { + /// + /// 图片列表 + /// + [JsonProperty("pictures")] + + public List Pictures { get; set; } + + /// + /// 文章正文描述 + /// + [JsonProperty("text")] + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArticlePicture.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArticlePicture.cs new file mode 100644 index 0000000..a6ed0cf --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ArticlePicture.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ArticlePicture Data Structure. + /// + [Serializable] + public class ArticlePicture : AopObject + { + /// + /// 图片的描述 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 图片上传到素材中心后生成的id + /// + [JsonProperty("location")] + public string Location { get; set; } + + /// + /// 图片名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// "DISH":"菜品","ENVIRONMENT":"环境","SHOPHEAD":"门头照","OTHER":"其他" + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetParams.cs new file mode 100644 index 0000000..364fe22 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetParams.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AssetParams Data Structure. + /// + [Serializable] + public class AssetParams : AopObject + { + /// + /// 资产类型: 1. BANK(银行卡) 2. ACCOUNT(账号模式) + /// + [JsonProperty("asset_type")] + public string AssetType { get; set; } + + /// + /// 银行卡号。 assetType为BANK时,必填。 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 机构ID。 assetType为BANK时,必填。 + /// + [JsonProperty("inst_id")] + public string InstId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetProduceItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetProduceItem.cs new file mode 100644 index 0000000..3774573 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetProduceItem.cs @@ -0,0 +1,126 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AssetProduceItem Data Structure. + /// + [Serializable] + public class AssetProduceItem : AopObject + { + /// + /// 申请日期,格式yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("apply_date")] + public string ApplyDate { get; set; } + + /// + /// 申请单号 + /// + [JsonProperty("apply_order_id")] + public string ApplyOrderId { get; set; } + + /// + /// 收钱码吊牌和贴纸类型不为空; 物料图片Url,供应商使用该图片进行物料打印 + /// + [JsonProperty("asset_pic_url")] + public string AssetPicUrl { get; set; } + + /// + /// 订单明细ID + /// + [JsonProperty("assign_item_id")] + public string AssignItemId { get; set; } + + /// + /// city + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 数量 + /// + [JsonProperty("count")] + public string Count { get; set; } + + /// + /// 订单创建时间, 格式: yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("create_date")] + public string CreateDate { get; set; } + + /// + /// 1 - 旧模式, 需要在生产完成后反馈运单号 ; 2 - 新模式, 不需要在生产完成后反馈运单号 + /// + [JsonProperty("data_version")] + public string DataVersion { get; set; } + + /// + /// 区 + /// + [JsonProperty("district")] + public string District { get; set; } + + /// + /// 收钱码吊牌和贴纸类型不为空 + /// + [JsonProperty("logistics_name")] + public string LogisticsName { get; set; } + + /// + /// 物流运单号; 收钱码吊牌和贴纸类型不为空 + /// + [JsonProperty("logistics_no")] + public string LogisticsNo { get; set; } + + /// + /// 收件人地址邮编; 收钱码吊牌和贴纸类型不为空 + /// + [JsonProperty("postcode")] + public string Postcode { get; set; } + + /// + /// 省 + /// + [JsonProperty("province")] + public string Province { get; set; } + + /// + /// 收货人地址 + /// + [JsonProperty("receiver_address")] + public string ReceiverAddress { get; set; } + + /// + /// 联系人电话 + /// + [JsonProperty("receiver_mobile")] + public string ReceiverMobile { get; set; } + + /// + /// 收货人姓名 + /// + [JsonProperty("receiver_name")] + public string ReceiverName { get; set; } + + /// + /// 物料供应商PID,和调用方的供应商PID一致 + /// + [JsonProperty("supplier_pid")] + public string SupplierPid { get; set; } + + /// + /// 模板ID + /// + [JsonProperty("template_id")] + public string TemplateId { get; set; } + + /// + /// 模板名称,线下约定的物料名称 + /// + [JsonProperty("template_name")] + public string TemplateName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetResult.cs new file mode 100644 index 0000000..0e5d951 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssetResult.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AssetResult Data Structure. + /// + [Serializable] + public class AssetResult : AopObject + { + /// + /// 订单明细ID + /// + [JsonProperty("assign_item_id")] + public string AssignItemId { get; set; } + + /// + /// 错误码 + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误描述 + /// + [JsonProperty("error_desc")] + public string ErrorDesc { get; set; } + + /// + /// 是否处理成功 + /// + [JsonProperty("success")] + public bool Success { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssuranceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssuranceInfo.cs new file mode 100644 index 0000000..f97320d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AssuranceInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AssuranceInfo Data Structure. + /// + [Serializable] + public class AssuranceInfo : AopObject + { + /// + /// 服务保障的描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 服务保障的标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AttachmentInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AttachmentInfo.cs new file mode 100644 index 0000000..066c578 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AttachmentInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AttachmentInfo Data Structure. + /// + [Serializable] + public class AttachmentInfo : AopObject + { + /// + /// 支付宝返回的图片在文件存储平台的标识 + /// + [JsonProperty("atta_url")] + public string AttaUrl { get; set; } + + /// + /// 图片名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 附件类型,PROMO_PIC:营销物料照 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AvailablePeriodInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AvailablePeriodInfo.cs new file mode 100644 index 0000000..d25c825 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/AvailablePeriodInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// AvailablePeriodInfo Data Structure. + /// + [Serializable] + public class AvailablePeriodInfo : AopObject + { + /// + /// 每周可用天列表。格式为星期几并用逗号分隔。如周一周二可用则为“1,2”,周五周六可用则为"5,6" + /// + [JsonProperty("available_week_days")] + public string AvailableWeekDays { get; set; } + + /// + /// 商品可用时段结束时间。格式HH:mm,如果22:30 + /// + [JsonProperty("time_end")] + public string TimeEnd { get; set; } + + /// + /// 可用时段开始时间。格式为HH:mm,如08:30 + /// + [JsonProperty("time_start")] + public string TimeStart { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiAddSignContent.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiAddSignContent.cs new file mode 100644 index 0000000..c979f3a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiAddSignContent.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BPOpenApiAddSignContent Data Structure. + /// + [Serializable] + public class BPOpenApiAddSignContent : AopObject + { + /// + /// 自定义的条件跳转。JSON格式 + /// + [JsonProperty("additional_lines")] + + public List AdditionalLines { get; set; } + + /// + /// 任务处理人的域账号列表 + /// + [JsonProperty("assignee")] + public string Assignee { get; set; } + + /// + /// 自定义操作 + /// + [JsonProperty("deal_actions")] + public string DealActions { get; set; } + + /// + /// 任务处理链接。如果不填,则使用流程平台默认地址 + /// + [JsonProperty("deal_url")] + public string DealUrl { get; set; } + + /// + /// 详情查看地址。如果不填写,则使用流程平台默认详情地址 + /// + [JsonProperty("detail_url")] + public string DetailUrl { get; set; } + + /// + /// 处理节点展示名称 + /// + [JsonProperty("display_name")] + public string DisplayName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiInstance.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiInstance.cs new file mode 100644 index 0000000..a9e9c0b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiInstance.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BPOpenApiInstance Data Structure. + /// + [Serializable] + public class BPOpenApiInstance : AopObject + { + /// + /// 业务上下文,JSON格式 + /// + [JsonProperty("biz_context")] + public string BizContext { get; set; } + + /// + /// 业务ID + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 创建人域账号 + /// + [JsonProperty("create_user")] + public string CreateUser { get; set; } + + /// + /// 流程实例描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 创建到完成的毫秒数,未完结为0 + /// + [JsonProperty("duration")] + public long Duration { get; set; } + + /// + /// 创建时间 + /// + [JsonProperty("gmt_create")] + public string GmtCreate { get; set; } + + /// + /// 完结时间,未完结时为空 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 最后更新时间 + /// + [JsonProperty("gmt_modified")] + public string GmtModified { get; set; } + + /// + /// 2088账号 + /// + [JsonProperty("ip_role_id")] + public string IpRoleId { get; set; } + + /// + /// 最后更新人域账号 + /// + [JsonProperty("modify_user")] + public string ModifyUser { get; set; } + + /// + /// 流程配置名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 父流程实例ID。用于描述父子流程 + /// + [JsonProperty("parent_id")] + public string ParentId { get; set; } + + /// + /// 父流程实例所处的节点 + /// + [JsonProperty("parent_node")] + public string ParentNode { get; set; } + + /// + /// 优先级 + /// + [JsonProperty("priority")] + public long Priority { get; set; } + + /// + /// 全局唯一ID + /// + [JsonProperty("puid")] + public string Puid { get; set; } + + /// + /// 前置流程ID。用于描述流程串联 + /// + [JsonProperty("source_id")] + public string SourceId { get; set; } + + /// + /// 前置流程从哪个节点发起的本流程 + /// + [JsonProperty("source_node_name")] + public string SourceNodeName { get; set; } + + /// + /// 流程实例状态:CREATED,PROCESSING,COMPLETED,CANCELED + /// + [JsonProperty("state")] + public string State { get; set; } + + /// + /// 包含的任务列表 + /// + [JsonProperty("tasks")] + + public List Tasks { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiPUID.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiPUID.cs new file mode 100644 index 0000000..55e41be --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiPUID.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BPOpenApiPUID Data Structure. + /// + [Serializable] + public class BPOpenApiPUID : AopObject + { + /// + /// 系统名称 + /// + [JsonProperty("app_name")] + public string AppName { get; set; } + + /// + /// 业务ID,对应业务单条记录的ID + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务类型。不要填写下划线、点等特殊符号 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 一般留空。如果一个biz_id可发起多个流程实例,则填写此值 + /// + [JsonProperty("unique_key")] + public string UniqueKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiTask.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiTask.cs new file mode 100644 index 0000000..ddd2818 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BPOpenApiTask.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BPOpenApiTask Data Structure. + /// + [Serializable] + public class BPOpenApiTask : AopObject + { + /// + /// 处理地址 + /// + [JsonProperty("deal_url")] + public string DealUrl { get; set; } + + /// + /// 详情展示地址 + /// + [JsonProperty("detail_url")] + public string DetailUrl { get; set; } + + /// + /// 审批节点中文显示名称 + /// + [JsonProperty("display_name")] + public string DisplayName { get; set; } + + /// + /// 操作时间 + /// + [JsonProperty("gmt_operate")] + public string GmtOperate { get; set; } + + /// + /// 处理备注信息 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 审批节点code + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 点击的操作按钮 + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 可点击的操作 + /// + [JsonProperty("operate_transition")] + public string OperateTransition { get; set; } + + /// + /// 处理人域账号 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 处理人花名 + /// + [JsonProperty("operator_name")] + public string OperatorName { get; set; } + + /// + /// 加签类型 + /// + [JsonProperty("sign_type")] + public string SignType { get; set; } + + /// + /// 状态:CREATED,TAKEN,TEMP_SAVE,COMPLETED,CANCELED + /// + [JsonProperty("state")] + public string State { get; set; } + + /// + /// 节点类型:UserTask,SystemTask + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BankCardInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BankCardInfo.cs new file mode 100644 index 0000000..26018a6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BankCardInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BankCardInfo Data Structure. + /// + [Serializable] + public class BankCardInfo : AopObject + { + /// + /// 银行卡持卡人姓名 + /// + [JsonProperty("card_name")] + public string CardName { get; set; } + + /// + /// 银行卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BaseInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BaseInfo.cs new file mode 100644 index 0000000..85063cf --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BaseInfo.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BaseInfo Data Structure. + /// + [Serializable] + public class BaseInfo : AopObject + { + /// + /// 支付宝服务窗名称 + /// + [JsonProperty("alipay_fuwu_name")] + public string AlipayFuwuName { get; set; } + + /// + /// 如果商户的app需要签约使用移动快捷支付产品,需要上传该app的名称 + /// + [JsonProperty("app_name")] + public string AppName { get; set; } + + /// + /// 企业联系人信息 + /// + [JsonProperty("contact_info")] + + public List ContactInfo { get; set; } + + /// + /// 企业logo图片 + /// + [JsonProperty("logo_pic")] + public string LogoPic { get; set; } + + /// + /// 所属MCCCode,详情可参考 + /// + /// 商家经营类目 + /// + /// + [JsonProperty("mcc_code")] + public string MccCode { get; set; } + + /// + /// 企业别称,例如浙江飞猪网络有限公司别称为阿里旅行。需要签约芝麻信用产品必须要传入该字段 + /// + [JsonProperty("short_name")] + public string ShortName { get; set; } + + /// + /// 企业特殊资质图片,可参考 + /// + /// 商家经营类目 + /// + /// + [JsonProperty("special_license_pic")] + + public List SpecialLicensePic { get; set; } + + /// + /// 使用场景,签约芝麻信用产品必须传入该参数,比如用于放贷风险防控、免押金租车等 + /// + [JsonProperty("usage_scenario")] + public string UsageScenario { get; set; } + + /// + /// 企业网址信息 + /// + [JsonProperty("web_address")] + + public List WebAddress { get; set; } + + /// + /// 网址授权函图片 + /// + [JsonProperty("web_auth_pic")] + public string WebAuthPic { get; set; } + + /// + /// 微信公众号名称 + /// + [JsonProperty("weixin_public_name")] + public string WeixinPublicName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BatchFundItemAOPModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BatchFundItemAOPModel.cs new file mode 100644 index 0000000..887e6f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BatchFundItemAOPModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BatchFundItemAOPModel Data Structure. + /// + [Serializable] + public class BatchFundItemAOPModel : AopObject + { + /// + /// 批次号 + /// + [JsonProperty("batch_no")] + public long BatchNo { get; set; } + + /// + /// 退款到银行卡处理中的总金额 + /// + [JsonProperty("dback_refundtobank_processing_batch_amount")] + public string DbackRefundtobankProcessingBatchAmount { get; set; } + + /// + /// 退款到银行卡成功的总金额 + /// + [JsonProperty("dback_refundtobank_success_batch_amount")] + public string DbackRefundtobankSuccessBatchAmount { get; set; } + + /// + /// 资金明细列表 + /// + [JsonProperty("fund_item_list")] + + public List FundItemList { get; set; } + + /// + /// 批次创建时间 + /// + [JsonProperty("gmt_biz_create_date")] + public string GmtBizCreateDate { get; set; } + + /// + /// 资金单ID + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 总金额 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + + /// + /// 包含服务费的总金额 + /// + [JsonProperty("total_amount_with_service_fee")] + public string TotalAmountWithServiceFee { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BatchRefundDetailResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BatchRefundDetailResult.cs new file mode 100644 index 0000000..cc044c3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BatchRefundDetailResult.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BatchRefundDetailResult Data Structure. + /// + [Serializable] + public class BatchRefundDetailResult : AopObject + { + /// + /// 商户请求批量退款时传递的批次号。 + /// + [JsonProperty("batch_no")] + public string BatchNo { get; set; } + + /// + /// 充退状态:S成功,F失败,P处理中。 + /// + [JsonProperty("dback_status")] + public string DbackStatus { get; set; } + + /// + /// 预估银行响应时间 + /// + [JsonProperty("est_bank_ack_time")] + public string EstBankAckTime { get; set; } + + /// + /// 预估银行入账时间 + /// + [JsonProperty("est_bank_receipt_time")] + public string EstBankReceiptTime { get; set; } + + /// + /// 是否有充退 + /// + [JsonProperty("has_deposit_back")] + public bool HasDepositBack { get; set; } + + /// + /// 退款金额 + /// + [JsonProperty("refund_amount")] + public string RefundAmount { get; set; } + + /// + /// 退分润信息列表 + /// + [JsonProperty("refund_royaltys")] + + public List RefundRoyaltys { get; set; } + + /// + /// 退补差金额 + /// + [JsonProperty("refund_suppl_amount")] + public string RefundSupplAmount { get; set; } + + /// + /// 退补差结果码 + /// + [JsonProperty("refund_suppl_result_code")] + public string RefundSupplResultCode { get; set; } + + /// + /// 剩余补差金额 + /// + [JsonProperty("rest_suppl_amount")] + public string RestSupplAmount { get; set; } + + /// + /// 交易退款结果码。如果成功为SUCCESS,如果处理中为PROCESSING,其它情况为错误码。 + /// + [JsonProperty("result_code")] + public string ResultCode { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + + /// + /// 退款解冻信息 + /// + [JsonProperty("unfreeze_details")] + public RefundUnfreezeResult UnfreezeDetails { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BeaconDeviceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BeaconDeviceInfo.cs new file mode 100644 index 0000000..67ab953 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BeaconDeviceInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BeaconDeviceInfo Data Structure. + /// + [Serializable] + public class BeaconDeviceInfo : AopObject + { + /// + /// 设备类型 + /// + [JsonProperty("actiontype")] + public string Actiontype { get; set; } + + /// + /// 设备是否可用 + /// + [JsonProperty("inuse")] + public bool Inuse { get; set; } + + /// + /// 设备说明 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + + /// + /// 设备序列号 + /// + [JsonProperty("sn")] + public string Sn { get; set; } + + /// + /// 蓝牙设备关联的模板信息 + /// + [JsonProperty("template")] + public BeaconTemplate Template { get; set; } + + /// + /// 设备ID + /// + [JsonProperty("uuid")] + public string Uuid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BeaconTemplate.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BeaconTemplate.cs new file mode 100644 index 0000000..762b50a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BeaconTemplate.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BeaconTemplate Data Structure. + /// + [Serializable] + public class BeaconTemplate : AopObject + { + /// + /// 模板参数信息 + /// + [JsonProperty("context")] + public string Context { get; set; } + + /// + /// 模板ID + /// + [JsonProperty("templateid")] + public string Templateid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitGradeConfig.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitGradeConfig.cs new file mode 100644 index 0000000..c16a828 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitGradeConfig.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BenefitGradeConfig Data Structure. + /// + [Serializable] + public class BenefitGradeConfig : AopObject + { + /// + /// 权益背景图片地址,若没有,可以先mock一个地址进行填写 + /// + [JsonProperty("background_url")] + public string BackgroundUrl { get; set; } + + /// + /// 该等级下权益的介绍 + /// + [JsonProperty("detail")] + public string Detail { get; set; } + + /// + /// 用户等级,差异化时可填primary、golden、platinum、diamond,非差异化时可填common + /// + [JsonProperty("grade")] + public string Grade { get; set; } + + /// + /// 权益关联的活动页面 + /// + [JsonProperty("page_url")] + public string PageUrl { get; set; } + + /// + /// 当前等级兑换权益所需要消耗的积分 + /// + [JsonProperty("point")] + public long Point { get; set; } + + /// + /// 该等级兑换权益时,消耗的积分需要乘以配置的这个折扣,进行优惠 + /// + [JsonProperty("point_discount")] + public string PointDiscount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitGradePoint.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitGradePoint.cs new file mode 100644 index 0000000..7a6692a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitGradePoint.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BenefitGradePoint Data Structure. + /// + [Serializable] + public class BenefitGradePoint : AopObject + { + /// + /// 蚂蚁会员权益配置的ID + /// + [JsonProperty("benefit_id")] + public string BenefitId { get; set; } + + /// + /// 蚂蚁会员权益配置在各个用户等级下的折扣积分 + /// + [JsonProperty("grade_points")] + + public List GradePoints { get; set; } + + /// + /// 蚂蚁会员权益配置的原始积分 + /// + [JsonProperty("original_point")] + public string OriginalPoint { get; set; } + + /// + /// 蚂蚁会员权益的专享等级列表 + /// + [JsonProperty("own_grades")] + public string OwnGrades { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitInfo.cs new file mode 100644 index 0000000..4225f7f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitInfo.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BenefitInfo Data Structure. + /// + [Serializable] + public class BenefitInfo : AopObject + { + /// + /// 权益信息id + /// + [JsonProperty("benefit_info_id")] + public string BenefitInfoId { get; set; } + + /// + /// 权益名称 + /// + [JsonProperty("benefit_name")] + public string BenefitName { get; set; } + + /// + /// 权益中文名称 + /// + [JsonProperty("benefit_name_cn")] + public string BenefitNameCn { get; set; } + + /// + /// 权益类型(会员等级: MemberGrade) + /// + [JsonProperty("benefit_type")] + public string BenefitType { get; set; } + + /// + /// 权益发放时间 + /// + [JsonProperty("dispatch_dt")] + public string DispatchDt { get; set; } + + /// + /// 权益失效时间 + /// + [JsonProperty("end_dt")] + public string EndDt { get; set; } + + /// + /// 权益生效时间 + /// + [JsonProperty("start_dt")] + public string StartDt { get; set; } + + /// + /// 权益当前状态 * 待生效:WAIT * 生效:VALID * 失效:INVALID + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitInfoDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitInfoDetail.cs new file mode 100644 index 0000000..cfc3809 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BenefitInfoDetail.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BenefitInfoDetail Data Structure. + /// + [Serializable] + public class BenefitInfoDetail : AopObject + { + /// + /// PRE_FUND:实际核销或者商户赠送的金额 DISCOUNT:实际折扣掉的金额(获取权益不支持该类型) COUPON:实际核销或者商户赠送的券 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 权益类型 PRE_FUND(卡面额) DISCOUNT:折扣金额 COUPON:券 + /// + [JsonProperty("benefit_type")] + public string BenefitType { get; set; } + + /// + /// COUPON:当核销或者赠送券时,可以设置该值 + /// + [JsonProperty("count")] + public string Count { get; set; } + + /// + /// 产生核销或者赠送权益的描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BizListDataInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BizListDataInfo.cs new file mode 100644 index 0000000..2624475 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BizListDataInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BizListDataInfo Data Structure. + /// + [Serializable] + public class BizListDataInfo : AopObject + { + /// + /// 下拉列表编号 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 下拉列表名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BizOrderQueryResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BizOrderQueryResponse.cs new file mode 100644 index 0000000..5fff933 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BizOrderQueryResponse.cs @@ -0,0 +1,101 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BizOrderQueryResponse Data Structure. + /// + [Serializable] + public class BizOrderQueryResponse : AopObject + { + /// + /// 操作动作。 CREATE_SHOP-创建门店, MODIFY_SHOP-修改门店, CREATE_ITEM-创建商品, MODIFY_ITEM-修改商品, EFFECTIVE_ITEM-上架商品, + /// INVALID_ITEM-下架商品, RESUME_ITEM-暂停售卖商品, PAUSE_ITEM-恢复售卖商品 + /// + [JsonProperty("action")] + public string Action { get; set; } + + /// + /// 操作模式:NORMAL-普通开店 + /// + [JsonProperty("action_mode")] + public string ActionMode { get; set; } + + /// + /// 支付宝流水ID + /// + [JsonProperty("apply_id")] + public string ApplyId { get; set; } + + /// + /// 流水上下文信息,JSON格式。根据action不同对应的结构也不同,JSON字段与含义可参考各个接口的请求参数。 + /// + [JsonProperty("biz_context_info")] + public string BizContextInfo { get; set; } + + /// + /// 业务主体ID。根据biz_type不同可能对应shop_id或item_id。 特别注意对于门店创建,当流水status=SUCCESS时,此字段才为shop_id,其他状态时为0或空。 + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务类型:SHOP-店铺,ITEM-商品 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 创建时间 + /// + [JsonProperty("create_time")] + public string CreateTime { get; set; } + + /// + /// 操作用户的支付账号id + /// + [JsonProperty("op_id")] + public string OpId { get; set; } + + /// + /// 注意:此字段并非外部商户请求时传入的request_id,暂时代表支付宝内部字段,请勿用。 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 流水处理结果码 + /// + /// 点此查看 + /// + /// + [JsonProperty("result_code")] + public string ResultCode { get; set; } + + /// + /// 流水处理结果描述 + /// + [JsonProperty("result_desc")] + public string ResultDesc { get; set; } + + /// + /// 流水状态:INIT-初始,PROCESS-处理中,SUCCESS-成功,FAIL-失败。 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 流水子状态:WAIT_CERTIFY-等待认证,LICENSE_AUDITING-证照审核中,RISK_AUDITING-风控审核中,WAIT_SIGN-等待签约,FINISH-终结。 + /// + [JsonProperty("sub_status")] + public string SubStatus { get; set; } + + /// + /// 更新时间 + /// + [JsonProperty("update_time")] + public string UpdateTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BudgetInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BudgetInfo.cs new file mode 100644 index 0000000..9a975ae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BudgetInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BudgetInfo Data Structure. + /// + [Serializable] + public class BudgetInfo : AopObject + { + /// + /// 预算数量 + /// + [JsonProperty("budget_total")] + public string BudgetTotal { get; set; } + + /// + /// 预算类型 + /// + [JsonProperty("budget_type")] + public string BudgetType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessBankAccountInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessBankAccountInfo.cs new file mode 100644 index 0000000..294fa26 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessBankAccountInfo.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BusinessBankAccountInfo Data Structure. + /// + [Serializable] + public class BusinessBankAccountInfo : AopObject + { + /// + /// 企业对公账户名称 + /// + [JsonProperty("business_bank_account_name")] + public string BusinessBankAccountName { get; set; } + + /// + /// 企业对公银行账户号 + /// + [JsonProperty("business_bank_card_no")] + public string BusinessBankCardNo { get; set; } + + /// + /// 企业对公账户开户行名称 + /// + [JsonProperty("business_bank_name")] + public string BusinessBankName { get; set; } + + /// + /// 企业对公账户开户行支行全称 + /// + [JsonProperty("business_bank_sub")] + public string BusinessBankSub { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessLicenceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessLicenceInfo.cs new file mode 100644 index 0000000..26e5a4e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessLicenceInfo.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BusinessLicenceInfo Data Structure. + /// + [Serializable] + public class BusinessLicenceInfo : AopObject + { + /// + /// 营业执照授权函图片,个体工商户如果使用总公司或其他公司的营业执照认证需上传该授权函图片 + /// + [JsonProperty("business_license_auth_pic")] + public string BusinessLicenseAuthPic { get; set; } + + /// + /// 营业执照所在城市,使用国家行政区划代码,可参考http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/ + /// + [JsonProperty("business_license_city")] + public string BusinessLicenseCity { get; set; } + + /// + /// 营业执照有效期,传入营业执照上营业期限到期日,格式为YYYY-MM-DD,如为长期则传入9999-12-31 + /// + [JsonProperty("business_license_indate")] + public string BusinessLicenseIndate { get; set; } + + /// + /// 营业执照是否为三证合一,个体工商户可忽略该字段,企业级商户的营业执照如为三证合一的新营业执照则传true + /// + [JsonProperty("business_license_is_three_in_one")] + public bool BusinessLicenseIsThreeInOne { get; set; } + + /// + /// 营业执照号码 + /// + [JsonProperty("business_license_no")] + public string BusinessLicenseNo { get; set; } + + /// + /// 营业执照图片 + /// + [JsonProperty("business_license_pic")] + public string BusinessLicensePic { get; set; } + + /// + /// 营业执照所在地省份,使用国家行政区划代码,可参考http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/ + /// + [JsonProperty("business_license_province")] + public string BusinessLicenseProvince { get; set; } + + /// + /// 营业执照上的企业经营范围 + /// + [JsonProperty("business_scope")] + public string BusinessScope { get; set; } + + /// + /// 营业执照上的企业联系地址 + /// + [JsonProperty("company_address")] + public string CompanyAddress { get; set; } + + /// + /// 营业执照上的企业名称 + /// + [JsonProperty("company_name")] + public string CompanyName { get; set; } + + /// + /// 组织机构代码证号码,个体工商户忽略该字段,企业级商户如营业执照非三证合一需要传入该字段否则预校验会不通过 + /// + [JsonProperty("org_code_certificate_no")] + public string OrgCodeCertificateNo { get; set; } + + /// + /// 组织机构代码证图片,个体工商户忽略该字段,企业级商户如营业执照非三证合一需要传入该字段否则预校验会不通过 + /// + [JsonProperty("org_code_certificate_pic")] + public string OrgCodeCertificatePic { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessLicenseCertFileds.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessLicenseCertFileds.cs new file mode 100644 index 0000000..10b3d42 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BusinessLicenseCertFileds.cs @@ -0,0 +1,24 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BusinessLicenseCertFileds Data Structure. + /// + [Serializable] + public class BusinessLicenseCertFileds : AopObject + { + /// + /// 社会信用代码 + /// + [XmlElement("creditcode")] + public string Creditcode { get; set; } + + /// + /// 公司名字 + /// + [XmlElement("entname")] + public string Entname { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ButtonObject.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ButtonObject.cs new file mode 100644 index 0000000..01891ef --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ButtonObject.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ButtonObject Data Structure. + /// + [Serializable] + public class ButtonObject : AopObject + { + /// + /// 当actionType为link时,该参数为url链接; 当actionType为out时,该参数为用户自定义参数; 当actionType为tel时,该参数为电话号码。 + /// 当action_type为map时,该参数为查看地图的关键字。 当action_type为consumption时,该参数可不传。 该参数最长255个字符,不允许冒号等特殊字符。 + /// + [JsonProperty("action_param")] + public string ActionParam { get; set; } + + /// + /// 菜单类型: out——事件型菜单; link——链接型菜单; tel——点击拨打电话; map——点击查看地图; consumption——点击查看用户与生活号管理员账号之间的消费记录 + /// + [JsonProperty("action_type")] + public string ActionType { get; set; } + + /// + /// icon图片url,必须是http协议的url,尺寸为60X60,最大不超过5M,请先调用 + /// 图片上传接口获得图片url + /// + [JsonProperty("icon")] + public string Icon { get; set; } + + /// + /// 菜单名称,icon菜单名称不超过5个汉字,文本菜单名称不超过9个汉字,编码格式为GBK + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 二级菜单数组,若sub_button为空,则一级菜单必须指定action_type和action_param的值,二级菜单个数可以为1~5个。 + /// + [JsonProperty("sub_button")] + + public List SubButton { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BuyerNotesInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BuyerNotesInfo.cs new file mode 100644 index 0000000..3464477 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/BuyerNotesInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// BuyerNotesInfo Data Structure. + /// + [Serializable] + public class BuyerNotesInfo : AopObject + { + /// + /// 标题下的描述列表,列表类型,每项不得为空,最多10项,总长度不能超过2600个中文字符 + /// + [JsonProperty("details")] + + public List Details { get; set; } + + /// + /// 描述标题,不得超过15个中文字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPAliveBillEntrySet.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPAliveBillEntrySet.cs new file mode 100644 index 0000000..f86414a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPAliveBillEntrySet.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CPAliveBillEntrySet Data Structure. + /// + [Serializable] + public class CPAliveBillEntrySet : AopObject + { + /// + /// 物业费账单应收明细条目ID + /// + [JsonProperty("bill_entry_id")] + public string BillEntryId { get; set; } + + /// + /// 未能删除的账单明细条目状态,状态值: FINISH_PAYMENT - 用户完成支付和销账 UNDER_PAYMENT - 账单锁定待用户完成支付 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillModifySet.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillModifySet.cs new file mode 100644 index 0000000..aeeb6cd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillModifySet.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CPBillModifySet Data Structure. + /// + [Serializable] + public class CPBillModifySet : AopObject + { + /// + /// 若账期需修改,则传入。账期用于缴费明细页归类和展示,可以使用不超过16个字符的有业务含义的字符串。 + /// + [JsonProperty("acct_period")] + public string AcctPeriod { get; set; } + + /// + /// 若应收金额需修改,则传入,单位为元,精确到小数点后两位,取值范围[0.01,100000000] + /// + [JsonProperty("bill_entry_amount")] + public string BillEntryAmount { get; set; } + + /// + /// 待修改的物业费账单应收明细条目ID + /// + [JsonProperty("bill_entry_id")] + public string BillEntryId { get; set; } + + /// + /// 若费用类型需修改,则传入 + /// + [JsonProperty("cost_type")] + public string CostType { get; set; } + + /// + /// 若缴费截止日期需修改,则传入。格式固定为YYYYMMDD + /// + [JsonProperty("deadline")] + public string Deadline { get; set; } + + /// + /// 若出账日期需修改,则传入,格式固定为YYYYMMDD + /// + [JsonProperty("release_day")] + public string ReleaseDay { get; set; } + + /// + /// 若房屋门牌地址需要修改,则传入该值 + /// + [JsonProperty("room_address")] + public string RoomAddress { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillResultSet.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillResultSet.cs new file mode 100644 index 0000000..e9bb4df --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillResultSet.cs @@ -0,0 +1,67 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CPBillResultSet Data Structure. + /// + [Serializable] + public class CPBillResultSet : AopObject + { + /// + /// 账期 + /// + [JsonProperty("acct_period")] + public string AcctPeriod { get; set; } + + /// + /// 应收金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] + /// + [JsonProperty("bill_entry_amount")] + public string BillEntryAmount { get; set; } + + /// + /// 物业费账单应收明细条目ID + /// + [JsonProperty("bill_entry_id")] + public string BillEntryId { get; set; } + + /// + /// 费用类型 + /// + [JsonProperty("cost_type")] + public string CostType { get; set; } + + /// + /// 缴费截止日期 + /// + [JsonProperty("deadline")] + public string Deadline { get; set; } + + /// + /// 物业系统端房屋编号 + /// + [JsonProperty("out_room_id")] + public string OutRoomId { get; set; } + + /// + /// 出账日期 + /// + [JsonProperty("release_day")] + public string ReleaseDay { get; set; } + + /// + /// 房屋门牌地址 + /// + [JsonProperty("room_address")] + public string RoomAddress { get; set; } + + /// + /// 账单条目当前状态,状态值: FINISH_PAYMENT - 用户完成支付和销账 UNDER_PAYMENT - 账单锁定待用户完成支付 WAIT_PAYMENT - 待缴且未过缴费截止日期 OUT_OF_DATE - + /// 未支付且已过缴费截止日期 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillSet.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillSet.cs new file mode 100644 index 0000000..8968e74 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPBillSet.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CPBillSet Data Structure. + /// + [Serializable] + public class CPBillSet : AopObject + { + /// + /// 明细条目所归属的账期,用于归类和向用户展示,具体参数值由物业系统自行定义,除参数最大长度外支付宝不做限定。 + /// + [JsonProperty("acct_period")] + public string AcctPeriod { get; set; } + + /// + /// 应收金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] + /// + [JsonProperty("bill_entry_amount")] + public string BillEntryAmount { get; set; } + + /// + /// 物业费账单应收明细条目ID,在同一小区内必须唯一,不同小区不做唯一性要求。 + /// + [JsonProperty("bill_entry_id")] + public string BillEntryId { get; set; } + + /// + /// 费用类型名称,根据物业系统定义传入,支付宝除参数最大长度外不做限定。 + /// + [JsonProperty("cost_type")] + public string CostType { get; set; } + + /// + /// 缴费截止日期,格式固定为YYYYMMDD。不能早于调用接口时的当前实际日期(北京时间)和出账日期。 + /// + [JsonProperty("deadline")] + public string Deadline { get; set; } + + /// + /// 物业系统端房屋编号,必须事先通过房屋信息上传接口上传到支付宝社区物业平台。 + /// + [JsonProperty("out_room_id")] + public string OutRoomId { get; set; } + + /// + /// 缴费明细条目关联ID。若物业系统业务约束上传的多条明细条目必须被一次同时支付,则对应的明细条目需传入同样的relate_id。 + /// + [JsonProperty("relate_id")] + public string RelateId { get; set; } + + /// + /// 出账日期,格式固定为YYYYMMDD。 + /// + [JsonProperty("release_day")] + public string ReleaseDay { get; set; } + + /// + /// 缴费支付确认页显示给用户的提示确认信息,除房间名外的第二重校验信息,预防用户错缴。建议传入和缴费户相关的信息例如,可传入脱敏后的物业系统中的业主姓名,或其他相关信息。可选参数,不传则不展示。账单明细合并支付时,若部分账单明细的remark_str不同,则默认取第一条有remark_str值的账单明细进行展示。 + /// + [JsonProperty("remark_str")] + public string RemarkStr { get; set; } + + /// + /// 对应的房屋门牌地址。若开发者之前通过上传物业小区内部房屋信息接口中的address参数已上传,可不传。 + /// + [JsonProperty("room_address")] + public string RoomAddress { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPCommServices.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPCommServices.cs new file mode 100644 index 0000000..5338e0a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPCommServices.cs @@ -0,0 +1,108 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CPCommServices Data Structure. + /// + [Serializable] + public class CPCommServices : AopObject + { + /// + /// 对于涉及收费类型的服务,返回收款帐号,若开发者没有为当前服务传入过物业收款帐号,则默认为授权物业的签约账号。 + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 若当前服务涉及收费,则返回收款帐号类型。 + /// + [JsonProperty("account_type")] + public string AccountType { get; set; } + + /// + /// 服务审核状态描述,如果审核驳回则有相关的驳回理由。 + /// + [JsonProperty("audit_desc")] + public string AuditDesc { get; set; } + + /// + /// 服务审核状态。 + /// + [JsonProperty("audit_status")] + public string AuditStatus { get; set; } + + /// + /// 服务对应的前台类目名称 + /// + [JsonProperty("category_name")] + public string CategoryName { get; set; } + + /// + /// 该字段可选,若对于外部调用地址巡检失败,会返回失败状态。 + /// + [JsonProperty("external_address_scan_result")] + public string ExternalAddressScanResult { get; set; } + + /// + /// 由开发者系统提供的,支付宝根据基础服务类型在特定业务环节调用的外部系统服务地址。 + /// + [JsonProperty("external_invoke_address")] + public string ExternalInvokeAddress { get; set; } + + /// + /// 服务初始化时间 + /// + [JsonProperty("gmt_created")] + public string GmtCreated { get; set; } + + /// + /// 服务最近修改时间(包括状态变更)。 + /// + [JsonProperty("gmt_modified")] + public string GmtModified { get; set; } + + /// + /// 若从当前状态到下一状态需要完成下一步条件代码,则返回该字段,否则不返回。 + /// + [JsonProperty("next_action")] + public string NextAction { get; set; } + + /// + /// 若qr_code_image二维码存在有效期,则返回。 + /// + [JsonProperty("qr_code_expires")] + public string QrCodeExpires { get; set; } + + /// + /// 为满足特定的服务类型在上线前后的不同阶段需要进行测试验证等目的,选择性返回能直达具体服务的二维码图片链接。用支付宝手机客户端扫一扫该链接,完成验证工作。 + /// + [JsonProperty("qr_code_image")] + public string QrCodeImage { get; set; } + + /// + /// 若返回qr_code_image,则同时返回对应的类型,类型值为: TEST - 用于上线前验证的临时二维码; FORMAL - 上线后可用于推广的正式二维码(仅针对部分服务类型); + /// + [JsonProperty("qr_code_type")] + public string QrCodeType { get; set; } + + /// + /// 本服务预计过期时间(如在物业服务合同中约定),按标准时间格式:yyyy-MM-dd HH:mm:ss返回。 + /// + [JsonProperty("service_expires")] + public string ServiceExpires { get; set; } + + /// + /// 服务类型 + /// + [JsonProperty("service_type")] + public string ServiceType { get; set; } + + /// + /// 服务当前状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPCommunitySet.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPCommunitySet.cs new file mode 100644 index 0000000..df0136d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CPCommunitySet.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CPCommunitySet Data Structure. + /// + [Serializable] + public class CPCommunitySet : AopObject + { + /// + /// 支付宝社区小区统一编号。 + /// + [JsonProperty("community_id")] + public string CommunityId { get; set; } + + /// + /// 小区对应的物业公司支付宝账号PID(合作伙伴partner id)。物业公司给开发者做第三方应用授权后,开发者可获取物业公司PID。 + /// + [JsonProperty("merchant_pid")] + public string MerchantPid { get; set; } + + /// + /// 小区在物业系统中的唯一编号。若开发者传入过,则返回。 + /// + [JsonProperty("out_community_id")] + public string OutCommunityId { get; set; } + + /// + /// 小区当前状态,状态值: PENDING_ONLINE 待上线 ONLINE - 上线 MAINTAIN - 维护中 OFFLINE - 下线 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CalendarScheduleInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CalendarScheduleInfo.cs new file mode 100644 index 0000000..4050888 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CalendarScheduleInfo.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CalendarScheduleInfo Data Structure. + /// + [Serializable] + public class CalendarScheduleInfo : AopObject + { + /// + /// 时间分段时长,字段unit为单位,如duration=30,unit=MIN,则表示二进制的时间表表示将一天分为30分钟一小段的时间片段,用来表示服务者的时间是否可用 + /// + [JsonProperty("duration")] + public long Duration { get; set; } + + /// + /// 服务者的服务时间表 + /// + [JsonProperty("schedule")] + + public List Schedule { get; set; } + + /// + /// 间隔长度单位,默认为MIN(分钟),允许的单位有DAY(天)、WEEK(周)、MONTH(月) + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampBaseDto.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampBaseDto.cs new file mode 100644 index 0000000..a9f6748 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampBaseDto.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CampBaseDto Data Structure. + /// + [Serializable] + public class CampBaseDto : AopObject + { + /// + /// 活动工单列表 + /// + [JsonProperty("activity_orders")] + + public List ActivityOrders { get; set; } + + /// + /// 活动审核状态,AUDITING为审核中,REJECT为驳回,不返回为成功 + /// + [JsonProperty("audit_status")] + public string AuditStatus { get; set; } + + /// + /// 是否自动续期,Y为是,N为否,为空表示否 + /// + [JsonProperty("auto_delay_flag")] + public string AutoDelayFlag { get; set; } + + /// + /// 截至时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 活动id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 活动名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 招商状态,GOING招商中,ENDED招商结束,OFFLINE下架 + /// + [JsonProperty("plan_status")] + public string PlanStatus { get; set; } + + /// + /// 启动时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 活动状态,CREATED:草稿,ENABLED:生效,DISABLED:无效,STARTED:启动,CLOSED:停止,FINISHED:完成 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 活动类型.DIRECT_SEND:直发奖,CONSUME_SEND:消费送 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampDetail.cs new file mode 100644 index 0000000..e15366d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampDetail.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CampDetail Data Structure. + /// + [Serializable] + public class CampDetail : AopObject + { + /// + /// 活动工单列表 + /// + [JsonProperty("activity_orders")] + + public List ActivityOrders { get; set; } + + /// + /// 活动子状态,如审核中 + /// + [JsonProperty("audit_status")] + public string AuditStatus { get; set; } + + /// + /// 是否自动续期该活动,Y表示是,N表示否,默认为N + /// + [JsonProperty("auto_delay_flag")] + public string AutoDelayFlag { get; set; } + + /// + /// 预算信息 + /// + [JsonProperty("budget_info")] + public BudgetInfo BudgetInfo { get; set; } + + /// + /// 活动约束信息 + /// + [JsonProperty("constraint_info")] + public ConstraintInfo ConstraintInfo { get; set; } + + /// + /// 活动描述 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 活动结束时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 扩展参数 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 活动id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 活动名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 营销工具 + /// + [JsonProperty("promo_tools")] + + public List PromoTools { get; set; } + + /// + /// 投放渠道信息 + /// + [JsonProperty("publish_channels")] + + public List PublishChannels { get; set; } + + /// + /// 招商信息 + /// + [JsonProperty("recruit_info")] + public RecruitInfo RecruitInfo { get; set; } + + /// + /// 活动开始时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 活动状态,CREATED:草稿,ENABLED:生效,DISABLED:无效,STARTED:启动,CLOSED:停止,FINISHED:完成 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 活动类型.DIRECT_SEND:直发奖,CONSUME_SEND:消费送 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampDetailInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampDetailInfo.cs new file mode 100644 index 0000000..b2396b4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CampDetailInfo.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CampDetailInfo Data Structure. + /// + [Serializable] + public class CampDetailInfo : AopObject + { + /// + /// 活动开始时间 + /// + [JsonProperty("begin_time")] + public string BeginTime { get; set; } + + /// + /// 业务id,与bizType 一一对应,如:biz_type为消费送,biz_id为消费送活动id + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务类型:CONSUME_SEND:消费送;MRT_DISCOUNT:商户立减;OBTAIN:通用领券 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 活动描述 + /// + [JsonProperty("camp_desc")] + public string CampDesc { get; set; } + + /// + /// 需要解析该json串,title为标题,details是描述,多个detail需要换行 + /// + [JsonProperty("camp_guide")] + public string CampGuide { get; set; } + + /// + /// 活动结束时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 扩展字段信息,用Map对象json串保存 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 每人每日参与次数 -1为不限制 + /// + [JsonProperty("win_limit_daily")] + public string WinLimitDaily { get; set; } + + /// + /// 每人总参与次数 -1 为不限制 + /// + [JsonProperty("win_limit_life")] + public string WinLimitLife { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardBinVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardBinVO.cs new file mode 100644 index 0000000..199c971 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardBinVO.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CardBinVO Data Structure. + /// + [Serializable] + public class CardBinVO : AopObject + { + /// + /// 卡的别名 + /// + [JsonProperty("card_alias")] + public string CardAlias { get; set; } + + /// + /// 卡bin值,通常为卡号的前6位 + /// + [JsonProperty("card_bin_value")] + public string CardBinValue { get; set; } + + /// + /// 卡类型对象定义 + /// + [JsonProperty("card_type_vo")] + public CardTypeVO CardTypeVo { get; set; } + + /// + /// 卡域模型定义 + /// + [JsonProperty("domain_vo")] + public CardDomainVO DomainVo { get; set; } + + /// + /// 机构内标 + /// + [JsonProperty("inst_id")] + public string InstId { get; set; } + + /// + /// 卡号长度 + /// + [JsonProperty("inst_len")] + public string InstLen { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 操作员 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 卡版本信息 + /// + [JsonProperty("version")] + public string Version { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardDomainVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardDomainVO.cs new file mode 100644 index 0000000..7bd3a8d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardDomainVO.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CardDomainVO Data Structure. + /// + [Serializable] + public class CardDomainVO : AopObject + { + /// + /// 值域域名的描述值,固定为”金融” + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 值域域名,固定为“FINANCE” + /// + [JsonProperty("domain_name")] + public string DomainName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardFrontTextDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardFrontTextDTO.cs new file mode 100644 index 0000000..6a3b4d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardFrontTextDTO.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CardFrontTextDTO Data Structure. + /// + [Serializable] + public class CardFrontTextDTO : AopObject + { + /// + /// 文案标签 + /// + [JsonProperty("label")] + public string Label { get; set; } + + /// + /// 展示文案 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardInfo.cs new file mode 100644 index 0000000..1250b3d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CardInfo Data Structure. + /// + [Serializable] + public class CardInfo : AopObject + { + /// + /// 领取时间 + /// + [JsonProperty("taken_time")] + public string TakenTime { get; set; } + + /// + /// 用户名 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardTypeVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardTypeVO.cs new file mode 100644 index 0000000..7998d2b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardTypeVO.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CardTypeVO Data Structure. + /// + [Serializable] + public class CardTypeVO : AopObject + { + /// + /// 卡类型标识符,取值范围如下: DC("借记卡") CC("贷记卡") SCC("准贷记卡") DCC("存贷合一卡") PC("预付卡") STPB("标准存折") STFA("标准对公账户") + /// NSTFA("非标准对公账户") + /// + [JsonProperty("card_type")] + public string CardType { get; set; } + + /// + /// 卡类型描述,参考cardType的描述字段中括号里的值。 + /// + [JsonProperty("description")] + public string Description { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardUserInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardUserInfo.cs new file mode 100644 index 0000000..ccfd1c4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CardUserInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CardUserInfo Data Structure. + /// + [Serializable] + public class CardUserInfo : AopObject + { + /// + /// 用户唯一标识, 根据user_id_type类型来定 (目前暂支持支付宝userId) 支付宝userId说明:支付宝用户号是以2088开头的16位纯数字组成 + /// + [JsonProperty("user_uni_id")] + public string UserUniId { get; set; } + + /// + /// ID类型:UID, 即传值UID即可 + /// + [JsonProperty("user_uni_id_type")] + public string UserUniIdType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CascadeMissionConfModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CascadeMissionConfModel.cs new file mode 100644 index 0000000..cebb960 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CascadeMissionConfModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CascadeMissionConfModel Data Structure. + /// + [Serializable] + public class CascadeMissionConfModel : AopObject + { + /// + /// 分佣条款列表 1、二级分佣,如果认领人类型为Promote,则不能设置独家(clause_type=MISSION_CLAIM_CLAUSE) 2、二级分用,最大金额无需设置,而是系统自动计算 + /// + [JsonProperty("commission_clause")] + + public List CommissionClause { get; set; } + + /// + /// 二级分佣认领人类型 PROMOTER:第三方推广者 KOUBEI_PLATFORM:口碑平台推广 + /// + [JsonProperty("commission_user_type")] + public string CommissionUserType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CashCampaignInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CashCampaignInfo.cs new file mode 100644 index 0000000..df668db --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CashCampaignInfo.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CashCampaignInfo Data Structure. + /// + [Serializable] + public class CashCampaignInfo : AopObject + { + /// + /// 活动状态 + /// + [JsonProperty("camp_status")] + public string CampStatus { get; set; } + + /// + /// 现金红包名称 + /// + [JsonProperty("coupon_name")] + public string CouponName { get; set; } + + /// + /// 现金红包活动号 + /// + [JsonProperty("crowd_no")] + public string CrowdNo { get; set; } + + /// + /// 原始活动号,商户进行问题排查时提供 + /// + [JsonProperty("origin_crowd_no")] + public string OriginCrowdNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CaterItemListInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CaterItemListInfo.cs new file mode 100644 index 0000000..307c4c3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CaterItemListInfo.cs @@ -0,0 +1,67 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CaterItemListInfo Data Structure. + /// + [Serializable] + public class CaterItemListInfo : AopObject + { + /// + /// 商品最后修改时间。格式为YYYY-MM-DD HH:mm:ss + /// + [JsonProperty("gmt_modified")] + public string GmtModified { get; set; } + + /// + /// 商品剩余库存数量 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 口碑体系内部商品的唯一标识 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 当前商品状态。状态枚举值为:INIT表示初始状态, EFFECTIVE表示生效状态,PAUSE表示暂停售卖,FREEZE表示冻结,INVALID表示失效状态 + /// + [JsonProperty("item_status")] + public string ItemStatus { get; set; } + + /// + /// 商品原价。字符串,单位元,2位小数 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 商品现价。字符串,单位元,两位小数 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 已退回商品退回原因 + /// + [JsonProperty("reject_reason")] + public string RejectReason { get; set; } + + /// + /// 商品名称,请勿超过40汉字,80个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 购买有效期:商品自购买起多长时间内有效,取值范围 + /// 7-360,单位天。举例,如果是7的话,是到第七天晚上23:59:59失效。商品购买后,没有在有效期内核销,则自动退款给用户。举例:买了一个鱼香肉丝杨梅汁套餐的商品,有效期一个月,如果一个月之后,用户没有消费该套餐,则自动退款给用户 + /// + [JsonProperty("validity_period")] + public long ValidityPeriod { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CertAuditResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CertAuditResult.cs new file mode 100644 index 0000000..4ee39b6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CertAuditResult.cs @@ -0,0 +1,54 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CertAuditResult Data Structure. + /// + [Serializable] + public class CertAuditResult : AopObject + { + /// + /// 官方渠道信息比对结果返回码。 0:通过, 1:参数未输入, 2:参数不合法, 3:查询不到信息, 4:参数无法验证, 5:参数不匹配, 6:服务异常 + /// + [XmlElement("authority_check_retcode")] + public string AuthorityCheckRetcode { get; set; } + + /// + /// 官方渠道信息比对结果返回信息 + /// + [XmlElement("authority_check_retmessage")] + public string AuthorityCheckRetmessage { get; set; } + + /// + /// 官方渠道信息比对结果,通过Y,不通过N,待定U + /// + [XmlElement("authority_check_suggest")] + public string AuthorityCheckSuggest { get; set; } + + /// + /// 证件上人脸比对结果,通过Y,不通过N,待定U + /// + [XmlElement("cert_face_suggest")] + public string CertFaceSuggest { get; set; } + + /// + /// 合规结果,通过Y,不通过N,待定U + /// + [XmlElement("compliance_suggest")] + public string ComplianceSuggest { get; set; } + + /// + /// ocr结果 + /// + [XmlElement("ocr")] + public CertFields Ocr { get; set; } + + /// + /// ocr比对结果,通过Y,不通过N,待定U + /// + [XmlElement("ocr_check_suggest")] + public string OcrCheckSuggest { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CertFields.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CertFields.cs new file mode 100644 index 0000000..82e7fcc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CertFields.cs @@ -0,0 +1,84 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CertFields Data Structure. + /// + [Serializable] + public class CertFields : AopObject + { + /// + /// 地址 + /// + [XmlElement("address")] + public string Address { get; set; } + + /// + /// 生日 + /// + [XmlElement("birth")] + public string Birth { get; set; } + + /// + /// 证件号码 + /// + [XmlElement("certno")] + public string Certno { get; set; } + + /// + /// 有效期 + /// + [XmlElement("expires")] + public string Expires { get; set; } + + /// + /// 有效期结束日期 + /// + [XmlElement("expiresend")] + public string Expiresend { get; set; } + + /// + /// 有效期开始时间 + /// + [XmlElement("expiresstart")] + public string Expiresstart { get; set; } + + /// + /// 签发机关 + /// + [XmlElement("issuingauthority")] + public string Issuingauthority { get; set; } + + /// + /// 名字 + /// + [XmlElement("name")] + public string Name { get; set; } + + /// + /// 编号 + /// + [XmlElement("number")] + public string Number { get; set; } + + /// + /// 民族 + /// + [XmlElement("race")] + public string Race { get; set; } + + /// + /// 换证次数 + /// + [XmlElement("renewalnum")] + public string Renewalnum { get; set; } + + /// + /// 性别 + /// + [XmlElement("sex")] + public string Sex { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ChargeInstMode.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ChargeInstMode.cs new file mode 100644 index 0000000..e136090 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ChargeInstMode.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ChargeInstMode Data Structure. + /// + [Serializable] + public class ChargeInstMode : AopObject + { + /// + /// 机构简称(英文名称) + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 机构中文名称 + /// + [JsonProperty("charge_inst_name")] + public string ChargeInstName { get; set; } + + /// + /// 城市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 省份 + /// + [JsonProperty("province")] + public string Province { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ChargeItems.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ChargeItems.cs new file mode 100644 index 0000000..1a348b6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ChargeItems.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ChargeItems Data Structure. + /// + [Serializable] + public class ChargeItems : AopObject + { + /// + /// 缴费项是否必选 如果缴费项是多选模式,此参数生效。 “Y”表示必填,“N”或空表示非必填。 + /// + [JsonProperty("item_mandatory")] + public string ItemMandatory { get; set; } + + /// + /// 缴费项最大可选数 如果缴费项是多选模式,此参数生效,范围是1-9,如果为空,则最大项默认为9 + /// + [JsonProperty("item_maximum")] + public long ItemMaximum { get; set; } + + /// + /// 缴费项名称 + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 缴费项金额 + /// + [JsonProperty("item_price")] + public string ItemPrice { get; set; } + + /// + /// 缴费项序号,如果缴费项是多选模式,此项为必填,建议从1开始的连续数字, 用户支付成功后,通过passback_params参数带回已选择的缴费项。例如:orderNo=uoo234234&isvOrderNo=24werwe&items=1-2|2-1|3-5 1-2|2-1|3-5 表示:缴费项序列号-缴费项数|缴费项序列号-缴费项数 + /// + [JsonProperty("item_serial_number")] + public long ItemSerialNumber { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CityFunction.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CityFunction.cs new file mode 100644 index 0000000..e83f103 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CityFunction.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CityFunction Data Structure. + /// + [Serializable] + public class CityFunction : AopObject + { + /// + /// 城市标准编码 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 城市名称 + /// + [JsonProperty("city_name")] + public string CityName { get; set; } + + /// + /// 描述功能,支持开卡(issue),圈存(load),充值转账(recharge) + /// + [JsonProperty("function_type")] + + public List FunctionType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ClaimProgress.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ClaimProgress.cs new file mode 100644 index 0000000..ba8e13e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ClaimProgress.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ClaimProgress Data Structure. + /// + [Serializable] + public class ClaimProgress : AopObject + { + /// + /// 更新内容 + /// + [JsonProperty("update_content")] + public string UpdateContent { get; set; } + + /// + /// 更新时间 + /// + [JsonProperty("update_time")] + public string UpdateTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ClauseTerm.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ClauseTerm.cs new file mode 100644 index 0000000..f13342e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ClauseTerm.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ClauseTerm Data Structure. + /// + [Serializable] + public class ClauseTerm : AopObject + { + /// + /// 说明描述内容 + /// + [JsonProperty("descriptions")] + + public List Descriptions { get; set; } + + /// + /// 说明title + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeCouponInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeCouponInfo.cs new file mode 100644 index 0000000..535c731 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeCouponInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CodeCouponInfo Data Structure. + /// + [Serializable] + public class CodeCouponInfo : AopObject + { + /// + /// 领取时间 + /// + [JsonProperty("taken_time")] + public string TakenTime { get; set; } + + /// + /// 用户名 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + + /// + /// 面额(单位分) + /// + [JsonProperty("voucher_amt")] + public string VoucherAmt { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeInfo.cs new file mode 100644 index 0000000..73e7df1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CodeInfo Data Structure. + /// + [Serializable] + public class CodeInfo : AopObject + { + /// + /// 跳转URL,扫码关注服务窗后会直接跳转到此URL + /// + [JsonProperty("goto_url")] + public string GotoUrl { get; set; } + + /// + /// 场景信息 + /// + [JsonProperty("scene")] + public Scene Scene { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeNOList.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeNOList.cs new file mode 100644 index 0000000..3372f5a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CodeNOList.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CodeNOList Data Structure. + /// + [Serializable] + public class CodeNOList : AopObject + { + /// + /// 金额 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 对应TP活动码 + /// + [JsonProperty("code_no")] + public string CodeNo { get; set; } + + /// + /// 如果ticket_type为油券,则该字段1:石化,2:石油 + /// + [JsonProperty("sub_type")] + public string SubType { get; set; } + + /// + /// 券类型,1:油券 + /// + [JsonProperty("ticket_type")] + public string TicketType { get; set; } + + /// + /// 有效期 + /// + [JsonProperty("valid_date")] + public string ValidDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommentOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommentOpenModel.cs new file mode 100644 index 0000000..e3bdcd5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommentOpenModel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CommentOpenModel Data Structure. + /// + [Serializable] + public class CommentOpenModel : AopObject + { + /// + /// 口碑评价id + /// + [JsonProperty("comment_id")] + public string CommentId { get; set; } + + /// + /// 评价发表时间 + /// + [JsonProperty("comment_publish_time")] + public string CommentPublishTime { get; set; } + + /// + /// 评价内容,不超过2000字,不区分中英文 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 评价关联的手艺人id + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 评价上传图片,一条评价最多9张图片 + /// + [JsonProperty("images")] + + public List Images { get; set; } + + /// + /// 评价回复 + /// + [JsonProperty("reply")] + public CommentReplyOpenModel Reply { get; set; } + + /// + /// 评分,1-5分,1分最低,5分最高,均为整数 + /// + [JsonProperty("score")] + public long Score { get; set; } + + /// + /// 评价对应的门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommentReplyOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommentReplyOpenModel.cs new file mode 100644 index 0000000..29e8508 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommentReplyOpenModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CommentReplyOpenModel Data Structure. + /// + [Serializable] + public class CommentReplyOpenModel : AopObject + { + /// + /// 回复内容,最多500字,不区分中英文 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 发表回复的操作员id + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 回复发表时间 + /// + [JsonProperty("reply_publish_time")] + public string ReplyPublishTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommodityExtInfoConfirm.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommodityExtInfoConfirm.cs new file mode 100644 index 0000000..6f5d6f8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommodityExtInfoConfirm.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CommodityExtInfoConfirm Data Structure. + /// + [Serializable] + public class CommodityExtInfoConfirm : AopObject + { + /// + /// 城市上架结果 【 0:表示失败, 1:表示成功】 + /// + [JsonProperty("city_status")] + public string CityStatus { get; set; } + + /// + /// 挂载ID,用于确认唯一记录的主键对象 + /// + [JsonProperty("displayapp_id")] + public string DisplayappId { get; set; } + + /// + /// 修改城市记录映射对应的原有的挂载id,如果原有服务没有上架城市,该参数为空 + /// + [JsonProperty("mapping_displayapp_id")] + public string MappingDisplayappId { get; set; } + + /// + /// 城市上架失败原因 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommodityPublicExtInfos.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommodityPublicExtInfos.cs new file mode 100644 index 0000000..50a6abb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommodityPublicExtInfos.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CommodityPublicExtInfos Data Structure. + /// + [Serializable] + public class CommodityPublicExtInfos : AopObject + { + /// + /// 前置url + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 应用展台id + /// + [JsonProperty("app_id")] + public string AppId { get; set; } + + /// + /// 类目 + /// + [JsonProperty("category_name")] + public string CategoryName { get; set; } + + /// + /// 城市名称 + /// + [JsonProperty("city_name")] + public string CityName { get; set; } + + /// + /// 服务插件ID + /// + [JsonProperty("commodity_id")] + public string CommodityId { get; set; } + + /// + /// 创建者ID + /// + [JsonProperty("create_user_id")] + public string CreateUserId { get; set; } + + /// + /// 挂载ID,用于确认唯一记录的主键对象 + /// + [JsonProperty("displayapp_id")] + public string DisplayappId { get; set; } + + /// + /// 城市服务说明 + /// + [JsonProperty("displayapp_memo")] + public string DisplayappMemo { get; set; } + + /// + /// 服务别名 + /// + [JsonProperty("displayapp_name")] + public string DisplayappName { get; set; } + + /// + /// 状态 1:上架;0:下架;2:维护中 + /// + [JsonProperty("displayapp_status")] + public string DisplayappStatus { get; set; } + + /// + /// 用户访问地址 + /// + [JsonProperty("displayapp_url")] + public string DisplayappUrl { get; set; } + + /// + /// 外部展示地址 + /// + [JsonProperty("export_url")] + public string ExportUrl { get; set; } + + /// + /// 属性ID + /// + [JsonProperty("property_id")] + public string PropertyId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommonDescInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommonDescInfo.cs new file mode 100644 index 0000000..b62a9ab --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CommonDescInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CommonDescInfo Data Structure. + /// + [Serializable] + public class CommonDescInfo : AopObject + { + /// + /// 图片URL地址,最大不超过60K,必须使用https + /// + [JsonProperty("img")] + public string Img { get; set; } + + /// + /// 文本描述 + /// + [JsonProperty("text")] + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ComplexLabelRule.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ComplexLabelRule.cs new file mode 100644 index 0000000..a4cb7d4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ComplexLabelRule.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ComplexLabelRule Data Structure. + /// + [Serializable] + public class ComplexLabelRule : AopObject + { + /// + /// 标签id + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 标签取值,当有多个取值时用英文","分隔(比如使用in操作符时);不允许传入下划线"_"、竖线"|"或者空格" " + /// + [JsonProperty("label_value")] + public string LabelValue { get; set; } + + /// + /// 目前支持EQ(等于)、NEQ(不等于)、LT(小于),GT(大于)、LTEQ(小于等于)、GTEQ(大于等于)、LIKE(匹配)、BETWEEN(范围)、IN(包含)、NOTIN(不包含)操作 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ComplextMockModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ComplextMockModel.cs new file mode 100644 index 0000000..fe69f03 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ComplextMockModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ComplextMockModel Data Structure. + /// + [Serializable] + public class ComplextMockModel : AopObject + { + /// + /// biz_model + /// + [JsonProperty("biz_model")] + public SimpleMockModel BizModel { get; set; } + + /// + /// 11 + /// + [JsonProperty("biz_num")] + public long BizNum { get; set; } + + /// + /// 208xxx + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Condition.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Condition.cs new file mode 100644 index 0000000..da15036 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Condition.cs @@ -0,0 +1,31 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Condition Data Structure. + /// + [Serializable] + public class Condition : AopObject + { + /// + /// 字段名称,目前支持以下字段: name: 活动名称 startTime: 开始时间 endTime: 结束时间 status:活动状态 + /// + [JsonProperty("field_name")] + public string FieldName { get; set; } + + /// + /// 对应于field_name的字段值,当field_name为status时,field_value支持STARTED、STARTING、MODIFYING、CLOSED、CLOSING、DISABLED几种值,用|分隔,代表查询这些状态中的活动,此时operator只能为IN,field_name为name时候value表示要查询的活动名,field_name为时间时,field_value为开始或结束时间,格式如2016-10-01 + /// 00:00:00 + /// + [JsonProperty("field_value")] + public string FieldValue { get; set; } + + /// + /// 操作符,EQUAL:等于,IN:范围。目前支持field_name=status且operator=IN,多个状态以"|"分隔 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConstraintInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConstraintInfo.cs new file mode 100644 index 0000000..caa088f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConstraintInfo.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ConstraintInfo Data Structure. + /// + [Serializable] + public class ConstraintInfo : AopObject + { + /// + /// 资金池ID (数据来源:需要ISV自己去口碑销售中台创建资金池,拿到对应的资金池ID,此参数仅适用ISV接入口福业务场景时使用,其他场景不需要传递此参数) + /// + [JsonProperty("cash_pool_id")] + public string CashPoolId { get; set; } + + /// + /// 人群规则组ID 仅直发奖类型活动设置有效,通过调用营销活动人群组规则创建接口参数返回 + /// + [JsonProperty("crowd_group_id")] + public string CrowdGroupId { get; set; } + + /// + /// 针对指定人群的约束条件 + /// + [JsonProperty("crowd_restriction")] + public string CrowdRestriction { get; set; } + + /// + /// 单品码列表 仅在创建消费单品送活动时设置,最多设置500个单品码,由商户根据自己的商品管理自定义,一般为国标码 + /// + [JsonProperty("item_ids")] + + public List ItemIds { get; set; } + + /// + /// 最低消费金额,单位元 仅在创建消费送礼包活动时设置 + /// + [JsonProperty("min_cost")] + public string MinCost { get; set; } + + /// + /// 补贴百分比,95表示 95%,支持两位小数 (参数说明:补贴比例95%,表示ISV出资95%,商户出资5%,此参数仅适用ISV接入口福业务场景时使用,其他场景不需要传递此参数) + /// + [JsonProperty("subsidy_percent")] + public string SubsidyPercent { get; set; } + + /// + /// 活动适用的门店列表 仅品牌商发起的招商活动可为空 最多支持10w家门店 + /// + [JsonProperty("suit_shops")] + + public List SuitShops { get; set; } + + /// + /// 活动期间用户能够参与的次数限制 如果不设置则不限制参与次数 + /// + [JsonProperty("user_win_count")] + public string UserWinCount { get; set; } + + /// + /// 活动期间用户能够参与的频率限制 如果不设置则不限制参与频率 每日中奖1次: D||1 每周中奖2次: W||2 每月中奖3次: M||3 + /// + [JsonProperty("user_win_frequency")] + public string UserWinFrequency { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConsumeInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConsumeInfo.cs new file mode 100644 index 0000000..9656b07 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConsumeInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ConsumeInfo Data Structure. + /// + [Serializable] + public class ConsumeInfo : AopObject + { + /// + /// 领取时间 + /// + [JsonProperty("taken_time")] + public string TakenTime { get; set; } + + /// + /// 用户名 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + + /// + /// 面额(单位分) + /// + [JsonProperty("voucher_amt")] + public string VoucherAmt { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConsumeRecordAOPModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConsumeRecordAOPModel.cs new file mode 100644 index 0000000..e024f89 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ConsumeRecordAOPModel.cs @@ -0,0 +1,326 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ConsumeRecordAOPModel Data Structure. + /// + [Serializable] + public class ConsumeRecordAOPModel : AopObject + { + /// + /// 接入渠道 + /// + [JsonProperty("access_channel")] + public string AccessChannel { get; set; } + + /// + /// 扩展状态 + /// + [JsonProperty("additional_status")] + public string AdditionalStatus { get; set; } + + /// + /// 用户下一步动作 + /// + [JsonProperty("biz_actions")] + + public List BizActions { get; set; } + + /// + /// 业务扩展流水号 + /// + [JsonProperty("biz_extra_no")] + public string BizExtraNo { get; set; } + + /// + /// 业务流水号 + /// + [JsonProperty("biz_in_no")] + public string BizInNo { get; set; } + + /// + /// 业务备注 + /// + [JsonProperty("biz_memo")] + public string BizMemo { get; set; } + + /// + /// 业务发起方 + /// + [JsonProperty("biz_orig")] + public string BizOrig { get; set; } + + /// + /// 业务外部流水号 + /// + [JsonProperty("biz_out_no")] + public string BizOutNo { get; set; } + + /// + /// 业务状态 + /// + [JsonProperty("biz_state")] + public string BizState { get; set; } + + /// + /// 业务子类型 + /// + [JsonProperty("biz_sub_type")] + public string BizSubType { get; set; } + + /// + /// 业务类型 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 自定义分类Id + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 总费用 + /// + [JsonProperty("consume_fee")] + public string ConsumeFee { get; set; } + + /// + /// 消费记录退款状态 + /// + [JsonProperty("consume_refund_status")] + public string ConsumeRefundStatus { get; set; } + + /// + /// 来源 + /// + [JsonProperty("consume_site")] + public string ConsumeSite { get; set; } + + /// + /// 消费记录状态 + /// + [JsonProperty("consume_status")] + public string ConsumeStatus { get; set; } + + /// + /// 标题 + /// + [JsonProperty("consume_title")] + public string ConsumeTitle { get; set; } + + /// + /// 消费记录类型 + /// + [JsonProperty("consume_type")] + public string ConsumeType { get; set; } + + /// + /// 货币币种 + /// + [JsonProperty("currency")] + public string Currency { get; set; } + + /// + /// 消费记录永久删除时间 + /// + [JsonProperty("delete_over_time")] + public string DeleteOverTime { get; set; } + + /// + /// 消费记录删除时间 + /// + [JsonProperty("delete_time")] + public string DeleteTime { get; set; } + + /// + /// 消费记录删除标记 + /// + [JsonProperty("delete_type")] + public string DeleteType { get; set; } + + /// + /// 充退状态,可能为空,目前只针对交易业务有效 + /// + [JsonProperty("depositback_status")] + public string DepositbackStatus { get; set; } + + /// + /// 是否锁定标记 + /// + [JsonProperty("flag_locked")] + public string FlagLocked { get; set; } + + /// + /// 退款标记 + /// + [JsonProperty("flag_refund")] + public string FlagRefund { get; set; } + + /// + /// 业务数据创建时间 + /// + [JsonProperty("gmt_biz_create")] + public string GmtBizCreate { get; set; } + + /// + /// 业务数据最后更新时间 + /// + [JsonProperty("gmt_biz_modified")] + public string GmtBizModified { get; set; } + + /// + /// 消费记录创建时间 + /// + [JsonProperty("gmt_create")] + public string GmtCreate { get; set; } + + /// + /// 消费记录最后更新时间 + /// + [JsonProperty("gmt_modified")] + public string GmtModified { get; set; } + + /// + /// 收到付款时间(买家付款时间) + /// + [JsonProperty("gmt_receive_pay")] + public string GmtReceivePay { get; set; } + + /// + /// 打款给卖家时间(卖家收款时间) + /// + [JsonProperty("gmt_send_pay")] + public string GmtSendPay { get; set; } + + /// + /// 是否有资金明细 + /// + [JsonProperty("has_fund_item")] + public bool HasFundItem { get; set; } + + /// + /// 是否有新资金明细(落地新流程交易的消费记录) + /// + [JsonProperty("has_new_fund_item")] + public bool HasNewFundItem { get; set; } + + /// + /// 收入/支出 + /// + [JsonProperty("in_out")] + public string InOut { get; set; } + + /// + /// 对方卡号 + /// + [JsonProperty("opposite_card_no")] + public string OppositeCardNo { get; set; } + + /// + /// 对方登录ID + /// + [JsonProperty("opposite_login_id")] + public string OppositeLoginId { get; set; } + + /// + /// 对方名称 + /// + [JsonProperty("opposite_name")] + public string OppositeName { get; set; } + + /// + /// 对方昵称 + /// + [JsonProperty("opposite_nick_name")] + public string OppositeNickName { get; set; } + + /// + /// 消费记录原标题 + /// + [JsonProperty("orig_consume_title")] + public string OrigConsumeTitle { get; set; } + + /// + /// 本方卡号 + /// + [JsonProperty("owner_card_no")] + public string OwnerCardNo { get; set; } + + /// + /// 本方客户ID + /// + [JsonProperty("owner_customer_id")] + public string OwnerCustomerId { get; set; } + + /// + /// 本方登录ID + /// + [JsonProperty("owner_login_id")] + public string OwnerLoginId { get; set; } + + /// + /// 本方名称 + /// + [JsonProperty("owner_name")] + public string OwnerName { get; set; } + + /// + /// 本方昵称 + /// + [JsonProperty("owner_nick")] + public string OwnerNick { get; set; } + + /// + /// 合作伙伴ID + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 创建渠道 + /// + [JsonProperty("pay_channel")] + public string PayChannel { get; set; } + + /// + /// 代付人&亲密付人姓名 + /// + [JsonProperty("peerpayer_real_name")] + public string PeerpayerRealName { get; set; } + + /// + /// 产品码 + /// + [JsonProperty("product")] + public string Product { get; set; } + + /// + /// 最后一次退款金额 + /// + [JsonProperty("refund_fee")] + public string RefundFee { get; set; } + + /// + /// 服务费 + /// + [JsonProperty("service_fee")] + public string ServiceFee { get; set; } + + /// + /// 多次成功退款总金额 + /// + [JsonProperty("total_refund_fee")] + public string TotalRefundFee { get; set; } + + /// + /// 交易来源 + /// + [JsonProperty("trade_from")] + public string TradeFrom { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactFollower.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactFollower.cs new file mode 100644 index 0000000..f95dc69 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactFollower.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ContactFollower Data Structure. + /// + [Serializable] + public class ContactFollower : AopObject + { + /// + /// 支付宝头像 + /// + [JsonProperty("avatar")] + public string Avatar { get; set; } + + /// + /// 默认头像 + /// + [JsonProperty("default_avatar")] + public string DefaultAvatar { get; set; } + + /// + /// false + /// + [JsonProperty("each_record_flag")] + public string EachRecordFlag { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactInfo.cs new file mode 100644 index 0000000..fe6c014 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ContactInfo Data Structure. + /// + [Serializable] + public class ContactInfo : AopObject + { + /// + /// 电子邮箱 + /// + [JsonProperty("email")] + public string Email { get; set; } + + /// + /// 身份证号 + /// + [JsonProperty("id_card_no")] + public string IdCardNo { get; set; } + + /// + /// 手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 联系人名字 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 电话 + /// + [JsonProperty("phone")] + public string Phone { get; set; } + + /// + /// 联系人类型,取值范围:LEGAL_PERSON:法人;CONTROLLER:实际控制人;AGENT:代理人;OTHER:其他 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactPersonInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactPersonInfo.cs new file mode 100644 index 0000000..0229b16 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContactPersonInfo.cs @@ -0,0 +1,37 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ContactPersonInfo Data Structure. + /// + [Serializable] + public class ContactPersonInfo : AopObject + { + /// + /// 联系人邮箱地址,入驻申请审核结果会发送至该邮箱 + /// + [JsonProperty("contact_email")] + public string ContactEmail { get; set; } + + /// + /// 联系人手机号,入驻申请结果会通过短信的形式发送至该手机号码 + /// + [JsonProperty("contact_mobile")] + public string ContactMobile { get; set; } + + /// + /// 企业联系人名称 + /// + [JsonProperty("contact_name")] + public string ContactName { get; set; } + + /// + /// 联系人类型,MERCHANT_CONTACT (普通联系人),DATA_RETURN (数据反馈联系人),PROT_CONTACT(客服人员),OBJECTION_HANDLE + /// (异议处理联系人),如不填默认为MERCHANT_CONTACT + /// + [JsonProperty("contact_type")] + public string ContactType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContentPicture.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContentPicture.cs new file mode 100644 index 0000000..a3510d8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ContentPicture.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ContentPicture Data Structure. + /// + [Serializable] + public class ContentPicture : AopObject + { + /// + /// 调用alipay.offline.material.image.upload,将图片上传到素材中心后,生成的ID + /// + [JsonProperty("location")] + public string Location { get; set; } + + /// + /// 图片名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// "DISH":"菜品","ENVIRONMENT":"环境","SHOPHEAD":"门头照","OTHER":"其他" + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Context.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Context.cs new file mode 100644 index 0000000..c9d7b49 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Context.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Context Data Structure. + /// + [Serializable] + public class Context : AopObject + { + /// + /// 底部链接描述文字,如“查看详情” + /// + [JsonProperty("action_name")] + public string ActionName { get; set; } + + /// + /// 模板中占位符的值及文字颜色,value和color都为必填项,color为当前文字颜色 + /// + [JsonProperty("first")] + public Keyword First { get; set; } + + /// + /// 顶部色条的色值 + /// + [JsonProperty("head_color")] + public string HeadColor { get; set; } + + /// + /// 模板中占位符的值及文字颜色,value和color都为必填项,color为当前文字颜色 + /// + [JsonProperty("keyword1")] + public Keyword Keyword1 { get; set; } + + /// + /// 模板中占位符的值及文字颜色,value和color都为必填项,color为当前文字颜色 + /// + [JsonProperty("keyword2")] + public Keyword Keyword2 { get; set; } + + /// + /// 模板中占位符的值及文字颜色,value和color都为必填项,color为当前文字颜色 + /// + [JsonProperty("remark")] + public Keyword Remark { get; set; } + + /// + /// 点击消息后承接页的地址 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Contract.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Contract.cs new file mode 100644 index 0000000..7675b7a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Contract.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Contract Data Structure. + /// + [Serializable] + public class Contract : AopObject + { + /// + /// 合约文本内容 + /// + [JsonProperty("text")] + public string Text { get; set; } + + /// + /// 合约标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 合约类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Coupon.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Coupon.cs new file mode 100644 index 0000000..afec6c7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Coupon.cs @@ -0,0 +1,102 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Coupon Data Structure. + /// + [Serializable] + public class Coupon : AopObject + { + /// + /// 当前可用面额 + /// + [JsonProperty("available_amount")] + public string AvailableAmount { get; set; } + + /// + /// 红包编号 + /// + [JsonProperty("coupon_no")] + public string CouponNo { get; set; } + + /// + /// 可优惠面额 + /// + [JsonProperty("deduct_amount")] + public string DeductAmount { get; set; } + + /// + /// 有效期开始时间 + /// + [JsonProperty("gmt_active")] + public string GmtActive { get; set; } + + /// + /// 创建时间 + /// + [JsonProperty("gmt_create")] + public string GmtCreate { get; set; } + + /// + /// 有效期结束时间 + /// + [JsonProperty("gmt_expired")] + public string GmtExpired { get; set; } + + /// + /// 红包使用说明 + /// + [JsonProperty("instructions")] + public string Instructions { get; set; } + + /// + /// 红包详情说明 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户id + /// + [JsonProperty("merchant_uniq_id")] + public string MerchantUniqId { get; set; } + + /// + /// 是否可叠加 + /// + [JsonProperty("multi_use_flag")] + public string MultiUseFlag { get; set; } + + /// + /// 红包名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 是否可退款标识 + /// + [JsonProperty("refund_flag")] + public string RefundFlag { get; set; } + + /// + /// 红包状态信息 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 红包模板编号 + /// + [JsonProperty("template_no")] + public string TemplateNo { get; set; } + + /// + /// 用户openid + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeNoticeDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeNoticeDetail.cs new file mode 100644 index 0000000..b253784 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeNoticeDetail.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CplifeNoticeDetail Data Structure. + /// + [Serializable] + public class CplifeNoticeDetail : AopObject + { + /// + /// 通告公告的具体内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 通知的下线时间. + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 通知公告中允许出现的图片列表。 + /// + [JsonProperty("image_list")] + + public List ImageList { get; set; } + + /// + /// 通知的上线时间,该时刻之后,用户才能在支付宝客户端看到该通知。 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 通知是否置顶,默认为false. + /// + [JsonProperty("stickied")] + public bool Stickied { get; set; } + + /// + /// 通知(公告)的标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 通告公告的具体类型.通知:“01” ,公告:“02” + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeNoticeImg.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeNoticeImg.cs new file mode 100644 index 0000000..2ec53ee --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeNoticeImg.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CplifeNoticeImg Data Structure. + /// + [Serializable] + public class CplifeNoticeImg : AopObject + { + /// + /// 在通知中需要展示的图片链接,API调用之后,该图片将会被自动下载到物业社区平台服务器,用于系统显示。API调用成功之后,手工更改URL对应的图片资源时,用户在支付宝APP端看到的图片将保持不变。 + /// + [JsonProperty("image_url")] + public string ImageUrl { get; set; } + + /// + /// 在通知中需要展示的图片的缩略图链接,API调用之后,该图片将会被自动下载到物业社区平台服务器,用于系统显示。API调用成功之后,手工更改URL对应的图片资源时,用户在支付宝APP端看到的图片将保持不变。 + /// + [JsonProperty("thumbnail_url")] + public string ThumbnailUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeResidentInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeResidentInfo.cs new file mode 100644 index 0000000..9ddc936 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeResidentInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CplifeResidentInfo Data Structure. + /// + [Serializable] + public class CplifeResidentInfo : AopObject + { + /// + /// 业主关联的房产在支付宝平台中的唯一标识。(该属性和property_entity_id两个至少需要填写一项,如果两项都填写则以entity_id为准.) + /// + [JsonProperty("entity_id")] + public string EntityId { get; set; } + + /// + /// 业主身份证号的MD5结果 + /// + [JsonProperty("idcard_no")] + public string IdcardNo { get; set; } + + /// + /// 用户的真实姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 业主关联的房产在物业系统中的唯一标识。(该属性和entity_id两个至少需要填写一项,如果两项都填写则以entity_id为准.) + /// + [JsonProperty("out_entity_id")] + public string OutEntityId { get; set; } + + /// + /// 物业系统中小区住户的唯一ID标识. + /// + [JsonProperty("out_resident_id")] + public string OutResidentId { get; set; } + + /// + /// 用户对房产的关系类型。业主:1;家人:2;租客:3 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomDetail.cs new file mode 100644 index 0000000..03baf51 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomDetail.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CplifeRoomDetail Data Structure. + /// + [Serializable] + public class CplifeRoomDetail : AopObject + { + /// + /// 房间完整门牌地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 房屋所在楼栋名称。例如“1栋”,“1幢”等 + /// + [JsonProperty("building")] + public string Building { get; set; } + + /// + /// 房屋所在的组团名称。例如“一期”,“东区”,“香桂苑”等 + /// + [JsonProperty("group")] + public string Group { get; set; } + + /// + /// 商户系统小区房屋唯一ID标示. + /// + [JsonProperty("out_room_id")] + public string OutRoomId { get; set; } + + /// + /// 房屋所在房号。例如“1101室”,“11B室”等 + /// + [JsonProperty("room")] + public string Room { get; set; } + + /// + /// 支付宝系统房间唯一标示. + /// + [JsonProperty("room_id")] + public string RoomId { get; set; } + + /// + /// 房屋所在单元名称。例如“一单元”,“二单元”等 + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomInfo.cs new file mode 100644 index 0000000..9106437 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CplifeRoomInfo Data Structure. + /// + [Serializable] + public class CplifeRoomInfo : AopObject + { + /// + /// 房间的完整门牌地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 房屋所在楼栋名称。例如“1栋”,“1幢”等 + /// + [JsonProperty("building")] + public string Building { get; set; } + + /// + /// 房屋所在的组团名称。例如“一期”,“东区”,“香桂苑”等 + /// + [JsonProperty("group")] + public string Group { get; set; } + + /// + /// 商户系统小区房屋唯一ID标示. + /// + [JsonProperty("out_room_id")] + public string OutRoomId { get; set; } + + /// + /// 房屋所在房号。例如“1101室”,“11B室”等 + /// + [JsonProperty("room")] + public string Room { get; set; } + + /// + /// 房屋所在单元名称。例如“一单元”,“二单元”等 + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomInfoResp.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomInfoResp.cs new file mode 100644 index 0000000..bf97fdb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CplifeRoomInfoResp.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CplifeRoomInfoResp Data Structure. + /// + [Serializable] + public class CplifeRoomInfoResp : AopObject + { + /// + /// 商户系统小区房屋唯一ID标示. + /// + [JsonProperty("out_room_id")] + public string OutRoomId { get; set; } + + /// + /// 支付宝系统房间唯一标示. + /// + [JsonProperty("room_id")] + public string RoomId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanAssessment.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanAssessment.cs new file mode 100644 index 0000000..3d1edbe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanAssessment.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanAssessment Data Structure. + /// + [Serializable] + public class CraftsmanAssessment : AopObject + { + /// + /// 子评分项 + /// + [JsonProperty("sub_assessments")] + + public List SubAssessments { get; set; } + + /// + /// 单个手艺人的评价总条数。 + /// + [JsonProperty("total_no")] + public long TotalNo { get; set; } + + /// + /// 单个手艺人的总评分的均分 + /// + [JsonProperty("total_score")] + public long TotalScore { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanOpenModel.cs new file mode 100644 index 0000000..643fb4a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanOpenModel.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanOpenModel Data Structure. + /// + [Serializable] + public class CraftsmanOpenModel : AopObject + { + /// + /// 手艺人账户名,仅支持小写字母和数字。上限12个小写字母或者数字。举例,若商户在口碑商家的登录账号为 testaop01@alipay.com,手艺人账号名为zhangsan,则手艺人登录口碑商家的账号名为 + /// testaop01@alipay.com#zhangsan,获取登录密码需要扫商户app的员工激活码。从口碑商家app的员工管理进入员工详情页获取登录密码。 + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 手艺人评分信息 + /// + [JsonProperty("assessment")] + public CraftsmanAssessment Assessment { get; set; } + + /// + /// 手艺人头像,在商家端手艺人管理和用户端手艺人个人简介中展示手艺人头像 (通过 alipay.offline.material.image.upload + /// 接口上传图片获取的资源id),上限最大5M,支持bmp,png,jpeg,jpg,gif格式的图片。 + /// + [JsonProperty("avatar")] + public string Avatar { get; set; } + + /// + /// 从业起始年月 + /// + [JsonProperty("career_begin")] + public string CareerBegin { get; set; } + + /// + /// 职业。目前只能传支持一个。枚举类型目前有19种,发型师、美甲师、美容师、美睫师、纹绣师、纹身师、摄影师、教练、教师、化妆师、司仪、摄像师、按摩技师、足疗技师、灸疗师、理疗师、修脚师、采耳师、其他。 + /// + [JsonProperty("careers")] + + public List Careers { get; set; } + + /// + /// 口碑手艺人id + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 手艺人简介,上限300字。 + /// + [JsonProperty("introduction")] + public string Introduction { get; set; } + + /// + /// 手艺人真实姓名,isv生成,由手艺人用户在isv系统填写,展示给商户看。上限40个字。 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 昵称,上限16字,手艺人个人主页名称,展示给消费者看。 + /// + [JsonProperty("nick_name")] + public string NickName { get; set; } + + /// + /// 手艺人关联的操作员ID + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 外部手艺人id,由ISV生成,isv的appId + 外部手艺人id全局唯一 + /// + [JsonProperty("out_craftsman_id")] + public string OutCraftsmanId { get; set; } + + /// + /// 收款二维码地址,手艺人收款码,每个手艺人都有一个收款二维码。该二维码收款所得的金额进入商户的账号,如果手艺人所在的门店设置了门店收款账号,则资金进入门店收款账号,如果没有设置门店收款账号,则资金进入商户与口碑开店签约的支付宝账号。 + /// + [JsonProperty("qr_code")] + public string QrCode { get; set; } + + /// + /// 手艺人所属门店 + /// + [JsonProperty("shop_relations")] + + public List ShopRelations { get; set; } + + /// + /// 描述手艺人擅长的技术(如烫染、二分式剪法、足疗、中医推拿、刮痧、火疗、拔罐、婚纱、儿童、写真...)。最多6个标签,每个标签字段上限10个字。 + /// + [JsonProperty("specialities")] + + public List Specialities { get; set; } + + /// + /// 手艺人状态,EFFECTIVE和INVALID,生效和失效。失效状态一般用于手艺人已离职 或者 手艺人发布不实信息导致用户投诉被平台处罚。 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 手艺人的手机号,在商家端和用户端展示,不支持座机 + /// + [JsonProperty("tel_num")] + public string TelNum { get; set; } + + /// + /// 头衔,手艺人在店内的职称。上限10个字。 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 支付宝账户uid + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanShopRelationOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanShopRelationOpenModel.cs new file mode 100644 index 0000000..407b3db --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanShopRelationOpenModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanShopRelationOpenModel Data Structure. + /// + [Serializable] + public class CraftsmanShopRelationOpenModel : AopObject + { + /// + /// 推荐权重。整数。小于等于0表示不在口碑店铺页展示 大于0表示在口碑店铺页展示, 值越大,排序越靠前。 + /// + [JsonProperty("recommend_weight")] + public long RecommendWeight { get; set; } + + /// + /// 口碑门店ID,可通过门店摘要信息批量查询接口 alipay.offline.market.shop.summary.batchquery获取。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanSubAssessment.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanSubAssessment.cs new file mode 100644 index 0000000..2993a6a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanSubAssessment.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanSubAssessment Data Structure. + /// + [Serializable] + public class CraftsmanSubAssessment : AopObject + { + /// + /// 子评分 + /// + [JsonProperty("score")] + public long Score { get; set; } + + /// + /// 子评分项名 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkCreateOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkCreateOpenModel.cs new file mode 100644 index 0000000..f23aabd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkCreateOpenModel.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanWorkCreateOpenModel Data Structure. + /// + [Serializable] + public class CraftsmanWorkCreateOpenModel : AopObject + { + /// + /// 视频资源必传,视频时长,单位(秒) + /// + [JsonProperty("duration")] + public long Duration { get; set; } + + /// + /// 媒体资源id(通过 alipay.offline.material.image.upload + /// 接口上传图片获取的资源id)。图片上限最大5M,支持bmp,png,jpeg,jpg,gif格式的图片。视频上限最大50M,支持MP4格式。 + /// + [JsonProperty("media_id")] + public string MediaId { get; set; } + + /// + /// 媒体类型。仅支持图片/视频格式,图片类型时传入PICTURE;视频类型时传入VIDEO + /// + [JsonProperty("media_type")] + public string MediaType { get; set; } + + /// + /// 外部作品id,isv的appId+外部作品id全局唯一 + /// + [JsonProperty("out_work_id")] + public string OutWorkId { get; set; } + + /// + /// 作品标题,上限10个字。 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkOpenModel.cs new file mode 100644 index 0000000..94e55c1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkOpenModel.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanWorkOpenModel Data Structure. + /// + [Serializable] + public class CraftsmanWorkOpenModel : AopObject + { + /// + /// 口碑手艺人id。是创建手艺人接口koubei.craftsman.data.provider.create返回的craftsman_id,或通过查询手艺人信息接口koubei.craftsman.data.provider查询craftsman_id + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 视频资源必传 视频时长 单位(秒) + /// + [JsonProperty("duration")] + public long Duration { get; set; } + + /// + /// 媒体资源id(通过 alipay.offline.material.image.upload + /// 接口上传图片获取的资源id)。图片上限最大5M,支持bmp,png,jpeg,jpg,gif格式的图片。视频上限最大50M,支持MP4格式。 + /// + [JsonProperty("media_id")] + public string MediaId { get; set; } + + /// + /// 媒体类型。仅支持图片/视频格式,图片类型时为PICTURE;视频类型时为VIDEO + /// + [JsonProperty("media_type")] + public string MediaType { get; set; } + + /// + /// 状态: EFFECTIVE 生效,INVALID 失效。失效状态主要用于平台对作品的处罚,例如作品涉黄赌毒、被用户投诉欺诈等。 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 作品标题,上限10个字。 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 口碑手艺人作品id,是创建手艺人作品接口koubei.craftsman.data.work.create返回的work_id + /// + [JsonProperty("work_id")] + public string WorkId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkOutIdOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkOutIdOpenModel.cs new file mode 100644 index 0000000..1dd80a1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CraftsmanWorkOutIdOpenModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CraftsmanWorkOutIdOpenModel Data Structure. + /// + [Serializable] + public class CraftsmanWorkOutIdOpenModel : AopObject + { + /// + /// 外部作品id,isv生成,isv的appId+out_work_id全局唯一 + /// + [JsonProperty("out_work_id")] + public string OutWorkId { get; set; } + + /// + /// 支付宝生成的作品id,全局唯一,用于修改删除作品 + /// + [JsonProperty("work_id")] + public string WorkId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CreditResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CreditResult.cs new file mode 100644 index 0000000..d9ef33b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CreditResult.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CreditResult Data Structure. + /// + [Serializable] + public class CreditResult : AopObject + { + /// + /// 授信金额 + /// + [JsonProperty("credit_line")] + public string CreditLine { get; set; } + + /// + /// 授信编号 + /// + [JsonProperty("credit_no")] + public string CreditNo { get; set; } + + /// + /// 一笔授信规定的从开始到结束的周期,例如12个月,30天等。 + /// + [JsonProperty("credit_term")] + public long CreditTerm { get; set; } + + /// + /// 年、月、日 + /// + [JsonProperty("credit_term_unit")] + public string CreditTermUnit { get; set; } + + /// + /// 当贷款机构给客户一个可使用的授信时,只有在某一个日期之后客户才能使用,这个日期就是授信使用生效日期。 + /// + [JsonProperty("effective_date")] + public string EffectiveDate { get; set; } + + /// + /// 当贷款机构给客户一个可使用的授信时,客户必须要在某一个日期之前必须支用,否则此笔授信就会失效。 + /// + [JsonProperty("expire_date")] + public string ExpireDate { get; set; } + + /// + /// 技术服务费 + /// + [JsonProperty("fee_rate")] + public string FeeRate { get; set; } + + /// + /// 贷款利率 + /// + [JsonProperty("interest_rate")] + public string InterestRate { get; set; } + + /// + /// 一笔授信支用规定的从开始到结束的周期,例如12个月,30天等。 + /// + [JsonProperty("loan_term")] + public long LoanTerm { get; set; } + + /// + /// 年、月、日 + /// + [JsonProperty("loan_term_unit")] + public string LoanTermUnit { get; set; } + + /// + /// 还款方式,例如等额本息 + /// + [JsonProperty("repayment_mode")] + public string RepaymentMode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CrowdRuleInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CrowdRuleInfo.cs new file mode 100644 index 0000000..f2c39b5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CrowdRuleInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CrowdRuleInfo Data Structure. + /// + [Serializable] + public class CrowdRuleInfo : AopObject + { + /// + /// 规则描述 + /// + [JsonProperty("ruledesc")] + public string Ruledesc { get; set; } + + /// + /// 规则id + /// + [JsonProperty("ruleid")] + public string Ruleid { get; set; } + + /// + /// 圈人规则的状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomReportCondition.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomReportCondition.cs new file mode 100644 index 0000000..07c0f5b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomReportCondition.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CustomReportCondition Data Structure. + /// + [Serializable] + public class CustomReportCondition : AopObject + { + /// + /// 规则KEY-为空则为创建规则,否则更新规则 + /// + [JsonProperty("condition_key")] + public string ConditionKey { get; set; } + + /// + /// 明细数据标签 + /// + [JsonProperty("data_tags")] + + public List DataTags { get; set; } + + /// + /// 分组过滤条件 + /// + [JsonProperty("filter_tags")] + + public List FilterTags { get; set; } + + /// + /// 分组数据标签集合 + /// 注意:这个是JSON数组,必须以[开头,以]结尾,[]外层不能加双引号"",正确案例["orpt_ubase_age","orpt_ubase_birthday_mm"],错误案例:"["orpt_ubase_age","orpt_ubase_birthday_mm"]" + /// + [JsonProperty("group_tags")] + public string GroupTags { get; set; } + + /// + /// 规则描述 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 自定义报表名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 排序数据标签集合 + /// 注意:这个是JSON数组,必须以[开头,以]结尾,[]外层不能加双引号"",正确案例[{"code":"orpt_ubase_age","sortBy":"DESC"}],错误案例:"[{"code":"orpt_ubase_age","sortBy":"DESC"}]" + /// + [JsonProperty("sort_tags")] + public string SortTags { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomerEntity.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomerEntity.cs new file mode 100644 index 0000000..8756e1d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomerEntity.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CustomerEntity Data Structure. + /// + [Serializable] + public class CustomerEntity : AopObject + { + /// + /// 实体英文名 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 实体描述 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 实体id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 实体中文名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// tag列表 + /// + [JsonProperty("tags")] + + public List Tags { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomerTag.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomerTag.cs new file mode 100644 index 0000000..e832741 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomerTag.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CustomerTag Data Structure. + /// + [Serializable] + public class CustomerTag : AopObject + { + /// + /// 字段名称 + /// + [JsonProperty("col_name")] + public string ColName { get; set; } + + /// + /// column_type字段类型 + /// + [JsonProperty("column_type")] + public string ColumnType { get; set; } + + /// + /// id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 标签名 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomsDeclareBuyerInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomsDeclareBuyerInfo.cs new file mode 100644 index 0000000..c0bb3c9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomsDeclareBuyerInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CustomsDeclareBuyerInfo Data Structure. + /// + [Serializable] + public class CustomsDeclareBuyerInfo : AopObject + { + /// + /// 订购人身份证号。即订购人留在商户处的身份证信息 + /// + [JsonProperty("buyer_cert_no")] + public string BuyerCertNo { get; set; } + + /// + /// 订购人姓名。即订购人留在商户处的姓名信息 + /// + [JsonProperty("buyer_name")] + public string BuyerName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomsDeclareRecordInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomsDeclareRecordInfo.cs new file mode 100644 index 0000000..9b55c28 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/CustomsDeclareRecordInfo.cs @@ -0,0 +1,103 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// CustomsDeclareRecordInfo Data Structure. + /// + [Serializable] + public class CustomsDeclareRecordInfo : AopObject + { + /// + /// 支付宝报关流水号。 + /// + [JsonProperty("alipay_declare_no")] + public string AlipayDeclareNo { get; set; } + + /// + /// 报关金额,单位为人民币“元”,精确到小数点后2位。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 此记录所报关的海关编号,参见“海关编号”。 + /// + [JsonProperty("customs_place")] + public string CustomsPlace { get; set; } + + /// + /// 发起报关后,海关返回回执中的结果码。目前只有总署的报关,并且总署回执接收成功的请求才会返回此参数 2:电子口岸申报中 3:发送海关成功 4:发送海关失败 100:海关退单 399:海关审结 + /// 小于0的数字:表示处理异常回执 注意: 支付宝原样返回海关返回的数据,参数值以海关的定义为准。 + /// + [JsonProperty("customs_result_code")] + public string CustomsResultCode { get; set; } + + /// + /// 发起报关后,海关返回回执中的结果描述信息。目前只有总署报关,并且总署成功返回回执的时候会有此值 + /// + [JsonProperty("customs_result_info")] + public string CustomsResultInfo { get; set; } + + /// + /// 发起报关后,海关返回回执的时间,格式为:yyyyMMddHHmmss。目前只有总署报关,并且总署成功返回回执的时候才会有此参数。 + /// + [JsonProperty("customs_result_return_time")] + public string CustomsResultReturnTime { get; set; } + + /// + /// T: 拆单;F:非拆单。当请求没有拆单或者请求传入的is_split=F时,不会返回此参数。 + /// + [JsonProperty("is_split")] + public string IsSplit { get; set; } + + /// + /// 报关记录状态最后更新时间 + /// + [JsonProperty("last_modified_time")] + public string LastModifiedTime { get; set; } + + /// + /// 备注说明 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商户在海关备案的编号。 + /// + [JsonProperty("merchant_customs_code")] + public string MerchantCustomsCode { get; set; } + + /// + /// 商户海关备案名称 + /// + [JsonProperty("merchant_customs_name")] + public string MerchantCustomsName { get; set; } + + /// + /// 报关请求号。商户端报关请求号,对应入参中的某条报关请求号。 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 该报关单当前的状态: - ws等待发送海关 - sending已提交发送海关 - succ 海关返回受理成功 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 拆单子订单号。如果报关请求没有请求拆单则不会返回此参数。 + /// + [JsonProperty("sub_out_biz_no")] + public string SubOutBizNo { get; set; } + + /// + /// 支付宝推送到海关的支付单据号。针对拆单的报关,这个单据号不等于支付宝原始交易号。 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DashBoardMeta.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DashBoardMeta.cs new file mode 100644 index 0000000..6534d32 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DashBoardMeta.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DashBoardMeta Data Structure. + /// + [Serializable] + public class DashBoardMeta : AopObject + { + /// + /// 授权状态,值为true或者false + /// + [JsonProperty("auth_status")] + public bool AuthStatus { get; set; } + + /// + /// 仪表盘创建时间 + /// + [JsonProperty("create_time")] + public string CreateTime { get; set; } + + /// + /// 仪表盘ID + /// + [JsonProperty("dashboard_id")] + public string DashboardId { get; set; } + + /// + /// 仪表盘名称 + /// + [JsonProperty("dashboard_name")] + public string DashboardName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DashboardParam.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DashboardParam.cs new file mode 100644 index 0000000..31cec2f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DashboardParam.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DashboardParam Data Structure. + /// + [Serializable] + public class DashboardParam : AopObject + { + /// + /// 仪表盘中的字段列名称 + /// + [JsonProperty("key")] + public string Key { get; set; } + + /// + /// 操作计算符,现支持的包括:EQ(等于),GT(大于),LT(小于),LTE(小于或等于),GTE(大于或等于),NOT_EQ(不等于),LIKE(like),NOT_LIKE(not like) + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 过滤条件值 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Data.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Data.cs new file mode 100644 index 0000000..4dcf923 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Data.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Data Data Structure. + /// + [Serializable] + public class Data : AopObject + { + /// + /// 用户id列表 + /// + [JsonProperty("user_id_list")] + + public List UserIdList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataDim.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataDim.cs new file mode 100644 index 0000000..fe223d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataDim.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DataDim Data Structure. + /// + [Serializable] + public class DataDim : AopObject + { + /// + /// 维度名称,代表维度层级含义 不同维度间用“|”分割 + /// + [JsonProperty("dim_name")] + public string DimName { get; set; } + + /// + /// 维度类型,并级或者层级 parallel 并列维度 hierarchical 层级维度 + /// + [JsonProperty("dim_type")] + public string DimType { get; set; } + + /// + /// 维度值,代表维度层级的值 + /// + [JsonProperty("dim_value")] + public string DimValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataEntry.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataEntry.cs new file mode 100644 index 0000000..676ae7f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataEntry.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DataEntry Data Structure. + /// + [Serializable] + public class DataEntry : AopObject + { + /// + /// 数据的发生时间 + /// + [JsonProperty("biz_time")] + public string BizTime { get; set; } + + /// + /// 数据名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 用于指定数据的类型 数值类型:Long(整型)、Double(浮点型)、Average(取平均,浮点型); 枚举类型(用于分布表格):Enum; 比率类型(用于比率类平均):Rate + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 数据值。内容和type参数对应。 支持一组数据的json表达,比如:[“E1”,"E2"],[“2”,"1"]。 枚举类支持下面简写方式:[“E1*99”,"E2*35"],即E1出现99次,E2出现35次。中间用“*”分隔。 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataEnumValue.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataEnumValue.cs new file mode 100644 index 0000000..707fe0b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataEnumValue.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DataEnumValue Data Structure. + /// + [Serializable] + public class DataEnumValue : AopObject + { + /// + /// 过滤条件 + /// + [JsonProperty("filter_tags")] + + public List FilterTags { get; set; } + + /// + /// 枚举的展示文本 + /// + [JsonProperty("label")] + public string Label { get; set; } + + /// + /// 自定义标签的枚举值 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataTag.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataTag.cs new file mode 100644 index 0000000..c564a44 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DataTag.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DataTag Data Structure. + /// + [Serializable] + public class DataTag : AopObject + { + /// + /// 聚合方式NONE,COUNT,COUNT_DISTINCT,DISTINCT,MIN,MAX,SUM + /// + [JsonProperty("aggregate")] + public string Aggregate { get; set; } + + /// + /// 列别名 + /// + [JsonProperty("alias")] + public string Alias { get; set; } + + /// + /// 标签CODE + /// + [JsonProperty("code")] + public string Code { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Datas.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Datas.cs new file mode 100644 index 0000000..a61bd6e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Datas.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Datas Data Structure. + /// + [Serializable] + public class Datas : AopObject + { + /// + /// 指标数据区 + /// + [JsonProperty("data")] + + public List Data { get; set; } + + /// + /// 数据维度 + /// + [JsonProperty("dimension")] + + public List Dimension { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DateAreaModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DateAreaModel.cs new file mode 100644 index 0000000..7d70937 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DateAreaModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DateAreaModel Data Structure. + /// + [Serializable] + public class DateAreaModel : AopObject + { + /// + /// 开始时间 + /// + [JsonProperty("begin_date")] + public string BeginDate { get; set; } + + /// + /// 结束时间 + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DelayInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DelayInfo.cs new file mode 100644 index 0000000..e464f80 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DelayInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DelayInfo Data Structure. + /// + [Serializable] + public class DelayInfo : AopObject + { + /// + /// 延迟类型,目前支持以下类型 ABSOLUTELY:按绝对值延迟 BYDAY:按天延迟 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 延迟值,单位分钟 按绝对值延迟延迟24*60 (1天)表示,当日08:00:00领到的券要到隔日的08:00:00才能使用 按天延迟延迟24*60(1天)表示,当日08:00:00领到的券,隔日00:00:00点就可以用 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DeliverAddress.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DeliverAddress.cs new file mode 100644 index 0000000..512b575 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DeliverAddress.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DeliverAddress Data Structure. + /// + [Serializable] + public class DeliverAddress : AopObject + { + /// + /// 地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 区域编码 + /// + [JsonProperty("address_code")] + public string AddressCode { get; set; } + + /// + /// 是否默认收货地址 + /// + [JsonProperty("default_deliver_address")] + public string DefaultDeliverAddress { get; set; } + + /// + /// 收货人所在区县 + /// + [JsonProperty("deliver_area")] + public string DeliverArea { get; set; } + + /// + /// 收货人所在城市 + /// + [JsonProperty("deliver_city")] + public string DeliverCity { get; set; } + + /// + /// 收货人全名 + /// + [JsonProperty("deliver_fullname")] + public string DeliverFullname { get; set; } + + /// + /// 收货地址的联系人移动电话 + /// + [JsonProperty("deliver_mobile")] + public string DeliverMobile { get; set; } + + /// + /// 收货地址的联系人固定电话 + /// + [JsonProperty("deliver_phone")] + public string DeliverPhone { get; set; } + + /// + /// 收货人所在省份 + /// + [JsonProperty("deliver_province")] + public string DeliverProvince { get; set; } + + /// + /// 邮政编码 + /// + [JsonProperty("zip")] + public string Zip { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiagnoseResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiagnoseResult.cs new file mode 100644 index 0000000..9d783a9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiagnoseResult.cs @@ -0,0 +1,27 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DiagnoseResult Data Structure. + /// + [Serializable] + public class DiagnoseResult : AopObject + { + /// + /// 提示文案业务参数,JSON对象形式返回,JSON的KEY包含tradeCycle,userRate,industryRate,repayRate调用方根据诊断CODE分别给出不同的诊断文案,例如: TRADE_RATE + /// 流失会员占比高 您当前${tradeCycle}(90)天未到店消费会员占总会员${userRate}(40%),落后同行${industryRate}(60%)的商家。 USER_COUNT 会员数量少 + /// 您当前店均会员量较少,落后同行${industryRate}(60%)的商家。 REPAY_RATE 复购率低 + /// 您当前${tradeCycle}(60)天会员回头率为${repayRate}(30%),落后于同行${industryRate}(60%)的商家。 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 诊断结果CODE,目前有如下三个值 TRADE_RATE 流失会员占比高 USER_COUNT 会员数量少 REPAY_RATE 复购率低 + /// + [JsonProperty("diagnose_code")] + public string DiagnoseCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountDetail.cs new file mode 100644 index 0000000..9ab786d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountDetail.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DiscountDetail Data Structure. + /// + [Serializable] + public class DiscountDetail : AopObject + { + /// + /// 优惠金额 + /// + [JsonProperty("discount_amount")] + public string DiscountAmount { get; set; } + + /// + /// 优惠描述,比如至多优惠XX元,满XX减XX + /// + [JsonProperty("discount_desc")] + + public List DiscountDesc { get; set; } + + /// + /// 优惠类型,商家优惠(M_DISCOUNT),平台优惠(RT_DISCOUNT) + /// + [JsonProperty("discount_type")] + public string DiscountType { get; set; } + + /// + /// 优惠ID或活动ID + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 优惠是否命中, true代表命中了优惠;false代表未命中优惠 + /// + [JsonProperty("is_hit")] + public string IsHit { get; set; } + + /// + /// 是否是购买券, true代表是购买的券,false调表不是购买的券 + /// + [JsonProperty("is_purchased")] + public string IsPurchased { get; set; } + + /// + /// 优惠名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountDstCampPrizeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountDstCampPrizeModel.cs new file mode 100644 index 0000000..e9c8222 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountDstCampPrizeModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DiscountDstCampPrizeModel Data Structure. + /// + [Serializable] + public class DiscountDstCampPrizeModel : AopObject + { + /// + /// 预算id,商户先调预算创建接口得到预算id,传入 + /// + [JsonProperty("budget_id")] + public string BudgetId { get; set; } + + /// + /// 折扣幅度必须为0.1到1之间的小数(保留小数点后2位) + /// + [JsonProperty("discount_rate")] + public string DiscountRate { get; set; } + + /// + /// 奖品id 修改传值 ,新增可以不传 + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 单次优惠上限(元),单笔上限金额只能填写数字,大于等于0,小数点后最多2位,整数部分不能超过10位 + /// + [JsonProperty("max_discount_amt")] + public string MaxDiscountAmt { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountInfo.cs new file mode 100644 index 0000000..f362934 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountInfo.cs @@ -0,0 +1,144 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DiscountInfo Data Structure. + /// + [Serializable] + public class DiscountInfo : AopObject + { + /// + /// 全场代金的门槛金额 + /// + [JsonProperty("apply_condition")] + public string ApplyCondition { get; set; } + + /// + /// 买M送N的描述 + /// + [JsonProperty("buy_send_desc")] + public string BuySendDesc { get; set; } + + /// + /// 折扣率 仅当券类型为折扣券时有效 有效折扣率取值范围0.11-0.99 仅允许保留小数点后两位 + /// + [JsonProperty("discount")] + public string Discount { get; set; } + + /// + /// 最近店铺离当前用户的距离 + /// + [JsonProperty("distance")] + public string Distance { get; set; } + + /// + /// 优惠结束时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 券的图片地址 + /// + [JsonProperty("image_url")] + public string ImageUrl { get; set; } + + /// + /// 优惠id + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 券的名称 + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 商品的一些标签 + /// + [JsonProperty("label")] + public string Label { get; set; } + + /// + /// 减至券的原价 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 每满thresholdPrice元减perPrice元,封顶topPrice元 + /// + [JsonProperty("per_price")] + public string PerPrice { get; set; } + + /// + /// 当券类型是代金券的时候,这个字段代表实际金额;当券类型是减至券的时候,这个字段代表减至到的金额 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 券推荐语 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + + /// + /// 买A送B中,B的描述 + /// + [JsonProperty("send_item_name")] + public string SendItemName { get; set; } + + /// + /// 门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 券的店铺名 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 已领数 + /// + [JsonProperty("sold")] + public string Sold { get; set; } + + /// + /// 优惠开始时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 每满thresholdPrice元减perPrice元,封顶topPrice元 + /// + [JsonProperty("threshold_price")] + public string ThresholdPrice { get; set; } + + /// + /// 每满减用的字段:每满thresholdPrice元减perPrice元,封顶topPrice元 + /// + [JsonProperty("top_price")] + public string TopPrice { get; set; } + + /// + /// 目前有discount:折扣券;cash:代金券;exchange:兑换券;limit_reduce_cash:减至券 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 券二级类型。all_discount:全场折扣;single_discount:单品折扣;all_cash:全场代金;single_cash:单品代金 + /// + [JsonProperty("vol_type")] + public string VolType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountRandomModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountRandomModel.cs new file mode 100644 index 0000000..58f8694 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountRandomModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DiscountRandomModel Data Structure. + /// + [Serializable] + public class DiscountRandomModel : AopObject + { + /// + /// 最高优惠金额 + /// + [JsonProperty("max_amount")] + public string MaxAmount { get; set; } + + /// + /// 最低优惠金额 + /// + [JsonProperty("min_amount")] + public string MinAmount { get; set; } + + /// + /// 概率 金额区间、占比支持小数点后两位 区间为前闭、后闭,最多可以设置10种金额区间,所有区间占比和需要等于100% + /// + [JsonProperty("probability")] + public string Probability { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountRateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountRateModel.cs new file mode 100644 index 0000000..00688b9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DiscountRateModel.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DiscountRateModel Data Structure. + /// + [Serializable] + public class DiscountRateModel : AopObject + { + /// + /// 折扣方式 + /// + [JsonProperty("discount_dst_camp_prize_model")] + public DiscountDstCampPrizeModel DiscountDstCampPrizeModel { get; set; } + + /// + /// 交易金额下限必须为数字,大于0,最多2位小数,整数部分不能超过8位 + /// + [JsonProperty("lower_trade_fee")] + public string LowerTradeFee { get; set; } + + /// + /// 奖品类型. 打折 满减 单笔减 阶梯优惠 抹零优惠 随机立减 订单金额减至 折扣方式 REDUCE_TO_AMT("reduce_to_amt","优惠后价格") + /// DISCOUNT("discount", "折扣方式"), REDUCE("reduce", "满立减"), SINGLE("single", "单笔减"), + /// + [JsonProperty("prize_type")] + public string PrizeType { get; set; } + + /// + /// 满立减 + /// + [JsonProperty("reduce_dst_camp_prize_model")] + public ReduceDstCampPrizeModel ReduceDstCampPrizeModel { get; set; } + + /// + /// 优惠后价格 如果type选了reduce_to_amt 必填 + /// + [JsonProperty("reduce_to_amt_dst_camp_prize_model")] + public ReduceToAmtDstCampPrizeModel ReduceToAmtDstCampPrizeModel { get; set; } + + /// + /// 单笔减 + /// + [JsonProperty("single_dst_camp_prize_model")] + public SingleDstCampPrizeModel SingleDstCampPrizeModel { get; set; } + + /// + /// 交易金额上限必须为数字,大于0,最多2位小数,整数部分不能超过8位 + /// + [JsonProperty("upper_trade_fee")] + public string UpperTradeFee { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishRecommend.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishRecommend.cs new file mode 100644 index 0000000..e6c0401 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishRecommend.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DishRecommend Data Structure. + /// + [Serializable] + public class DishRecommend : AopObject + { + /// + /// 购买可能性/商品热度得分 + /// + [JsonProperty("buy_posibility")] + public long BuyPosibility { get; set; } + + /// + /// 菜品ID + /// + [JsonProperty("dish_id")] + public string DishId { get; set; } + + /// + /// 菜品名称 + /// + [JsonProperty("dish_name")] + public string DishName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishTag.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishTag.cs new file mode 100644 index 0000000..7f93d18 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishTag.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DishTag Data Structure. + /// + [Serializable] + public class DishTag : AopObject + { + /// + /// 标签类型 : 如"菜属性","菜推荐" + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 标签值:如"重辣","中辣","招牌菜","创意菜" + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishonestyDetailInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishonestyDetailInfo.cs new file mode 100644 index 0000000..c8531bb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishonestyDetailInfo.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DishonestyDetailInfo Data Structure. + /// + [Serializable] + public class DishonestyDetailInfo : AopObject + { + /// + /// 被执行人行为具体情况 + /// + [JsonProperty("behavior")] + public string Behavior { get; set; } + + /// + /// 案号 + /// + [JsonProperty("case_code")] + public string CaseCode { get; set; } + + /// + /// 执行法院 + /// + [JsonProperty("enforce_court")] + public string EnforceCourt { get; set; } + + /// + /// 身份证号 + /// + [JsonProperty("id_number")] + public string IdNumber { get; set; } + + /// + /// 用户姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 被执行人履行情况 + /// + [JsonProperty("performance")] + public string Performance { get; set; } + + /// + /// 发布日期 + /// + [JsonProperty("publish_date")] + public string PublishDate { get; set; } + + /// + /// 所在区域 + /// + [JsonProperty("region")] + public string Region { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishonorOrder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishonorOrder.cs new file mode 100644 index 0000000..760ad24 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DishonorOrder.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DishonorOrder Data Structure. + /// + [Serializable] + public class DishonorOrder : AopObject + { + /// + /// 退票金额:单位:元。 只支持2位小数,小数点前最大支持13位,金额必须大于0。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 退票时间:格式为yyyy-MM-dd HH:mm:ss。 + /// + [JsonProperty("dishonor_date")] + public string DishonorDate { get; set; } + + /// + /// 退票原因:银行返回的退票原因。 + /// + [JsonProperty("fail_reason")] + public string FailReason { get; set; } + + /// + /// 支付宝转账单据号。 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 商户转账唯一订单号:发起转账来源方定义的转账单据号。该参数的赋值均以查询结果中的out_biz_no为准。 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 支付时间:格式为yyyy-MM-dd HH:mm:ss。转账失败不返回。 + /// + [JsonProperty("pay_date")] + public string PayDate { get; set; } + + /// + /// 付款方账户:付款方支付宝唯一标识(2088开头16位数字字符串)或支付宝会员登录号(邮箱或手机号) + /// + [JsonProperty("payer_account")] + public string PayerAccount { get; set; } + + /// + /// 提现流水号。 + /// + [JsonProperty("payment_no")] + public string PaymentNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DisplayConfig.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DisplayConfig.cs new file mode 100644 index 0000000..91f054e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DisplayConfig.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DisplayConfig Data Structure. + /// + [Serializable] + public class DisplayConfig : AopObject + { + /// + /// 券的宣传语 含圈人的直领活动,且投放渠道选择了支付成功页或店铺的情况下必填 + /// + [JsonProperty("slogan")] + public string Slogan { get; set; } + + /// + /// 券的宣传图片文件ID 含圈人的直领活动,且投放渠道选择了店铺的情况下必填 + /// + [JsonProperty("slogan_img")] + public string SloganImg { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DmActivityShopData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DmActivityShopData.cs new file mode 100644 index 0000000..5049757 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DmActivityShopData.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DmActivityShopData Data Structure. + /// + [Serializable] + public class DmActivityShopData : AopObject + { + /// + /// 数据创建时间戳 + /// + [JsonProperty("gmt_create")] + public string GmtCreate { get; set; } + + /// + /// 数据修改时间戳 + /// + [JsonProperty("gmt_modified")] + public string GmtModified { get; set; } + + /// + /// 单日点击人数 + /// + [JsonProperty("one_day_click_persons")] + public long OneDayClickPersons { get; set; } + + /// + /// 单日点击次数 + /// + [JsonProperty("one_day_click_times")] + public long OneDayClickTimes { get; set; } + + /// + /// 单日点击人数 + /// + [JsonProperty("one_day_exposure_times")] + public long OneDayExposureTimes { get; set; } + + /// + /// 门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 总点击人数 + /// + [JsonProperty("total_click_persons")] + public long TotalClickPersons { get; set; } + + /// + /// 总点击次数 + /// + [JsonProperty("total_click_times")] + public long TotalClickTimes { get; set; } + + /// + /// 总曝光次数 + /// + [JsonProperty("total_exposure_times")] + public long TotalExposureTimes { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DrawndnVo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DrawndnVo.cs new file mode 100644 index 0000000..b839b99 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DrawndnVo.cs @@ -0,0 +1,120 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DrawndnVo Data Structure. + /// + [Serializable] + public class DrawndnVo : AopObject + { + /// + /// 实收利息,单位为元,小数点保留2位 + /// + [JsonProperty("actual_collected_interest")] + public string ActualCollectedInterest { get; set; } + + /// + /// 贷款余额(本金余额) + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// 已收本息,单位为元,小数点保留2位 + /// + [JsonProperty("collected_principal_and_interest")] + public string CollectedPrincipalAndInterest { get; set; } + + /// + /// 授信编号 + /// + [JsonProperty("credit_no")] + public string CreditNo { get; set; } + + /// + /// 支用日,这里代表的是客户这笔支用放款成功日期,如果支用还在放款中或者支用放款失败等,则该值为空 + /// + [JsonProperty("drawndn_date")] + public string DrawndnDate { get; set; } + + /// + /// 支用编号,代表一笔支用的唯一编号 + /// + [JsonProperty("drawndn_no")] + public string DrawndnNo { get; set; } + + /// + /// 到期日 + /// + [JsonProperty("due_date")] + public string DueDate { get; set; } + + /// + /// 五级分类,值类型:NORMAL(正常)、ATTENTION(关注)、SUBPRIME(次级)、DOUBTFUL(可疑)、LOSSES(损失) + /// + [JsonProperty("five_tier_classification")] + public string FiveTierClassification { get; set; } + + /// + /// 正常利息,单位为元,小数点保留2位 + /// + [JsonProperty("interest")] + public string Interest { get; set; } + + /// + /// 年利率,小数点保留2位 + /// + [JsonProperty("interest_rate")] + public string InterestRate { get; set; } + + /// + /// 贷款发放额,单位为元,小数点保留2位 + /// + [JsonProperty("lending_amount")] + public string LendingAmount { get; set; } + + /// + /// 当前逾期期次 + /// + [JsonProperty("overduce_terms")] + public long OverduceTerms { get; set; } + + /// + /// 当前逾期天数 + /// + [JsonProperty("overdue_days")] + public long OverdueDays { get; set; } + + /// + /// 逾期利息,单位为元,小数点保留2位 + /// + [JsonProperty("overdue_interest")] + public string OverdueInterest { get; set; } + + /// + /// 逾期利息罚息,单位为元,小数点保留2位 + /// + [JsonProperty("overdue_interest_penalty")] + public string OverdueInterestPenalty { get; set; } + + /// + /// 逾期本金,单位为元,小数点保留2位 + /// + [JsonProperty("overdue_principal")] + public string OverduePrincipal { get; set; } + + /// + /// 逾期本金罚息,单位为元,小数点保留2位 + /// + [JsonProperty("overdue_principal_penalty")] + public string OverduePrincipalPenalty { get; set; } + + /// + /// 支用状态 ,值类型:INIT(初始),LENDING(发放中),NORMAL(正常),OVD(逾期), CLEAR(结清),OFF(核销), LENDFAIL(发放失败) + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DstCampRuleModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DstCampRuleModel.cs new file mode 100644 index 0000000..34c0e2d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/DstCampRuleModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// DstCampRuleModel Data Structure. + /// + [Serializable] + public class DstCampRuleModel : AopObject + { + /// + /// 支付宝收银台:PC端:PC 安全支付端:WIRELESS_CLIENT 无线WAP端:WIRELESS_WAP 协议支付;AGREEMENTPAY + /// + [JsonProperty("alipay_cashier")] + public string AlipayCashier { get; set; } + + /// + /// 优惠规则类型,主要有2种:账户优惠传 account、渠道优惠channel. 现在开放账户优惠account 默认请传account + /// + [JsonProperty("discount_type")] + public string DiscountType { get; set; } + + /// + /// 规则id 新增不传,修改传 + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 同一个支付宝账户享受优惠次数.0表示不限制 + /// + [JsonProperty("prize_count_per_account")] + public string PrizeCountPerAccount { get; set; } + + /// + /// 产品类型 支付宝交易:trade 支付宝账单中心:commonDeduct 支付宝转账中心:ttc 支付宝通用代扣:billcenter + /// + [JsonProperty("product_type")] + public string ProductType { get; set; } + + /// + /// 立减规则,这个参数有支付宝运营小二提供给商户,录入 + /// + [JsonProperty("rule_uuid")] + public string RuleUuid { get; set; } + + /// + /// 关联的凭证id,这个参数商户调凭证创建接口返回凭证id 然后设置到这个值 + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EbppBillKey.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EbppBillKey.cs new file mode 100644 index 0000000..b9ef8d0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EbppBillKey.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EbppBillKey Data Structure. + /// + [Serializable] + public class EbppBillKey : AopObject + { + /// + /// 户号 + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 业务类型缩写: JF-缴费 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 出账机构缩写 + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 脱敏的户主姓名 + /// + [JsonProperty("owner_name")] + public string OwnerName { get; set; } + + /// + /// 子业务类型英文名称: ELECTRIC-电力 GAS-燃气 WATER-水 + /// + [JsonProperty("sub_biz_type")] + public string SubBizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EcoRenthouseOtherAmount.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EcoRenthouseOtherAmount.cs new file mode 100644 index 0000000..d566726 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EcoRenthouseOtherAmount.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EcoRenthouseOtherAmount Data Structure. + /// + [Serializable] + public class EcoRenthouseOtherAmount : AopObject + { + /// + /// 30 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 费用名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 费用单位 + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduAgeDemand.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduAgeDemand.cs new file mode 100644 index 0000000..b159edb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduAgeDemand.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EduAgeDemand Data Structure. + /// + [Serializable] + public class EduAgeDemand : AopObject + { + /// + /// 结束年龄 + /// + [JsonProperty("age_end")] + public string AgeEnd { get; set; } + + /// + /// 开始年龄 + /// + [JsonProperty("age_start")] + public string AgeStart { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduOneCardBalanceQueryResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduOneCardBalanceQueryResult.cs new file mode 100644 index 0000000..f752cc9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduOneCardBalanceQueryResult.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EduOneCardBalanceQueryResult Data Structure. + /// + [Serializable] + public class EduOneCardBalanceQueryResult : AopObject + { + /// + /// 校园一卡通机构 + /// + [JsonProperty("agent_code")] + public string AgentCode { get; set; } + + /// + /// 校园一卡通可用余额 + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// 校园一卡通姓名 + /// + [JsonProperty("card_name")] + public string CardName { get; set; } + + /// + /// 校园一卡通卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 余额最后更新时间 + /// + [JsonProperty("last_update_time")] + public string LastUpdateTime { get; set; } + + /// + /// 校园一卡通待领金额 + /// + [JsonProperty("pound_amount")] + public string PoundAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduOneCardDepositCardQueryResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduOneCardDepositCardQueryResult.cs new file mode 100644 index 0000000..738e943 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduOneCardDepositCardQueryResult.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EduOneCardDepositCardQueryResult Data Structure. + /// + [Serializable] + public class EduOneCardDepositCardQueryResult : AopObject + { + /// + /// 校园一卡通机构代码 + /// + [JsonProperty("agent_code")] + public string AgentCode { get; set; } + + /// + /// 校园一卡通机构姓名 + /// + [JsonProperty("agent_name")] + public string AgentName { get; set; } + + /// + /// 校园一卡通余额 + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// 校园一卡通姓名 + /// + [JsonProperty("card_name")] + public string CardName { get; set; } + + /// + /// 校园一卡通卡号 + /// + [JsonProperty("card_no")] + public string CardNo { get; set; } + + /// + /// 余额最后更新时间 + /// + [JsonProperty("last_update_time")] + public string LastUpdateTime { get; set; } + + /// + /// 校园一卡通待领金额 + /// + [JsonProperty("pound_amount")] + public string PoundAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduSourceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduSourceInfo.cs new file mode 100644 index 0000000..49be9b7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduSourceInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EduSourceInfo Data Structure. + /// + [Serializable] + public class EduSourceInfo : AopObject + { + /// + /// 供应商的LOGO + /// + [JsonProperty("logo")] + public string Logo { get; set; } + + /// + /// 供应商电话 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 供应商名字 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduStudentInfoShareResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduStudentInfoShareResult.cs new file mode 100644 index 0000000..d1cde7b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduStudentInfoShareResult.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EduStudentInfoShareResult Data Structure. + /// + [Serializable] + public class EduStudentInfoShareResult : AopObject + { + /// + /// 教育分类 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 学生详细信息 + /// + [JsonProperty("student_infos")] + + public List StudentInfos { get; set; } + + /// + /// 用户的userid + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduWorkAddress.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduWorkAddress.cs new file mode 100644 index 0000000..be16a3e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EduWorkAddress.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EduWorkAddress Data Structure. + /// + [Serializable] + public class EduWorkAddress : AopObject + { + /// + /// 地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 城市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 区 + /// + [JsonProperty("district_name")] + public string DistrictName { get; set; } + + /// + /// 北京市 + /// + [JsonProperty("province")] + public string Province { get; set; } + + /// + /// 街道 + /// + [JsonProperty("street_name")] + public string StreetName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EndowmentOrder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EndowmentOrder.cs new file mode 100644 index 0000000..5b5272b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EndowmentOrder.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EndowmentOrder Data Structure. + /// + [Serializable] + public class EndowmentOrder : AopObject + { + /// + /// apply_amount:申购金额,以分为单位 + /// + [JsonProperty("apply_amount")] + public string ApplyAmount { get; set; } + + /// + /// 订单id,订单的唯一标识,可以用来做幂等 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// pay_time:支付时间,格式:YYYYMMDDHHMISS + /// + [JsonProperty("pay_time")] + public string PayTime { get; set; } + + /// + /// ta_requestId:TA的唯一业务流水号 + /// + [JsonProperty("ta_request_id")] + public string TaRequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EquipmentAuthRemoveQueryBypageDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EquipmentAuthRemoveQueryBypageDTO.cs new file mode 100644 index 0000000..ee95f9b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EquipmentAuthRemoveQueryBypageDTO.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EquipmentAuthRemoveQueryBypageDTO Data Structure. + /// + [Serializable] + public class EquipmentAuthRemoveQueryBypageDTO : AopObject + { + /// + /// 机具编号 + /// + [JsonProperty("device_id")] + public string DeviceId { get; set; } + + /// + /// 解绑时间 + /// + [JsonProperty("unbind_time")] + public string UnbindTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EquipmentBindInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EquipmentBindInfo.cs new file mode 100644 index 0000000..47ec063 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/EquipmentBindInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// EquipmentBindInfo Data Structure. + /// + [Serializable] + public class EquipmentBindInfo : AopObject + { + /// + /// 机具ID + /// + [JsonProperty("equipment_id")] + public string EquipmentId { get; set; } + + /// + /// 是否绑定门店,T绑定,F不绑定 + /// + [JsonProperty("is_bind_shop")] + public string IsBindShop { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ErrorMatcher.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ErrorMatcher.cs new file mode 100644 index 0000000..04ed372 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ErrorMatcher.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ErrorMatcher Data Structure. + /// + [Serializable] + public class ErrorMatcher : AopObject + { + /// + /// 失败原因 + /// + [JsonProperty("error_msg")] + public string ErrorMsg { get; set; } + + /// + /// 用户打标接口出错的匹配器 + /// + [JsonProperty("matcher")] + public Matcher Matcher { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExClientRateVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExClientRateVO.cs new file mode 100644 index 0000000..473f4a5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExClientRateVO.cs @@ -0,0 +1,234 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExClientRateVO Data Structure. + /// + [Serializable] + public class ExClientRateVO : AopObject + { + /// + /// 协议编号 + /// + [JsonProperty("agreement_id")] + public string AgreementId { get; set; } + + /// + /// 基准货币。汇率货币单位默认为1,即1货币单位的基础货币,对应非基准货币的价格 + /// + [JsonProperty("base_ccy")] + public string BaseCcy { get; set; } + + /// + /// 买入价格 为交易对手添加了点差后,基准货币的买入价格,直接面向终端客户 + /// + [JsonProperty("bid_rate")] + public string BidRate { get; set; } + + /// + /// 终端客户买入价格 面向交易对手的基准货币买入价格,不包含终端客户点差 + /// + [JsonProperty("client_bid_rate")] + public string ClientBidRate { get; set; } + + /// + /// 客户id + /// + [JsonProperty("client_id")] + public string ClientId { get; set; } + + /// + /// 终端客户卖出价格 面向交易对手的基准货币卖出价格,不包含终端客户点差 + /// + [JsonProperty("client_offer_rate")] + public string ClientOfferRate { get; set; } + + /// + /// 基准货币/非基准货币 + /// + [JsonProperty("currency_pair")] + public string CurrencyPair { get; set; } + + /// + /// 汇率的失效时间 + /// + [JsonProperty("expiry_time")] + public string ExpiryTime { get; set; } + + /// + /// 汇率生成日期,yyyymmdd + /// + [JsonProperty("generate_date")] + public string GenerateDate { get; set; } + + /// + /// 汇率生成时间 与rateTime一致 + /// + [JsonProperty("generate_time")] + public string GenerateTime { get; set; } + + /// + /// 字典:T - 可交易,F - 仅作为参考,不可交易 + /// + [JsonProperty("guaranteed")] + public string Guaranteed { get; set; } + + /// + /// 远期或者掉期点价格到期日, yyyymmdd + /// + [JsonProperty("maturity_date")] + public string MaturityDate { get; set; } + + /// + /// 基准货币买入的最大金额,对于单笔、累计交易 + /// + [JsonProperty("maximum_bid_amount")] + public long MaximumBidAmount { get; set; } + + /// + /// 基准货币卖出的最大金额,对于单笔、累计交易 + /// + [JsonProperty("maximum_offer_amount")] + public long MaximumOfferAmount { get; set; } + + /// + /// 汇率中间价 + /// + [JsonProperty("mid_rate")] + public string MidRate { get; set; } + + /// + /// 基准货币买入的最小金额,对于单笔交易 + /// + [JsonProperty("minimum_bid_amount")] + public string MinimumBidAmount { get; set; } + + /// + /// 基准货币卖出的最小金额,对于单笔交易 + /// + [JsonProperty("minimum_offer_amount")] + public string MinimumOfferAmount { get; set; } + + /// + /// 卖出价格 添加了交易对手点差后,基准货币的卖出价格,直接面向终端客户 + /// + [JsonProperty("offer_rate")] + public string OfferRate { get; set; } + + /// + /// 在岸离岸标识 ON - 在岸,OFF - 离岸 + /// + [JsonProperty("on_off_shore")] + public string OnOffShore { get; set; } + + /// + /// 该汇率的来源机构 + /// + [JsonProperty("origin_rate_inst")] + public string OriginRateInst { get; set; } + + /// + /// 原始汇率来源机构,对该汇率的唯一标识 + /// + [JsonProperty("origin_rate_ref")] + public string OriginRateRef { get; set; } + + /// + /// 汇率期限 字典:TODAY, TOMORROW, SPOT, O/N, T/N等标准期限 + /// + [JsonProperty("period")] + public string Period { get; set; } + + /// + /// 子协议扩展号 对不同商户/渠道的报价协议 + /// + [JsonProperty("profile_id")] + public string ProfileId { get; set; } + + /// + /// 非基准货币 + /// + [JsonProperty("quote_ccy")] + public string QuoteCcy { get; set; } + + /// + /// 标识单一货币对,每次汇率生成时变化,不重复 + /// + [JsonProperty("rate_ref")] + public string RateRef { get; set; } + + /// + /// 汇率发布时间 + /// + [JsonProperty("rate_time")] + public string RateTime { get; set; } + + /// + /// 字典: SPOT - 即期,FORWORD - 远期,SWAP - 掉期点 + /// + [JsonProperty("rate_type")] + public string RateType { get; set; } + + /// + /// 汇率类型为远期下,即期的买入价 + /// + [JsonProperty("sp_bid")] + public string SpBid { get; set; } + + /// + /// 汇率类型为远期下,即期的中间价 + /// + [JsonProperty("sp_mid")] + public string SpMid { get; set; } + + /// + /// 汇率类型为远期下,即期的卖出价 + /// + [JsonProperty("sp_offer")] + public string SpOffer { get; set; } + + /// + /// 报价中心内部标准产品编码 + /// + [JsonProperty("standard_product_rate_id")] + public string StandardProductRateId { get; set; } + + /// + /// 汇率的有效时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 子协议id + /// + [JsonProperty("sub_agreement_id")] + public string SubAgreementId { get; set; } + + /// + /// 锁定汇率模式下,在新旧汇率交替时,仍可以使用旧汇率下单的最外时间 + /// + [JsonProperty("threshold_time")] + public string ThresholdTime { get; set; } + + /// + /// 时间所在的时区 + /// + [JsonProperty("time_zone")] + public string TimeZone { get; set; } + + /// + /// 交易货币类型 字典: DELIV - 原币交割,NDF - 非原币交割 + /// + [JsonProperty("transaction_ccy_type")] + public string TransactionCcyType { get; set; } + + /// + /// 保价过期时间 + /// + [JsonProperty("valid_time")] + public string ValidTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExRefRateInfoVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExRefRateInfoVO.cs new file mode 100644 index 0000000..d17c15f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExRefRateInfoVO.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExRefRateInfoVO Data Structure. + /// + [Serializable] + public class ExRefRateInfoVO : AopObject + { + /// + /// 货币对 + /// + [JsonProperty("currency_pair")] + public string CurrencyPair { get; set; } + + /// + /// 基础币种 + /// + [JsonProperty("datum_currency")] + public string DatumCurrency { get; set; } + + /// + /// 牌价类型,表示站在用户角度,对目标币种的交易方向,01表示买入,02表示卖出 + /// + [JsonProperty("price_type")] + public string PriceType { get; set; } + + /// + /// 报价日期,格式为YYYYMMDD + /// + [JsonProperty("pub_date")] + public string PubDate { get; set; } + + /// + /// 报价时间 + /// + [JsonProperty("pub_time")] + public string PubTime { get; set; } + + /// + /// 汇率,表示一单位基准币种等于多少目标币种,小数点后最多精确到8位 + /// + [JsonProperty("rate")] + public string Rate { get; set; } + + /// + /// 目标币种 + /// + [JsonProperty("target_currency")] + public string TargetCurrency { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExproductconfResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExproductconfResponse.cs new file mode 100644 index 0000000..1d30e3d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExproductconfResponse.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExproductconfResponse Data Structure. + /// + [Serializable] + public class ExproductconfResponse : AopObject + { + /// + /// 出账机构 + /// + [JsonProperty("charge_inst")] + public string ChargeInst { get; set; } + + /// + /// 出账机构中文名称 + /// + [JsonProperty("chargeinst_name")] + public string ChargeinstName { get; set; } + + /// + /// 销账机构 + /// + [JsonProperty("chargeoff_inst")] + public string ChargeoffInst { get; set; } + + /// + /// 销账机构中文名称 + /// + [JsonProperty("chargeoffinst_name")] + public string ChargeoffinstName { get; set; } + + /// + /// 城市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 扩展字段 + /// + [JsonProperty("extend")] + public string Extend { get; set; } + + /// + /// 省份 + /// + [JsonProperty("province")] + public string Province { get; set; } + + /// + /// 产品状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtBrand.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtBrand.cs new file mode 100644 index 0000000..c706dd5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtBrand.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtBrand Data Structure. + /// + [Serializable] + public class ExtBrand : AopObject + { + /// + /// 品牌编码 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 品牌名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtCategory.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtCategory.cs new file mode 100644 index 0000000..2a73a9a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtCategory.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtCategory Data Structure. + /// + [Serializable] + public class ExtCategory : AopObject + { + /// + /// 品类编码 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 品类名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 父品类编码。顶级类目此值为0 + /// + [JsonProperty("parent_id")] + public string ParentId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtItem.cs new file mode 100644 index 0000000..bdf1522 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtItem.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtItem Data Structure. + /// + [Serializable] + public class ExtItem : AopObject + { + /// + /// 品牌编码 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 品类编码 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 入数,必须为整数 + /// + [JsonProperty("count")] + public long Count { get; set; } + + /// + /// 产地 + /// + [JsonProperty("country")] + public string Country { get; set; } + + /// + /// 商品描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 商品id + /// + [JsonProperty("id")] + public long Id { get; set; } + + /// + /// 商品条码 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 商品图片url + /// + [JsonProperty("picture")] + public string Picture { get; set; } + + /// + /// 参考价格,单位(分),必须为整数 + /// + [JsonProperty("price")] + public long Price { get; set; } + + /// + /// 商品规格 + /// + [JsonProperty("specification")] + public string Specification { get; set; } + + /// + /// 商品名称 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtShopItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtShopItem.cs new file mode 100644 index 0000000..5d8b566 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtShopItem.cs @@ -0,0 +1,96 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtShopItem Data Structure. + /// + [Serializable] + public class ExtShopItem : AopObject + { + /// + /// 品牌编码 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 品类编码 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 入数,必须为整数 + /// + [JsonProperty("count")] + public long Count { get; set; } + + /// + /// 产地 + /// + [JsonProperty("country")] + public string Country { get; set; } + + /// + /// 产品描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 商品扩展信息 + /// + [JsonProperty("ext_goods_info")] + public string ExtGoodsInfo { get; set; } + + /// + /// 商品id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 商品条码 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 口碑门店id + /// + [JsonProperty("kb_shop_id")] + public string KbShopId { get; set; } + + /// + /// 商品图片url + /// + [JsonProperty("picture")] + public string Picture { get; set; } + + /// + /// 参考价格 + /// + [JsonProperty("price")] + public long Price { get; set; } + + /// + /// 商品规格 + /// + [JsonProperty("specification")] + public string Specification { get; set; } + + /// + /// ISV系统提供商 + /// + [JsonProperty("system_provider_id")] + public string SystemProviderId { get; set; } + + /// + /// 商品名称 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtUserInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtUserInfo.cs new file mode 100644 index 0000000..3c9b0bf --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtUserInfo.cs @@ -0,0 +1,55 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtUserInfo Data Structure. + /// + [Serializable] + public class ExtUserInfo : AopObject + { + /// + /// 证件号 注:need_check_info=T时该参数才有效 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 身份证:IDENTITY_CARD、护照:PASSPORT、军官证:OFFICER_CARD、士兵证:SOLDIER_CARD、户口本:HOKOU等。如有其它类型需要支持,请与蚂蚁金服工作人员联系。 注: + /// need_check_info=T时该参数才有效 + /// + [JsonProperty("cert_type")] + public string CertType { get; set; } + + /// + /// 是否强制校验付款人身份信息 T:强制校验,F:不强制 + /// + [JsonProperty("fix_buyer")] + public string FixBuyer { get; set; } + + /// + /// 允许的最小买家年龄,买家年龄必须大于等于所传数值 注: 1. need_check_info=T时该参数才有效 2. min_age为整数,必须大于等于0 + /// + [JsonProperty("min_age")] + public string MinAge { get; set; } + + /// + /// 手机号 注:该参数暂不校验 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 姓名 注: need_check_info=T时该参数才有效 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 是否强制校验身份信息 T:强制校验,F:不强制 + /// + [JsonProperty("need_check_info")] + public string NeedCheckInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtendMedicalCard.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtendMedicalCard.cs new file mode 100644 index 0000000..6c612b9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtendMedicalCard.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtendMedicalCard Data Structure. + /// + [Serializable] + public class ExtendMedicalCard : AopObject + { + /// + /// 签约状态为成功绑定为不可空 卡颁发机构名称 + /// + [JsonProperty("card_org_name")] + public string CardOrgName { get; set; } + + /// + /// 签约状态为成功绑定为不可空 卡颁发机构编号 + /// + [JsonProperty("card_org_no")] + public string CardOrgNo { get; set; } + + /// + /// 城市编码(格式为:行政区域代码) 多个地市逗号分隔 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// Json格式的业务扩展参数 + /// + [JsonProperty("extend_params")] + public string ExtendParams { get; set; } + + /// + /// 签约状态为成功绑定为不可空 签约成功时间。 格式为 yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("gmt_sign")] + public string GmtSign { get; set; } + + /// + /// 000102020011 + /// + [JsonProperty("medical_card_id")] + public string MedicalCardId { get; set; } + + /// + /// 签约状态为成功绑定为不可空 医保卡号,敏感信息脱敏输出 + /// + [JsonProperty("medical_card_no")] + public string MedicalCardNo { get; set; } + + /// + /// 市医保:CITY_INS 省医保:PROVINCE_INS 县医保:COUNTY_INS + /// + [JsonProperty("medical_card_type")] + public string MedicalCardType { get; set; } + + /// + /// 绑定状态 已激活:signed 已解绑:unsigned + /// + [JsonProperty("sign_status")] + public string SignStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtendParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtendParams.cs new file mode 100644 index 0000000..2e184ed --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtendParams.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtendParams Data Structure. + /// + [Serializable] + public class ExtendParams : AopObject + { + /// + /// 使用花呗分期要进行的分期数 + /// + [JsonProperty("hb_fq_num")] + public string HbFqNum { get; set; } + + /// + /// 使用花呗分期需要卖家承担的手续费比例的百分值,传入100代表100% + /// + [JsonProperty("hb_fq_seller_percent")] + public string HbFqSellerPercent { get; set; } + + /// + /// 系统商编号 该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID + /// + [JsonProperty("sys_service_provider_id")] + public string SysServiceProviderId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtensionArea.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtensionArea.cs new file mode 100644 index 0000000..d7af0e9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtensionArea.cs @@ -0,0 +1,43 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtensionArea Data Structure. + /// + [Serializable] + public class ExtensionArea : AopObject + { + /// + /// 跳转链接,当content_type为"image"时必传,必须是https或alipays开头的url链接 + /// + [JsonProperty("goto_url")] + public string GotoUrl { get; set; } + + /// + /// 扩展区高度,当content_type值为"h5"时必填,取值范围为200-500的整数 + /// + [JsonProperty("height")] + public long Height { get; set; } + + /// + /// 扩展区名字 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 扩展区类型,支持两个值,h5:h5类型,image:图片类型。 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 扩展区url,传入图片url或者h5页面url,必须是https开头的链接,如果要传入图片链接,请先调用 + /// 图片上传接口获得图片url + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtraInfoVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtraInfoVO.cs new file mode 100644 index 0000000..e4d1996 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ExtraInfoVO.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ExtraInfoVO Data Structure. + /// + [Serializable] + public class ExtraInfoVO : AopObject + { + /// + /// 是否是taomaomao好友关系 + /// + [JsonProperty("maomao_friend")] + public bool MaomaoFriend { get; set; } + + /// + /// 是否注册taomaomao游戏 + /// + [JsonProperty("maomao_register")] + public bool MaomaoRegister { get; set; } + + /// + /// 支付宝对应的taobao_id + /// + [JsonProperty("taobao_id")] + public string TaobaoId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceAbilityExtInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceAbilityExtInfo.cs new file mode 100644 index 0000000..a866876 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceAbilityExtInfo.cs @@ -0,0 +1,78 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceAbilityExtInfo Data Structure. + /// + [Serializable] + public class FaceAbilityExtInfo : AopObject + { + /// + /// 年龄 + /// + [XmlElement("age")] + public string Age { get; set; } + + /// + /// 证件号信息 + /// + [XmlElement("cert_name")] + public string CertName { get; set; } + + /// + /// 证件号信息 + /// + [XmlElement("cert_no")] + public string CertNo { get; set; } + + /// + /// 证件类别 + /// + [XmlElement("cert_type")] + public string CertType { get; set; } + + /// + /// 比对源渠道信息 + /// + [XmlElement("channel")] + public string Channel { get; set; } + + /// + /// 人脸加密后的特征 + /// + [XmlElement("feature")] + public string Feature { get; set; } + + /// + /// 是否存在攻击 + /// + [XmlElement("hasrisk")] + public string Hasrisk { get; set; } + + /// + /// 质量分 + /// + [XmlElement("quality")] + public string Quality { get; set; } + + /// + /// 特征矩形区域"442,231,412,262" + /// + [XmlElement("rect")] + public string Rect { get; set; } + + /// + /// 男女 + /// + [XmlElement("sex")] + public string Sex { get; set; } + + /// + /// 活体源,customer:业务方自定义采集;alisp:支付宝小程序 + /// + [XmlElement("source")] + public string Source { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceAttrInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceAttrInfo.cs new file mode 100644 index 0000000..474d4fd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceAttrInfo.cs @@ -0,0 +1,18 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceAttrInfo Data Structure. + /// + [Serializable] + public class FaceAttrInfo : AopObject + { + /// + /// left,top,width,height 人脸图片中的人脸框的左上点和宽高,图片内坐标,无需脱敏 + /// + [XmlElement("rect")] + public string Rect { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceExtInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceExtInfo.cs new file mode 100644 index 0000000..68f6945 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceExtInfo.cs @@ -0,0 +1,18 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceExtInfo Data Structure. + /// + [Serializable] + public class FaceExtInfo : AopObject + { + /// + /// query_type不填, 返回uid query_type=1, 返回手机号 query_type=2, 返回图片 + /// + [XmlElement("query_type")] + public string QueryType { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceExtParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceExtParams.cs new file mode 100644 index 0000000..fad6e3b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceExtParams.cs @@ -0,0 +1,18 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceExtParams Data Structure. + /// + [Serializable] + public class FaceExtParams : AopObject + { + /// + /// 业务类型:7,基于1:N人脸搜索的刷脸支付场景;8,基于姓名和身份证号的刷脸支付场景。 + /// + [XmlElement("biz_type")] + public string BizType { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceMachineInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceMachineInfo.cs new file mode 100644 index 0000000..383278e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceMachineInfo.cs @@ -0,0 +1,60 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceMachineInfo Data Structure. + /// + [Serializable] + public class FaceMachineInfo : AopObject + { + /// + /// 摄像头驱动版本号 + /// + [XmlElement("camera_drive_ver")] + public string CameraDriveVer { get; set; } + + /// + /// 摄像头型号 + /// + [XmlElement("camera_model")] + public string CameraModel { get; set; } + + /// + /// 摄像头名称 + /// + [XmlElement("camera_name")] + public string CameraName { get; set; } + + /// + /// 摄像头版本号 + /// + [XmlElement("camera_ver")] + public string CameraVer { get; set; } + + /// + /// 扩展信息 + /// + [XmlElement("ext")] + public string Ext { get; set; } + + /// + /// 机具编码 + /// + [XmlElement("machine_code")] + public string MachineCode { get; set; } + + /// + /// 机具型号 + /// + [XmlElement("machine_model")] + public string MachineModel { get; set; } + + /// + /// 机具版本号 + /// + [XmlElement("machine_ver")] + public string MachineVer { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceMerchantInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceMerchantInfo.cs new file mode 100644 index 0000000..af1a849 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceMerchantInfo.cs @@ -0,0 +1,78 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceMerchantInfo Data Structure. + /// + [Serializable] + public class FaceMerchantInfo : AopObject + { + /// + /// 区域编码 + /// + [XmlElement("area_code")] + public string AreaCode { get; set; } + + /// + /// 品牌编码 + /// + [XmlElement("brand_code")] + public string BrandCode { get; set; } + + /// + /// 机具Mac地址 + /// + [XmlElement("device_mac")] + public string DeviceMac { get; set; } + + /// + /// 机具编码 + /// + [XmlElement("device_num")] + public string DeviceNum { get; set; } + + /// + /// 经纬度 + /// + [XmlElement("geo")] + public string Geo { get; set; } + + /// + /// 机具分组编码 + /// + [XmlElement("group")] + public string Group { get; set; } + + /// + /// 商户ID + /// + [XmlElement("merchant_id")] + public string MerchantId { get; set; } + + /// + /// ISV ID + /// + [XmlElement("partner_id")] + public string PartnerId { get; set; } + + /// + /// 门店编码 + /// + [XmlElement("store_code")] + public string StoreCode { get; set; } + + /// + /// WI-FI Mac地址 + /// + [XmlElement("wifimac")] + public string Wifimac { get; set; } + + /// + /// WI-FI 名称 + /// + [XmlElement("wifiname")] + public string Wifiname { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchAnonymousUserInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchAnonymousUserInfo.cs new file mode 100644 index 0000000..06573f7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchAnonymousUserInfo.cs @@ -0,0 +1,24 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceSearchAnonymousUserInfo Data Structure. + /// + [Serializable] + public class FaceSearchAnonymousUserInfo : AopObject + { + /// + /// 商户标识 + /// + [XmlElement("merchantid")] + public string Merchantid { get; set; } + + /// + /// 商户uid + /// + [XmlElement("merchantuid")] + public string Merchantuid { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchResult.cs new file mode 100644 index 0000000..ef142f7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchResult.cs @@ -0,0 +1,36 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceSearchResult Data Structure. + /// + [Serializable] + public class FaceSearchResult : AopObject + { + /// + /// faceType + /// + [XmlElement("face_type")] + public string FaceType { get; set; } + + /// + /// 分数 + /// + [XmlElement("score")] + public string Score { get; set; } + + /// + /// 用户ID + /// + [XmlElement("user_id")] + public string UserId { get; set; } + + /// + /// 身份证姓名 + /// + [XmlElement("user_name")] + public string UserName { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchUserInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchUserInfo.cs new file mode 100644 index 0000000..8d79bc9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FaceSearchUserInfo.cs @@ -0,0 +1,36 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FaceSearchUserInfo Data Structure. + /// + [Serializable] + public class FaceSearchUserInfo : AopObject + { + /// + /// 自定义用户标识 + /// + [XmlElement("customuserid")] + public string Customuserid { get; set; } + + /// + /// 商户标识 + /// + [XmlElement("merchantid")] + public string Merchantid { get; set; } + + /// + /// 商户uid + /// + [XmlElement("merchantuid")] + public string Merchantuid { get; set; } + + /// + /// 分数 + /// + [XmlElement("score")] + public string Score { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FeeRecords.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FeeRecords.cs new file mode 100644 index 0000000..9e7d1d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FeeRecords.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FeeRecords Data Structure. + /// + [Serializable] + public class FeeRecords : AopObject + { + /// + /// 费用余额,单位为元,小数点保留2位 + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// 交易时间 + /// + [JsonProperty("date")] + public string Date { get; set; } + + /// + /// 费用交易流水备注 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + + /// + /// 费用交易额度 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivity.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivity.cs new file mode 100644 index 0000000..fd64b66 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivity.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FengdieActivity Data Structure. + /// + [Serializable] + public class FengdieActivity : AopObject + { + /// + /// H5应用的唯一id,调用alipay.marketing.tool.fengdie.activity.create接口时自动生成 + /// + [JsonProperty("id")] + public long Id { get; set; } + + /// + /// 应用是否已在线,在H5编辑器中点击发布按钮或者过了有效期会修改状态。如:true:在线,在设置的有效期内 ;false:已下线,超过了设置的有效期范围 + /// + [JsonProperty("is_online")] + public bool IsOnline { get; set; } + + /// + /// 创建的H5应用的名称,调用alipay.marketing.tool.fengdie.activity.create接口时作为参数传入,默认自动生成。最终显示在H5生成的URL上。URL规则为 + /// "域名/p/f/${name}/index.html" + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// appid所属支付宝账号昵称 + /// + [JsonProperty("nick_name")] + public string NickName { get; set; } + + /// + /// H5应用下线时间,在H5编辑器中修改 + /// + [JsonProperty("offline_time")] + public string OfflineTime { get; set; } + + /// + /// 唤起H5编辑器时默认展示的表单数据 + /// + [JsonProperty("page")] + + public List Page { get; set; } + + /// + /// H5应用最近一次发布时间,在H5编辑器中点击发布按钮时会修改 + /// + [JsonProperty("publish_time")] + public string PublishTime { get; set; } + + /// + /// H5应用被编辑的状态,如:OPEN:编辑中;COMPLETE:已完成;PRERELEASED:预览页面生成成功;PRERELEASE_FAIL:预览页面生成失败;RELEASED:已发布;RELEASE_FAIL:发布失败。在H5编辑器中点击保存、编辑完成、发布按钮时会触发。 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 创建H5应用所使用的模板包唯一id + /// + [JsonProperty("template_id")] + public long TemplateId { get; set; } + + /// + /// H5应用的标题,在唤起的H5编辑器中输入 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityCreateData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityCreateData.cs new file mode 100644 index 0000000..60067e8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityCreateData.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FengdieActivityCreateData Data Structure. + /// + [Serializable] + public class FengdieActivityCreateData : AopObject + { + /// + /// H5应用的名称,用户自定义,最终用于生成URL。生成URL的规则“域名/p/f/${name}/页面名称.html” + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 用户自定义,到了该时间后,用户将访问不到该应用 + /// + [JsonProperty("offline_time")] + public string OfflineTime { get; set; } + + /// + /// H5应用的页面在编辑器中默认展示的数据 + /// + [JsonProperty("page")] + + public List Page { get; set; } + + /// + /// H5应用标题,用户自定义 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityCreatePageData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityCreatePageData.cs new file mode 100644 index 0000000..5dc69bc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityCreatePageData.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FengdieActivityCreatePageData Data Structure. + /// + [Serializable] + public class FengdieActivityCreatePageData : AopObject + { + /// + /// H5应用中页面名称。指定凤蝶开发工具项目中某个H5应用的页面名称。 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 指定name页面默认展示的数据。由Schema文件中的路径和展示的数据结构组成,默认模板中Schema文件路径:bgImage/bgImage;默认模板中此参数的数据结构请参考:默认模板-project-components-bglmage-bjlmage.json文件,bjlmage.json文件中的内容可以编辑。注意:展示的数据结构需要和Schema文件中的路径一致。 + /// + [JsonProperty("schema_data")] + public string SchemaData { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityPage.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityPage.cs new file mode 100644 index 0000000..b5e3140 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivityPage.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FengdieActivityPage Data Structure. + /// + [Serializable] + public class FengdieActivityPage : AopObject + { + /// + /// H5页面唯一id,创建H5应用时自动生成 + /// + [JsonProperty("id")] + public long Id { get; set; } + + /// + /// H5页面名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// H5页面schema数据 + /// + [JsonProperty("schema")] + + public List Schema { get; set; } + + /// + /// H5页面预览图 + /// + [JsonProperty("snapshot")] + public string Snapshot { get; set; } + + /// + /// H5页面中文标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// H5页面访问地址 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivitySchemaData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivitySchemaData.cs new file mode 100644 index 0000000..fbc5975 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieActivitySchemaData.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FengdieActivitySchemaData Data Structure. + /// + [Serializable] + public class FengdieActivitySchemaData : AopObject + { + /// + /// 默认数据的内容,内容格式参考模板开发过程中自动生成的mock数据(与schema文件同名的json文件)。 + /// + [JsonProperty("data")] + public string Data { get; set; } + + /// + /// 指定需要初始化的schema区域,与模板中schema文件路径对应 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieTemplate.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieTemplate.cs new file mode 100644 index 0000000..47ecd34 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FengdieTemplate.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FengdieTemplate Data Structure. + /// + [Serializable] + public class FengdieTemplate : AopObject + { + /// + /// 模板包唯一id,上传模板时自动生成 + /// + [JsonProperty("id")] + public long Id { get; set; } + + /// + /// 模板包开发者,由开发者在package.json中指定 + /// + [JsonProperty("maintainer")] + + public List Maintainer { get; set; } + + /// + /// 模板包名称,开发模板时由开发者在package.json里指定 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 模板包预览图,开发者在模板根目录放置的一张命名为snapshot.png的图片 + /// + [JsonProperty("snapshot")] + public string Snapshot { get; set; } + + /// + /// 模板包描述,开发者在package.json里指定 + /// + [JsonProperty("summary")] + public string Summary { get; set; } + + /// + /// 模板包中文标题,开发者在fengdie.config.js里指定 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FileSignature.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FileSignature.cs new file mode 100644 index 0000000..89c1015 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FileSignature.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FileSignature Data Structure. + /// + [Serializable] + public class FileSignature : AopObject + { + /// + /// 签约主体证件号,关联principal对象 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 图章id/图章模板id + /// + [JsonProperty("seal_id")] + public string SealId { get; set; } + + /// + /// 签章位置描述 + /// + [JsonProperty("seal_position")] + public SealPosition SealPosition { get; set; } + + /// + /// 电子图章类型 1 : 图章模板自动合成 2 : 托管图章编号 + /// + [JsonProperty("seal_type")] + public long SealType { get; set; } + + /// + /// 签约原因描述,可展示在PDF签名区 + /// + [JsonProperty("sign_reason")] + public string SignReason { get; set; } + + /// + /// 电子签章类型 1:仅数字证书文档签名 2:仅图章 3:数字证书文档签名,加盖图章 + /// + [JsonProperty("signature_type")] + public long SignatureType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Filter.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Filter.cs new file mode 100644 index 0000000..6661d97 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Filter.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Filter Data Structure. + /// + [Serializable] + public class Filter : AopObject + { + /// + /// 标签组发圈人条件 + /// + [JsonProperty("context")] + public LabelContext Context { get; set; } + + /// + /// 过滤器模板,${a}是一个变量,会被context参数中的a参数替换,从而展开为最终的表达式,template最多支持两个参数,支持and及or连接符。 and:同时满足条件; or:只需满足其中一个条件 + /// + [JsonProperty("template")] + public string Template { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FilterTag.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FilterTag.cs new file mode 100644 index 0000000..9bf5a44 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FilterTag.cs @@ -0,0 +1,25 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FilterTag Data Structure. + /// + [Serializable] + public class FilterTag : AopObject + { + /// + /// 过滤条件的标签code + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 分组过滤条件 注意:这个是JSON数组,必须以[开头,以]结尾,[]外层不能加双引号"",正确案例[{"operate": "EQ","value": "1" }],错误案例:"[{"operate": + /// "EQ","value": "1" }]" + /// + [JsonProperty("filter_items")] + public string FilterItems { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ForbbidenTime.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ForbbidenTime.cs new file mode 100644 index 0000000..ea1dafc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ForbbidenTime.cs @@ -0,0 +1,19 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ForbbidenTime Data Structure. + /// + [Serializable] + public class ForbbidenTime : AopObject + { + /// + /// 不可用日期区间,仅支持到天 不可用区间起止日期用逗号分隔,多个区间之间用^分隔 + /// 如"2016-05-01,2016-05-03^2016-10-01,2016-10-07"表示2016年5月1日至5月3日,10月1日至10月7日券不可用 + /// + [JsonProperty("days")] + public string Days { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FriendListVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FriendListVO.cs new file mode 100644 index 0000000..4c2ed33 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FriendListVO.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FriendListVO Data Structure. + /// + [Serializable] + public class FriendListVO : AopObject + { + /// + /// 头像的服务地址 + /// + [JsonProperty("head_img")] + public string HeadImg { get; set; } + + /// + /// 是否双向好友 + /// + [JsonProperty("real_friend")] + public bool RealFriend { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 有可能包含emoji表情,业务方要注意编码 + /// + [JsonProperty("view_name")] + public string ViewName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FundDetailItemAOPModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FundDetailItemAOPModel.cs new file mode 100644 index 0000000..05a12c5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FundDetailItemAOPModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FundDetailItemAOPModel Data Structure. + /// + [Serializable] + public class FundDetailItemAOPModel : AopObject + { + /// + /// 主记录+对应资金明细信息模型列表 + /// + [JsonProperty("single_fund_detail_item_aopmodel_list")] + + public List SingleFundDetailItemAopmodelList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FundItemAOPModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FundItemAOPModel.cs new file mode 100644 index 0000000..94950a9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/FundItemAOPModel.cs @@ -0,0 +1,288 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// FundItemAOPModel Data Structure. + /// + [Serializable] + public class FundItemAOPModel : AopObject + { + /// + /// 财务外部单据号 + /// + [JsonProperty("acctrans_out_biz_no")] + public string AcctransOutBizNo { get; set; } + + /// + /// 资金变动金额 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 资产类型编码 + /// + [JsonProperty("assert_type_code")] + public string AssertTypeCode { get; set; } + + /// + /// 银行卡支付工具类型 + /// + [JsonProperty("bank_card_pay_type")] + public string BankCardPayType { get; set; } + + /// + /// 银行卡类型 + /// + [JsonProperty("bank_card_type")] + public string BankCardType { get; set; } + + /// + /// 业务ID + /// + [JsonProperty("biz_id")] + public string BizId { get; set; } + + /// + /// 业务号 + /// + [JsonProperty("biz_in_no")] + public string BizInNo { get; set; } + + /// + /// 业务外部流水号 + /// + [JsonProperty("biz_out_no")] + public string BizOutNo { get; set; } + + /// + /// 业务类型(枚举值对应的code) + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 币种(数字形式) + /// + [JsonProperty("currency")] + public string Currency { get; set; } + + /// + /// 充退金额 + /// + [JsonProperty("dback_amount")] + public string DbackAmount { get; set; } + + /// + /// 退款申请时间 + /// + [JsonProperty("dback_gmt_create")] + public string DbackGmtCreate { get; set; } + + /// + /// 实际/预估银行响应时间 + /// + [JsonProperty("dback_gmt_est_bk_ack")] + public string DbackGmtEstBkAck { get; set; } + + /// + /// 预估银行入账时间 + /// + [JsonProperty("dback_gmt_est_bk_into")] + public string DbackGmtEstBkInto { get; set; } + + /// + /// 充值账户名 + /// + [JsonProperty("dback_inst_account_name")] + public string DbackInstAccountName { get; set; } + + /// + /// 充值卡号(后四位) + /// + [JsonProperty("dback_inst_account_no")] + public string DbackInstAccountNo { get; set; } + + /// + /// 机构ID + /// + [JsonProperty("dback_inst_id")] + public string DbackInstId { get; set; } + + /// + /// 机构名称 + /// + [JsonProperty("dback_inst_name")] + public string DbackInstName { get; set; } + + /// + /// 统一支付资金条目ID + /// + [JsonProperty("fid")] + public string Fid { get; set; } + + /// + /// 面向系统的资金工具接入类型 + /// + [JsonProperty("fund_access_type")] + public long FundAccessType { get; set; } + + /// + /// 资金账号。可以是支付宝主卡账号,子卡账号,银行卡号等等。 + /// + [JsonProperty("fund_account_no")] + public string FundAccountNo { get; set; } + + /// + /// 资金业务类型枚举 + /// + [JsonProperty("fund_biz_type")] + public long FundBizType { get; set; } + + /// + /// 资金明细创建时间 + /// + [JsonProperty("fund_create_time")] + public string FundCreateTime { get; set; } + + /// + /// 资金变动完成时间 + /// + [JsonProperty("fund_finish_time")] + public string FundFinishTime { get; set; } + + /// + /// 资金流向枚举 + /// + [JsonProperty("fund_in_out")] + public long FundInOut { get; set; } + + /// + /// 资金工具机构 + /// + [JsonProperty("fund_inst_id")] + public string FundInstId { get; set; } + + /// + /// 资金明细最后修改时间 + /// + [JsonProperty("fund_modify_time")] + public string FundModifyTime { get; set; } + + /// + /// 资金状态 + /// + [JsonProperty("fund_status")] + public string FundStatus { get; set; } + + /// + /// 该资金变动的资金工具是否为ownerCardNo所拥有 + /// + [JsonProperty("fund_tool_belong_to_crowner")] + public bool FundToolBelongToCrowner { get; set; } + + /// + /// fundToolBelongToCROwner为false时,该字段记录资金工具的实际拥有者 + /// + [JsonProperty("fund_tool_owner_card_no")] + public string FundToolOwnerCardNo { get; set; } + + /// + /// 面向用户的资金工具类型 + /// + [JsonProperty("fund_tool_type_for_crowner")] + public string FundToolTypeForCrowner { get; set; } + + /// + /// 面向系统的资金工具类型 + /// + [JsonProperty("fund_tool_type_for_system")] + public string FundToolTypeForSystem { get; set; } + + /// + /// 资金工具名字(中文),供外部直接展示用。 + /// + [JsonProperty("fund_tool_type_name")] + public string FundToolTypeName { get; set; } + + /// + /// 业务创建时间 + /// + [JsonProperty("gmt_biz_create")] + public string GmtBizCreate { get; set; } + + /// + /// 差错资金自服务入口开放类型,TAOBAO-对淘宝开放,ALIPAY-对支付宝站内开放 + /// + [JsonProperty("open_self_slip_type")] + public string OpenSelfSlipType { get; set; } + + /// + /// 导致该资金变动在业务上的另一方的卡别名 + /// + [JsonProperty("opposite_biz_card_alias")] + public string OppositeBizCardAlias { get; set; } + + /// + /// 导致该资金变动在业务上的另一方的卡别名。 + /// + [JsonProperty("opposite_biz_card_no")] + public string OppositeBizCardNo { get; set; } + + /// + /// 导致该资金变动在资金上的另一方的卡别名。 + /// + [JsonProperty("opposite_fund_card_no")] + public string OppositeFundCardNo { get; set; } + + /// + /// 外部请求号 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 本方卡号 + /// + [JsonProperty("owner_card_no")] + public string OwnerCardNo { get; set; } + + /// + /// 银行卡退款进度状态 + /// + [JsonProperty("refund_bank_status")] + public string RefundBankStatus { get; set; } + + /// + /// 差错可提取金额,单位元 + /// + [JsonProperty("slip_amount")] + public string SlipAmount { get; set; } + + /// + /// 差错挂账id + /// + [JsonProperty("slip_id")] + public string SlipId { get; set; } + + /// + /// 差错挂账资金申领状态,W-待申领,P-申领中,S-成功,F-失败 + /// + [JsonProperty("slip_status")] + public string SlipStatus { get; set; } + + /// + /// 预付子卡类型 + /// + [JsonProperty("sub_prepaid_card_type")] + public string SubPrepaidCardType { get; set; } + + /// + /// 统一支付ID + /// + [JsonProperty("uid")] + public string Uid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GetRuleInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GetRuleInfo.cs new file mode 100644 index 0000000..5f86074 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GetRuleInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GetRuleInfo Data Structure. + /// + [Serializable] + public class GetRuleInfo : AopObject + { + /// + /// 截至时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 发放次数限制 + /// + [JsonProperty("get_count_limit")] + public PeriodInfo GetCountLimit { get; set; } + + /// + /// 开始时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GoodsDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GoodsDetail.cs new file mode 100644 index 0000000..f2e0077 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GoodsDetail.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GoodsDetail Data Structure. + /// + [Serializable] + public class GoodsDetail : AopObject + { + /// + /// 支付宝定义的统一商品编号 + /// + [JsonProperty("alipay_goods_id")] + public string AlipayGoodsId { get; set; } + + /// + /// 商品描述信息 + /// + [JsonProperty("body")] + public string Body { get; set; } + + /// + /// 商品类目 + /// + [JsonProperty("goods_category")] + public string GoodsCategory { get; set; } + + /// + /// 商品的编号 + /// + [JsonProperty("goods_id")] + public string GoodsId { get; set; } + + /// + /// 商品名称 + /// + [JsonProperty("goods_name")] + public string GoodsName { get; set; } + + /// + /// 商品单价,单位为元 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 商品数量 + /// + [JsonProperty("quantity")] + public long Quantity { get; set; } + + /// + /// 商品的展示地址 + /// + [JsonProperty("show_url")] + public string ShowUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GoodsInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GoodsInfo.cs new file mode 100644 index 0000000..0a28afb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GoodsInfo.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GoodsInfo Data Structure. + /// + [Serializable] + public class GoodsInfo : AopObject + { + /// + /// 商品类目 + /// + [JsonProperty("goods_category")] + public string GoodsCategory { get; set; } + + /// + /// 商户自定义商品外部编号 + /// + [JsonProperty("goods_id")] + public string GoodsId { get; set; } + + /// + /// 商户自定义商品名称 + /// + [JsonProperty("goods_name")] + public string GoodsName { get; set; } + + /// + /// 商品单价,单位元,精确到小数点后两位,取值范围[0.01,100000000] + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 商品数量,支持小数,但是小数位不能超过两位 + /// + [JsonProperty("quantity")] + public string Quantity { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GradeDiscountPoint.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GradeDiscountPoint.cs new file mode 100644 index 0000000..302264b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GradeDiscountPoint.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GradeDiscountPoint Data Structure. + /// + [Serializable] + public class GradeDiscountPoint : AopObject + { + /// + /// 蚂蚁会员权益配置的ID + /// + [JsonProperty("benefit_id")] + public long BenefitId { get; set; } + + /// + /// 各个等级的等级折扣后的积分 + /// + [JsonProperty("discount_point")] + public string DiscountPoint { get; set; } + + /// + /// 蚂蚁会员等级 + /// + [JsonProperty("grade")] + public string Grade { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupInfo.cs new file mode 100644 index 0000000..199850f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupInfo.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GroupInfo Data Structure. + /// + [Serializable] + public class GroupInfo : AopObject + { + /// + /// 创建者用户id + /// + [JsonProperty("creator_uid")] + public string CreatorUid { get; set; } + + /// + /// 创建时间 + /// + [JsonProperty("gmt_create")] + public string GmtCreate { get; set; } + + /// + /// 群ID + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 群头像url + /// + [JsonProperty("group_img")] + public string GroupImg { get; set; } + + /// + /// 群名称 + /// + [JsonProperty("group_name")] + public string GroupName { get; set; } + + /// + /// 群成员上限 + /// + [JsonProperty("group_threshold")] + public long GroupThreshold { get; set; } + + /// + /// 群类型,0:普通群、1:经费群、5:活动群、6:娱乐群 + /// + [JsonProperty("group_type")] + public string GroupType { get; set; } + + /// + /// 群主用户id + /// + [JsonProperty("master_uid")] + public string MasterUid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupMemberInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupMemberInfo.cs new file mode 100644 index 0000000..01cbdd3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupMemberInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GroupMemberInfo Data Structure. + /// + [Serializable] + public class GroupMemberInfo : AopObject + { + /// + /// 用户在这个群里的昵称 + /// + [JsonProperty("group_nickname")] + public string GroupNickname { get; set; } + + /// + /// 个人昵称 + /// + [JsonProperty("nickname")] + public string Nickname { get; set; } + + /// + /// 用户的uid + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupSetting.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupSetting.cs new file mode 100644 index 0000000..1e45c62 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/GroupSetting.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// GroupSetting Data Structure. + /// + [Serializable] + public class GroupSetting : AopObject + { + /// + /// 群名称 + /// + [JsonProperty("group_name")] + public string GroupName { get; set; } + + /// + /// 是否开放群成员邀请 + /// + [JsonProperty("is_openinv")] + public bool IsOpeninv { get; set; } + + /// + /// 群公告 + /// + [JsonProperty("public_notice")] + public string PublicNotice { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/HoloGraphicContactInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/HoloGraphicContactInfo.cs new file mode 100644 index 0000000..c4023b7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/HoloGraphicContactInfo.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// HoloGraphicContactInfo Data Structure. + /// + [Serializable] + public class HoloGraphicContactInfo : AopObject + { + /// + /// 主叫通话频次 + /// + [JsonProperty("call_frequency")] + public long CallFrequency { get; set; } + + /// + /// 主叫通话时长 + /// + [JsonProperty("call_time")] + public long CallTime { get; set; } + + /// + /// 被叫通话频次 + /// + [JsonProperty("called_frequency")] + public long CalledFrequency { get; set; } + + /// + /// 被叫通话时长 + /// + [JsonProperty("called_time")] + public long CalledTime { get; set; } + + /// + /// 手机号 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 通话频次 + /// + [JsonProperty("talk_frequency")] + public long TalkFrequency { get; set; } + + /// + /// 通话时长 + /// + [JsonProperty("talk_time")] + public long TalkTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ISVLogSync.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ISVLogSync.cs new file mode 100644 index 0000000..c7d9fe9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ISVLogSync.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ISVLogSync Data Structure. + /// + [Serializable] + public class ISVLogSync : AopObject + { + /// + /// 应用名 + /// + [JsonProperty("application")] + public string Application { get; set; } + + /// + /// isv自定义错误码, 该值传了表示接口调用业务失败或发生异常 + /// + [JsonProperty("error_code")] + public string ErrorCode { get; set; } + + /// + /// 错误信息 + /// + [JsonProperty("error_msg")] + public string ErrorMsg { get; set; } + + /// + /// 异常堆栈 + /// + [JsonProperty("exception_stack_trace")] + public string ExceptionStackTrace { get; set; } + + /// + /// 执行时长,毫秒数。如果能取到尽量传入,涉及到接口耗时的监控 + /// + [JsonProperty("execution_millis")] + public string ExecutionMillis { get; set; } + + /// + /// 接口全限定名 包含远程rpc和内部调用 + /// + [JsonProperty("interface_name")] + public string InterfaceName { get; set; } + + /// + /// T 成功 F 失败 + /// + [JsonProperty("success")] + public string Success { get; set; } + + /// + /// 回流数据类型 + /// + [JsonProperty("sync_type")] + public string SyncType { get; set; } + + /// + /// 时间戳 + /// + [JsonProperty("timestamp")] + public string Timestamp { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdCardImg.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdCardImg.cs new file mode 100644 index 0000000..1723e29 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdCardImg.cs @@ -0,0 +1,30 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IdCardImg Data Structure. + /// + [Serializable] + public class IdCardImg : AopObject + { + /// + /// 证件类型,营业执照:businessLicense,身份证:IDCARD + /// + [XmlElement("cardtype")] + public string Cardtype { get; set; } + + /// + /// 图片地址,支持一个证件的多页照片同时传入,key:页码,value:图片地址。页码从1开始递增,身份证人脸面为1,国徽面为2。 图片地址若是oss地址的话,将bucket的名称组装到path里 + /// + [XmlElement("imgurls")] + public string Imgurls { get; set; } + + /// + /// 图片地址类型,SFS 或OSS + /// + [XmlElement("imgurltype")] + public string Imgurltype { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdentityParam.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdentityParam.cs new file mode 100644 index 0000000..ec694d5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdentityParam.cs @@ -0,0 +1,42 @@ +using System; +using System.Xml.Serialization; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IdentityParam Data Structure. + /// + [Serializable] + public class IdentityParam : AopObject + { + /// + /// 姓名 + /// + [XmlElement("cert_name")] + public string CertName { get; set; } + + /// + /// 证件号 + /// + [XmlElement("cert_no")] + public string CertNo { get; set; } + + /// + /// 证件类型 + /// + [XmlElement("cert_type")] + public string CertType { get; set; } + + /// + /// 身份类型 + /// + [XmlElement("identity_type")] + public string IdentityType { get; set; } + + /// + /// 用户id + /// + [XmlElement("user_id")] + public string UserId { get; set; } + } +} diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdentityParams.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdentityParams.cs new file mode 100644 index 0000000..a207bdc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IdentityParams.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IdentityParams Data Structure. + /// + [Serializable] + public class IdentityParams : AopObject + { + /// + /// 用户身份证号 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 用户姓名 + /// + [JsonProperty("user_name")] + public string UserName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Image.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Image.cs new file mode 100644 index 0000000..3582799 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Image.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Image Data Structure. + /// + [Serializable] + public class Image : AopObject + { + /// + /// 图片url,请先调用alipay.offline.material.image.upload 图片上传接口获得图片url + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IndividualInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IndividualInfo.cs new file mode 100644 index 0000000..a344483 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IndividualInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IndividualInfo Data Structure. + /// + [Serializable] + public class IndividualInfo : AopObject + { + /// + /// 生日 + /// + [JsonProperty("date_of_birth")] + public string DateOfBirth { get; set; } + + /// + /// 证件号码 + /// + [JsonProperty("id_number")] + public string IdNumber { get; set; } + + /// + /// 个人名字 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 国籍 + /// + [JsonProperty("nationality")] + public string Nationality { get; set; } + + /// + /// 个人居住地 + /// + [JsonProperty("residential_address")] + public string ResidentialAddress { get; set; } + + /// + /// 该个体的类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InfoCode.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InfoCode.cs new file mode 100644 index 0000000..4be02a3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InfoCode.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InfoCode Data Structure. + /// + [Serializable] + public class InfoCode : AopObject + { + /// + /// 风险描述 + /// + [JsonProperty("risk_description")] + public string RiskDescription { get; set; } + + /// + /// 风险因素编码 + /// + [JsonProperty("risk_factor_code")] + public string RiskFactorCode { get; set; } + + /// + /// 风险因素名称 + /// + [JsonProperty("risk_factor_name")] + public string RiskFactorName { get; set; } + + /// + /// 风险度量 + /// + [JsonProperty("risk_magnitude")] + public string RiskMagnitude { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InfoSecHitDetectItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InfoSecHitDetectItem.cs new file mode 100644 index 0000000..b8a04ad --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InfoSecHitDetectItem.cs @@ -0,0 +1,39 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InfoSecHitDetectItem Data Structure. + /// + [Serializable] + public class InfoSecHitDetectItem : AopObject + { + /// + /// 级别 + /// + [JsonProperty("detect_resource_level")] + public string DetectResourceLevel { get; set; } + + /// + /// RULEORMODEL("RULEORMODEL", "规则或模型"), KEYWORDS("KEYWORDS", "关键字检测 "), REPEAT_MODEL("REPEAT_MODEL", "防重复模型"), + /// REGEX("regex", "正则表达式"), URL("url", "URL检测"), SEXY_PIC("sexyPic", "黄图检测"), SAMPLE_PIC("samplePic", + /// "样图检测"), OCR("ocr", "图文识别"), PICTURE_FACE("picture_face","图片人脸检测"), QRCODE("QRCode", "二维码检测"), + /// MDP_MODEL("mdpModel", "mdp检测"), ANTI_SPAM_MODEL("anti_spam_model", "反垃圾模型"); + /// + [JsonProperty("detect_type_code")] + public string DetectTypeCode { get; set; } + + /// + /// 保存被命中的内容: 如正则表达式,则保存被正则表达式命中的内容 + /// + [JsonProperty("hit_content")] + public string HitContent { get; set; } + + /// + /// 命中的检测项的资源: 如命中关键字,则存关键字,如命中正则表达式,则保存正则表达式 + /// + [JsonProperty("hit_detect_resource")] + public string HitDetectResource { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InputFieldModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InputFieldModel.cs new file mode 100644 index 0000000..32a82db --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InputFieldModel.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InputFieldModel Data Structure. + /// + [Serializable] + public class InputFieldModel : AopObject + { + /// + /// 默认提示值,例如歌华宽带的金额为100的倍数 + /// + [JsonProperty("default_value")] + public string DefaultValue { get; set; } + + /// + /// 域英文名称 例如:billkey + /// + [JsonProperty("field_name")] + public string FieldName { get; set; } + + /// + /// 输入框下方文字提示,例如: 户号为10位数字 + /// + [JsonProperty("field_tips")] + public string FieldTips { get; set; } + + /// + /// 页面显示提示 例如:手机号码 + /// + [JsonProperty("field_title")] + public string FieldTitle { get; set; } + + /// + /// 控件类型 输入框类型 例如:inputText (文本输入框) + /// + [JsonProperty("field_type")] + public string FieldType { get; set; } + + /// + /// 控件展示顺序 例如:优选级 1 + /// + [JsonProperty("priority")] + public string Priority { get; set; } + + /// + /// 输入域的校验规则模型 + /// + [JsonProperty("regexp_rule_list")] + + public List RegexpRuleList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsAddressee.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsAddressee.cs new file mode 100644 index 0000000..40f1d21 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsAddressee.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsAddressee Data Structure. + /// + [Serializable] + public class InsAddressee : AopObject + { + /// + /// 收件人详细地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 区域编码 + /// + [JsonProperty("address_code")] + public string AddressCode { get; set; } + + /// + /// 联系地址-城区 + /// + [JsonProperty("area")] + public string Area { get; set; } + + /// + /// 联系地址-城市 + /// + [JsonProperty("city")] + public string City { get; set; } + + /// + /// 联系方式(mobile登录号) + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 收件人姓名 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 联系地址-电话 + /// + [JsonProperty("phone")] + public string Phone { get; set; } + + /// + /// 联系地址-省份 + /// + [JsonProperty("province")] + public string Province { get; set; } + + /// + /// 联系地址-邮编 + /// + [JsonProperty("zip")] + public string Zip { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsApplication.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsApplication.cs new file mode 100644 index 0000000..1245526 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsApplication.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsApplication Data Structure. + /// + [Serializable] + public class InsApplication : AopObject + { + /// + /// 投保参数 ,每个产品特有的投保参数,如航空险的航班信息;标准json格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 份数 + /// + [JsonProperty("copies")] + public long Copies { get; set; } + + /// + /// 失效时间 + /// + [JsonProperty("effect_end_time")] + public string EffectEndTime { get; set; } + + /// + /// 生效时间 + /// + [JsonProperty("effect_start_time")] + public string EffectStartTime { get; set; } + + /// + /// 保险标的 + /// + [JsonProperty("ins_object")] + public InsObject InsObject { get; set; } + + /// + /// 被保险人 + /// + [JsonProperty("insured")] + public InsPerson Insured { get; set; } + + /// + /// 险种保障期限,数字+"Y/M/D"结尾,非固定期限险种或多固定期限险种必填 + /// + [JsonProperty("period")] + public string Period { get; set; } + + /// + /// 保费 + /// + [JsonProperty("premium")] + public long Premium { get; set; } + + /// + /// 保额 + /// + [JsonProperty("sum_insured")] + public long SumInsured { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsApplicationQuery.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsApplicationQuery.cs new file mode 100644 index 0000000..2143541 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsApplicationQuery.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsApplicationQuery Data Structure. + /// + [Serializable] + public class InsApplicationQuery : AopObject + { + /// + /// 投保订单号 + /// + [JsonProperty("application_no")] + public string ApplicationNo { get; set; } + + /// + /// 投保单状态;此状态用于判断投保流程的推进过程.INIT: 初始,UNDERWROTE:已核保, DECLINED:已拒保,CLOSED:已关闭, PAID:已付款,REFUND:已退款,ISSUED:已出单 + /// + [JsonProperty("application_status")] + public string ApplicationStatus { get; set; } + + /// + /// 保险机构 + /// + [JsonProperty("merchant")] + public InsMerchant Merchant { get; set; } + + /// + /// 交易操作流水号;用于跳支付宝收银台付款 + /// + [JsonProperty("operation_id")] + public string OperationId { get; set; } + + /// + /// 商户生成的外部投保业务号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 支付交易订单号;用于跳支付宝收银台付款 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificate.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificate.cs new file mode 100644 index 0000000..162200b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificate.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsCertificate Data Structure. + /// + [Serializable] + public class InsCertificate : AopObject + { + /// + /// 发奖凭证ID + /// + [JsonProperty("certificate_id")] + public string CertificateId { get; set; } + + /// + /// 发奖凭证类型;GIFT_INSURANCE:赠险 + /// + [JsonProperty("certificate_type")] + public string CertificateType { get; set; } + + /// + /// 发奖凭证值 + /// + [JsonProperty("certificate_value")] + public string CertificateValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificateApiDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificateApiDTO.cs new file mode 100644 index 0000000..874cd72 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificateApiDTO.cs @@ -0,0 +1,102 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsCertificateApiDTO Data Structure. + /// + [Serializable] + public class InsCertificateApiDTO : AopObject + { + /// + /// 扩展字段 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 保险凭证号 + /// + [JsonProperty("certificate_no")] + public string CertificateNo { get; set; } + + /// + /// 保险凭证类型 + /// + [JsonProperty("certificate_type")] + public string CertificateType { get; set; } + + /// + /// 生效时间 + /// + [JsonProperty("effect_time")] + public string EffectTime { get; set; } + + /// + /// 失效时间 + /// + [JsonProperty("expire_time")] + public string ExpireTime { get; set; } + + /// + /// 面值 + /// + [JsonProperty("face_value")] + public string FaceValue { get; set; } + + /// + /// 机构保单号 + /// + [JsonProperty("ins_policy_no")] + public string InsPolicyNo { get; set; } + + /// + /// 机构id + /// + [JsonProperty("inst_id")] + public string InstId { get; set; } + + /// + /// 订单号 + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 订单来源 + /// + [JsonProperty("order_source")] + public string OrderSource { get; set; } + + /// + /// 外部业务单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 拥有人uid + /// + [JsonProperty("owner_uid")] + public string OwnerUid { get; set; } + + /// + /// 保险凭证状态 + /// + [JsonProperty("status")] + public long Status { get; set; } + + /// + /// 使用时间 + /// + [JsonProperty("use_time")] + public string UseTime { get; set; } + + /// + /// 使用人uid + /// + [JsonProperty("user_uid")] + public string UserUid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificatePaginationList.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificatePaginationList.cs new file mode 100644 index 0000000..e6ec38c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCertificatePaginationList.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsCertificatePaginationList Data Structure. + /// + [Serializable] + public class InsCertificatePaginationList : AopObject + { + /// + /// 当前页数 + /// + [JsonProperty("current_page")] + public long CurrentPage { get; set; } + + /// + /// 结果列表 + /// + [JsonProperty("list")] + + public List List { get; set; } + + /// + /// 每页数量 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 总记录数 + /// + [JsonProperty("total_count")] + public long TotalCount { get; set; } + + /// + /// 全部页数 + /// + [JsonProperty("total_page_num")] + public long TotalPageNum { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaim.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaim.cs new file mode 100644 index 0000000..fe2cf43 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaim.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsClaim Data Structure. + /// + [Serializable] + public class InsClaim : AopObject + { + /// + /// 理赔因子;标准json 格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 实际赔付金额 ;单位分 + /// + [JsonProperty("claim_fee")] + public long ClaimFee { get; set; } + + /// + /// 赔案号 + /// + [JsonProperty("claim_no")] + public string ClaimNo { get; set; } + + /// + /// 赔付时间 + /// + [JsonProperty("claim_pay_time")] + public string ClaimPayTime { get; set; } + + /// + /// 赔案进度;根据更新时间倒序 + /// + [JsonProperty("claim_progress")] + + public List ClaimProgress { get; set; } + + /// + /// 赔案状态.ACCEPTED:已受理;REJECTED:已拒赔;PAID:已赔付 + /// + [JsonProperty("claim_status")] + public string ClaimStatus { get; set; } + + /// + /// 商户生成的外部理赔请求单号 + /// + [JsonProperty("out_request_no")] + public string OutRequestNo { get; set; } + + /// + /// 当状态是拒赔时给出拒赔原因 + /// + [JsonProperty("reject_reason")] + public string RejectReason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimAttachment.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimAttachment.cs new file mode 100644 index 0000000..b2d2c6c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimAttachment.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsClaimAttachment Data Structure. + /// + [Serializable] + public class InsClaimAttachment : AopObject + { + /// + /// 材料描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 文件名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 附件对应的路径 + /// + [JsonProperty("path")] + public string Path { get; set; } + + /// + /// 审核理由 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + + /// + /// 材料审核状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 附件类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimReport.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimReport.cs new file mode 100644 index 0000000..9857840 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimReport.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsClaimReport Data Structure. + /// + [Serializable] + public class InsClaimReport : AopObject + { + /// + /// 出险地点 + /// + [JsonProperty("accident_address")] + public string AccidentAddress { get; set; } + + /// + /// 出险事故描述 + /// + [JsonProperty("accident_desc")] + public string AccidentDesc { get; set; } + + /// + /// 出险时间 + /// + [JsonProperty("accident_time")] + public string AccidentTime { get; set; } + + /// + /// 案件附件列表 + /// + [JsonProperty("attachments")] + + public List Attachments { get; set; } + + /// + /// 业务字段 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 报案号 + /// + [JsonProperty("claim_report_no")] + public string ClaimReportNo { get; set; } + + /// + /// 赔案信息 + /// + [JsonProperty("claims")] + + public List Claims { get; set; } + + /// + /// 案件进度列表 + /// + [JsonProperty("progress")] + + public List Progress { get; set; } + + /// + /// 当status 值为不予受理:REJECTED时候返回 + /// + [JsonProperty("report_reject_reason")] + public string ReportRejectReason { get; set; } + + /// + /// 报案人 + /// + [JsonProperty("reporter")] + public InsPerson Reporter { get; set; } + + /// + /// 案件状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimReportProgress.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimReportProgress.cs new file mode 100644 index 0000000..a19c9a3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsClaimReportProgress.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsClaimReportProgress Data Structure. + /// + [Serializable] + public class InsClaimReportProgress : AopObject + { + /// + /// 案件更新内容 + /// + [JsonProperty("progress_update_content")] + public string ProgressUpdateContent { get; set; } + + /// + /// 案件更新进度时间 + /// + [JsonProperty("progress_update_time")] + public string ProgressUpdateTime { get; set; } + + /// + /// 进度状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCoverage.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCoverage.cs new file mode 100644 index 0000000..5d342b1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCoverage.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsCoverage Data Structure. + /// + [Serializable] + public class InsCoverage : AopObject + { + /// + /// 险种名称 + /// + [JsonProperty("coverage_name")] + public string CoverageName { get; set; } + + /// + /// 险种编号 + /// + [JsonProperty("coverage_no")] + public string CoverageNo { get; set; } + + /// + /// 险种失效时间 + /// + [JsonProperty("effect_end_time")] + public string EffectEndTime { get; set; } + + /// + /// 险种生效时间 + /// + [JsonProperty("effect_start_time")] + public string EffectStartTime { get; set; } + + /// + /// 不计免赔;0:默认不投保; 1:默认投保。 + /// + [JsonProperty("iop")] + public long Iop { get; set; } + + /// + /// 不计免赔的保费 + /// + [JsonProperty("iop_premium")] + public long IopPremium { get; set; } + + /// + /// 保费;单位分 + /// + [JsonProperty("premium")] + public long Premium { get; set; } + + /// + /// 保额;单位分 + /// + [JsonProperty("sum_insured")] + public long SumInsured { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCreateCertificateRequest.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCreateCertificateRequest.cs new file mode 100644 index 0000000..cc9215a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsCreateCertificateRequest.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsCreateCertificateRequest Data Structure. + /// + [Serializable] + public class InsCreateCertificateRequest : AopObject + { + /// + /// 扩展字段 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 保险凭证类型 + /// + [JsonProperty("certificate_type")] + public string CertificateType { get; set; } + + /// + /// 生效时间 + /// + [JsonProperty("effect_time")] + public string EffectTime { get; set; } + + /// + /// 失效时间 + /// + [JsonProperty("expire_time")] + public string ExpireTime { get; set; } + + /// + /// 面值 + /// + [JsonProperty("face_value")] + public string FaceValue { get; set; } + + /// + /// 电子保单号 + /// + [JsonProperty("ins_policy_no")] + public string InsPolicyNo { get; set; } + + /// + /// 机构id + /// + [JsonProperty("inst_id")] + public string InstId { get; set; } + + /// + /// 订单id + /// + [JsonProperty("order_id")] + public string OrderId { get; set; } + + /// + /// 订单来源 + /// + [JsonProperty("order_source")] + public string OrderSource { get; set; } + + /// + /// 外部业务单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 拥有人uid + /// + [JsonProperty("owner_uid")] + public string OwnerUid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataAutodamageEstimateConfirmModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataAutodamageEstimateConfirmModel.cs new file mode 100644 index 0000000..30d556f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataAutodamageEstimateConfirmModel.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsDataAutodamageEstimateConfirmModel Data Structure. + /// + [Serializable] + public class InsDataAutodamageEstimateConfirmModel : AopObject + { + /// + /// 受损程度 + /// + [JsonProperty("damage_degree")] + public string DamageDegree { get; set; } + + /// + /// 受损程度中文描述 + /// + [JsonProperty("damage_degree_desc")] + public string DamageDegreeDesc { get; set; } + + /// + /// 受损类型 + /// + [JsonProperty("damage_type")] + public string DamageType { get; set; } + + /// + /// 受损类型中文描述 + /// + [JsonProperty("damage_type_desc")] + public string DamageTypeDesc { get; set; } + + /// + /// 工时费,单位:元 + /// + [JsonProperty("hourly_wage")] + public string HourlyWage { get; set; } + + /// + /// 是否旧件回收 + /// + [JsonProperty("old_recycle")] + public bool OldRecycle { get; set; } + + /// + /// 配件费用,单位:元 + /// + [JsonProperty("parts_cost")] + public string PartsCost { get; set; } + + /// + /// 配件id + /// + [JsonProperty("parts_id")] + public string PartsId { get; set; } + + /// + /// 零件管理费,单位:元 + /// + [JsonProperty("parts_manage_fee")] + public string PartsManageFee { get; set; } + + /// + /// 配件名称 + /// + [JsonProperty("parts_name")] + public string PartsName { get; set; } + + /// + /// 残值扣除,单位:元 + /// + [JsonProperty("remain_value")] + public string RemainValue { get; set; } + + /// + /// 维修方案 + /// + [JsonProperty("repair_type")] + public string RepairType { get; set; } + + /// + /// 维修方案中文描述 + /// + [JsonProperty("repair_type_desc")] + public string RepairTypeDesc { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataAutodamageEstimateResultDetailModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataAutodamageEstimateResultDetailModel.cs new file mode 100644 index 0000000..26664f7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataAutodamageEstimateResultDetailModel.cs @@ -0,0 +1,96 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsDataAutodamageEstimateResultDetailModel Data Structure. + /// + [Serializable] + public class InsDataAutodamageEstimateResultDetailModel : AopObject + { + /// + /// 受损程度 + /// + [JsonProperty("damage_degree")] + public string DamageDegree { get; set; } + + /// + /// 受损程度中文描述 + /// + [JsonProperty("damage_degree_desc")] + public string DamageDegreeDesc { get; set; } + + /// + /// 受损类型 + /// + [JsonProperty("damage_type")] + public string DamageType { get; set; } + + /// + /// 受损类型中文描述 + /// + [JsonProperty("damage_type_desc")] + public string DamageTypeDesc { get; set; } + + /// + /// 工时费,单位:元 + /// + [JsonProperty("hourly_wage")] + public string HourlyWage { get; set; } + + /// + /// 是否旧件回收 + /// + [JsonProperty("old_recycle")] + public bool OldRecycle { get; set; } + + /// + /// 保险公司原始图片名称列表,用逗号分隔 + /// + [JsonProperty("origin_images")] + public string OriginImages { get; set; } + + /// + /// 配件费用,单位:元 + /// + [JsonProperty("parts_cost")] + public string PartsCost { get; set; } + + /// + /// 配件id + /// + [JsonProperty("parts_id")] + public string PartsId { get; set; } + + /// + /// 零件管理费,单位:元 + /// + [JsonProperty("parts_manage_fee")] + public string PartsManageFee { get; set; } + + /// + /// 配件名称 + /// + [JsonProperty("parts_name")] + public string PartsName { get; set; } + + /// + /// 残值扣除,单位:元 + /// + [JsonProperty("remain_value")] + public string RemainValue { get; set; } + + /// + /// 维修方案 + /// + [JsonProperty("repair_type")] + public string RepairType { get; set; } + + /// + /// 维修方案中文描述 + /// + [JsonProperty("repair_type_desc")] + public string RepairTypeDesc { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataDsbEstimateResultDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataDsbEstimateResultDetail.cs new file mode 100644 index 0000000..8bae0d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsDataDsbEstimateResultDetail.cs @@ -0,0 +1,96 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsDataDsbEstimateResultDetail Data Structure. + /// + [Serializable] + public class InsDataDsbEstimateResultDetail : AopObject + { + /// + /// 受损程度 + /// + [JsonProperty("damage_degree")] + public string DamageDegree { get; set; } + + /// + /// 受损程度中文描述 + /// + [JsonProperty("damage_degree_desc")] + public string DamageDegreeDesc { get; set; } + + /// + /// 受损类型 + /// + [JsonProperty("damage_type")] + public string DamageType { get; set; } + + /// + /// 受损类型中文描述 + /// + [JsonProperty("damage_type_desc")] + public string DamageTypeDesc { get; set; } + + /// + /// 工时项目代码 + /// + [JsonProperty("hourly_code")] + public string HourlyCode { get; set; } + + /// + /// 工时费 + /// + [JsonProperty("hourly_wage")] + public string HourlyWage { get; set; } + + /// + /// 配件OE码 + /// + [JsonProperty("oe_code")] + public string OeCode { get; set; } + + /// + /// 是否旧件回收,true或false + /// + [JsonProperty("old_recycle")] + public bool OldRecycle { get; set; } + + /// + /// 配件费用 + /// + [JsonProperty("parts_cost")] + public string PartsCost { get; set; } + + /// + /// 零件管理费,单位:元 + /// + [JsonProperty("parts_manage_fee")] + public string PartsManageFee { get; set; } + + /// + /// 配件名称 + /// + [JsonProperty("parts_name")] + public string PartsName { get; set; } + + /// + /// 残值扣除,单位:元 + /// + [JsonProperty("remain_value")] + public string RemainValue { get; set; } + + /// + /// 维修方案 + /// + [JsonProperty("repair_type")] + public string RepairType { get; set; } + + /// + /// 维修方案中文描述 + /// + [JsonProperty("repair_type_desc")] + public string RepairTypeDesc { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsEndorseItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsEndorseItem.cs new file mode 100644 index 0000000..ebbcc33 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsEndorseItem.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsEndorseItem Data Structure. + /// + [Serializable] + public class InsEndorseItem : AopObject + { + /// + /// 批单项新值 + /// + [JsonProperty("new_value")] + public string NewValue { get; set; } + + /// + /// 批单项旧值 + /// + [JsonProperty("old_value")] + public string OldValue { get; set; } + + /// + /// 批单类型;303:保单改期;311:批改保单标的 + /// + [JsonProperty("type")] + public long Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsInvoiceApplyItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsInvoiceApplyItem.cs new file mode 100644 index 0000000..7e972ab --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsInvoiceApplyItem.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsInvoiceApplyItem Data Structure. + /// + [Serializable] + public class InsInvoiceApplyItem : AopObject + { + /// + /// 申请发票开票维度;BUSINESS_ORDER:业务单; + /// + [JsonProperty("apply_scope")] + public string ApplyScope { get; set; } + + /// + /// 费用类型;PREMIUM:保费; + /// + [JsonProperty("expense_type")] + public string ExpenseType { get; set; } + + /// + /// 业务单号;apply_scope为BUSINESS_ORDER时必填; + /// + [JsonProperty("ins_biz_no")] + public string InsBizNo { get; set; } + + /// + /// 业务单类型;APPLICATION:投保订单;POLICY:保单;ENDORSEMENT:批单;RECOVERY;追偿单. apply_scope为BUSINESS_ORDER时必填; + /// + [JsonProperty("ins_biz_type")] + public string InsBizType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsLiability.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsLiability.cs new file mode 100644 index 0000000..3c4919d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsLiability.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsLiability Data Structure. + /// + [Serializable] + public class InsLiability : AopObject + { + /// + /// 责任描述 + /// + [JsonProperty("liability_desc")] + public string LiabilityDesc { get; set; } + + /// + /// 责任名称 + /// + [JsonProperty("liability_name")] + public string LiabilityName { get; set; } + + /// + /// 保额 + /// + [JsonProperty("sum_insured")] + public InsSumInsured SumInsured { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMerchant.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMerchant.cs new file mode 100644 index 0000000..826c7c9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMerchant.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMerchant Data Structure. + /// + [Serializable] + public class InsMerchant : AopObject + { + /// + /// 机构全称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 服务电话 + /// + [JsonProperty("service_phone")] + public string ServicePhone { get; set; } + + /// + /// 机构简称 + /// + [JsonProperty("short_name")] + public string ShortName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCampaignDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCampaignDTO.cs new file mode 100644 index 0000000..2f2cdd8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCampaignDTO.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktCampaignDTO Data Structure. + /// + [Serializable] + public class InsMktCampaignDTO : AopObject + { + /// + /// 保险营销活动id + /// + [JsonProperty("campaign_id")] + public string CampaignId { get; set; } + + /// + /// 活动奖品发行量 + /// + [JsonProperty("circulation")] + public long Circulation { get; set; } + + /// + /// 活动权益配置 + /// + [JsonProperty("coupon_config")] + public InsMktCouponConfigDTO CouponConfig { get; set; } + + /// + /// 活动结束时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 活动备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 活动标的列表 + /// + [JsonProperty("mkt_objects")] + + public List MktObjects { get; set; } + + /// + /// 保险营销活动名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 发奖金额算法 + /// + [JsonProperty("send_algorithm")] + public string SendAlgorithm { get; set; } + + /// + /// 发奖规则类型: 1. 基于账户做发奖控制 2. 基于身份证做发奖控制 3. 基于业务单号做发奖控制 + /// + [JsonProperty("send_frqnc_type")] + public long SendFrqncType { get; set; } + + /// + /// 发奖规则值,频次为3 + /// + [JsonProperty("send_frqnc_value")] + public long SendFrqncValue { get; set; } + + /// + /// 活动开始时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 活动状态: 5:活动已发布,待生效 6:活动已生效 7:活动已失效 8:活动已下线 + /// + [JsonProperty("status")] + public long Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponBaseDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponBaseDTO.cs new file mode 100644 index 0000000..485375e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponBaseDTO.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktCouponBaseDTO Data Structure. + /// + [Serializable] + public class InsMktCouponBaseDTO : AopObject + { + /// + /// 权益Id + /// + [JsonProperty("coupon_id")] + public string CouponId { get; set; } + + /// + /// 权益类型 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 权益值 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponCampaignDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponCampaignDTO.cs new file mode 100644 index 0000000..8bc09b2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponCampaignDTO.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktCouponCampaignDTO Data Structure. + /// + [Serializable] + public class InsMktCouponCampaignDTO : AopObject + { + /// + /// 活动核销截止时间 + /// + [JsonProperty("campaign_end_time")] + public string CampaignEndTime { get; set; } + + /// + /// 活动Id + /// + [JsonProperty("campaign_id")] + public string CampaignId { get; set; } + + /// + /// 活动备注 + /// + [JsonProperty("campaign_memo")] + public string CampaignMemo { get; set; } + + /// + /// 活动描述 + /// + [JsonProperty("campaign_name")] + public string CampaignName { get; set; } + + /// + /// 活动开始时间 + /// + [JsonProperty("campaign_start_time")] + public string CampaignStartTime { get; set; } + + /// + /// 活动的权益类型描述 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 权益盖帽值,如1000元优惠券 + /// + [JsonProperty("coupon_upper_value")] + public string CouponUpperValue { get; set; } + + /// + /// 权益值,如500元优惠券 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponCmpgnBaseDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponCmpgnBaseDTO.cs new file mode 100644 index 0000000..a5d2992 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponCmpgnBaseDTO.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktCouponCmpgnBaseDTO Data Structure. + /// + [Serializable] + public class InsMktCouponCmpgnBaseDTO : AopObject + { + /// + /// 活动id + /// + [JsonProperty("campaign_id")] + public string CampaignId { get; set; } + + /// + /// 权益类型 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 权益盖帽值 + /// + [JsonProperty("coupon_upper_value")] + public string CouponUpperValue { get; set; } + + /// + /// 权益值 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponConfigDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponConfigDTO.cs new file mode 100644 index 0000000..198df64 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponConfigDTO.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktCouponConfigDTO Data Structure. + /// + [Serializable] + public class InsMktCouponConfigDTO : AopObject + { + /// + /// 权益配置Id + /// + [JsonProperty("coupon_conf_id")] + public string CouponConfId { get; set; } + + /// + /// 权益类型 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 200元优惠券 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + + /// + /// 核销结束时间 + /// + [JsonProperty("use_end_time")] + public string UseEndTime { get; set; } + + /// + /// 核销使用规则 + /// + [JsonProperty("use_rule")] + public string UseRule { get; set; } + + /// + /// 核销开始时间 + /// + [JsonProperty("use_start_time")] + public string UseStartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponDTO.cs new file mode 100644 index 0000000..0809b2d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktCouponDTO.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktCouponDTO Data Structure. + /// + [Serializable] + public class InsMktCouponDTO : AopObject + { + /// + /// 权益资产Id,如券Id + /// + [JsonProperty("asset_id")] + public string AssetId { get; set; } + + /// + /// 权益Id + /// + [JsonProperty("coupon_id")] + public string CouponId { get; set; } + + /// + /// 权益类型 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 500元单品券 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + + /// + /// 是否推荐使用该优惠 + /// + [JsonProperty("recommend")] + public bool Recommend { get; set; } + + /// + /// 核销结束时间 + /// + [JsonProperty("use_end_time")] + public string UseEndTime { get; set; } + + /// + /// 核销规则 + /// + [JsonProperty("use_rule")] + public string UseRule { get; set; } + + /// + /// 核销开始时间 + /// + [JsonProperty("use_start_time")] + public string UseStartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktFactorDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktFactorDTO.cs new file mode 100644 index 0000000..f1f98b8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktFactorDTO.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktFactorDTO Data Structure. + /// + [Serializable] + public class InsMktFactorDTO : AopObject + { + /// + /// 规则因子 + /// + [JsonProperty("key")] + public string Key { get; set; } + + /// + /// 规则因子值 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktObjectDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktObjectDTO.cs new file mode 100644 index 0000000..7456177 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktObjectDTO.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktObjectDTO Data Structure. + /// + [Serializable] + public class InsMktObjectDTO : AopObject + { + /// + /// 活动标的id + /// + [JsonProperty("obj_id")] + public string ObjId { get; set; } + + /// + /// 标的类型 + /// + [JsonProperty("type")] + public long Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktPreUseCampaignDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktPreUseCampaignDTO.cs new file mode 100644 index 0000000..4fce3db --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktPreUseCampaignDTO.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktPreUseCampaignDTO Data Structure. + /// + [Serializable] + public class InsMktPreUseCampaignDTO : AopObject + { + /// + /// 活动Id + /// + [JsonProperty("campaign_id")] + public string CampaignId { get; set; } + + /// + /// 活动名称 + /// + [JsonProperty("campaign_name")] + public string CampaignName { get; set; } + + /// + /// 权益类型 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 权益盖帽值 + /// + [JsonProperty("coupon_upper_value")] + public string CouponUpperValue { get; set; } + + /// + /// 权益值 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + + /// + /// 是否预核销通过 + /// + [JsonProperty("pre_use")] + public bool PreUse { get; set; } + + /// + /// 预核销失败原因 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktPreUseCouponDTO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktPreUseCouponDTO.cs new file mode 100644 index 0000000..eb594b0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsMktPreUseCouponDTO.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsMktPreUseCouponDTO Data Structure. + /// + [Serializable] + public class InsMktPreUseCouponDTO : AopObject + { + /// + /// 资产Id + /// + [JsonProperty("asset_id")] + public string AssetId { get; set; } + + /// + /// 权益id + /// + [JsonProperty("coupon_id")] + public string CouponId { get; set; } + + /// + /// 权益类型 + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 权益值 + /// + [JsonProperty("coupon_value")] + public string CouponValue { get; set; } + + /// + /// 是否支持预核销 + /// + [JsonProperty("pre_use")] + public bool PreUse { get; set; } + + /// + /// 预核销失败原因 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsObject.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsObject.cs new file mode 100644 index 0000000..4b27e06 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsObject.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsObject Data Structure. + /// + [Serializable] + public class InsObject : AopObject + { + /// + /// 标的物的标识id + /// + [JsonProperty("insured_object_id")] + public string InsuredObjectId { get; set; } + + /// + /// 标的信息;标准json 格式 + /// + [JsonProperty("insured_object_info")] + public string InsuredObjectInfo { get; set; } + + /// + /// 标的类型;0:财产所在地;1:其它;2:车;3:资金债务;4:电商订单 + /// + [JsonProperty("type")] + public long Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsPerson.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsPerson.cs new file mode 100644 index 0000000..f393255 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsPerson.cs @@ -0,0 +1,96 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsPerson Data Structure. + /// + [Serializable] + public class InsPerson : AopObject + { + /// + /// 地址 + /// + [JsonProperty("address")] + public string Address { get; set; } + + /// + /// 生日 + /// + [JsonProperty("birthday")] + public string Birthday { get; set; } + + /// + /// 投保参数;标准json格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 证件上名称;如果渠道账号字段没填则必填 + /// + [JsonProperty("cert_name")] + public string CertName { get; set; } + + /// + /// 证件号码;如果渠道账号字段没填则必填 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 证件类型;如果渠道账号字段没填则必填 100:居民身份证;102:护照;103:军官证;104:士兵证;105:港澳居民往来内地通行证;106:台湾同胞往来大陆通行证;109:警官证 + /// + [JsonProperty("cert_type")] + public string CertType { get; set; } + + /// + /// 渠道账号对应的uid;如果证件类型字段没填则必填 + /// + [JsonProperty("channel_user_id")] + public string ChannelUserId { get; set; } + + /// + /// 渠道账号来源;1:支付宝账号 2:淘宝账号;如果证件类型字段没填则必填 + /// + [JsonProperty("channel_user_source")] + public string ChannelUserSource { get; set; } + + /// + /// 邮箱 + /// + [JsonProperty("email")] + public string Email { get; set; } + + /// + /// 性别;M:男 F:女 + /// + [JsonProperty("gender")] + public string Gender { get; set; } + + /// + /// 国籍 + /// + [JsonProperty("nationality")] + public string Nationality { get; set; } + + /// + /// 电话号码 + /// + [JsonProperty("phone")] + public string Phone { get; set; } + + /// + /// 张三 + /// + [JsonProperty("pronounce_name")] + public string PronounceName { get; set; } + + /// + /// 支付宝会员ID;如果是投保人则必填 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsPolicy.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsPolicy.cs new file mode 100644 index 0000000..b9fb526 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsPolicy.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsPolicy Data Structure. + /// + [Serializable] + public class InsPolicy : AopObject + { + /// + /// 保单邮寄地址 + /// + [JsonProperty("addressee")] + public InsAddressee Addressee { get; set; } + + /// + /// 投保人 + /// + [JsonProperty("applicant")] + public InsPerson Applicant { get; set; } + + /// + /// 投保参数;标准json 格式 + /// + [JsonProperty("biz_data")] + public string BizData { get; set; } + + /// + /// 赔案 + /// + [JsonProperty("claims")] + + public List Claims { get; set; } + + /// + /// 险种列表 + /// + [JsonProperty("coverages")] + + public List Coverages { get; set; } + + /// + /// 保单失效时间 + /// + [JsonProperty("effect_end_time")] + public string EffectEndTime { get; set; } + + /// + /// 保单生效时间 + /// + [JsonProperty("effect_start_time")] + public string EffectStartTime { get; set; } + + /// + /// 标的列表 + /// + [JsonProperty("ins_objects")] + + public List InsObjects { get; set; } + + /// + /// 被保险人 + /// + [JsonProperty("insureds")] + + public List Insureds { get; set; } + + /// + /// 机构名称 + /// + [JsonProperty("merchant_name")] + public string MerchantName { get; set; } + + /// + /// 保单凭证号;蚂蚁保险平台生成的保单凭证号,用户可以通过此单号去保险公司查询保单信息. + /// + [JsonProperty("policy_no")] + public string PolicyNo { get; set; } + + /// + /// 保单状态.INEFFECTIVE:未生效、GUARANTEE:保障中、EXPIRED:已失效、SURRENDER:已退保 + /// + [JsonProperty("policy_status")] + public string PolicyStatus { get; set; } + + /// + /// 保费 ;单位分 + /// + [JsonProperty("premium")] + public long Premium { get; set; } + + /// + /// 产品名称 + /// + [JsonProperty("prod_name")] + public string ProdName { get; set; } + + /// + /// 保额 ;单位分 + /// + [JsonProperty("sum_insured")] + public long SumInsured { get; set; } + + /// + /// 退保金额 + /// + [JsonProperty("surrender_fee")] + public long SurrenderFee { get; set; } + + /// + /// 退保时间 + /// + [JsonProperty("surrender_time")] + public string SurrenderTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdCoverage.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdCoverage.cs new file mode 100644 index 0000000..a9d0599 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdCoverage.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsProdCoverage Data Structure. + /// + [Serializable] + public class InsProdCoverage : AopObject + { + /// + /// 险种描述 + /// + [JsonProperty("coverage_desc")] + public string CoverageDesc { get; set; } + + /// + /// 险种名称 + /// + [JsonProperty("coverage_name")] + public string CoverageName { get; set; } + + /// + /// 险种编号 + /// + [JsonProperty("coverage_no")] + public string CoverageNo { get; set; } + + /// + /// 是否定期险种 + /// + [JsonProperty("is_fixed_period")] + public bool IsFixedPeriod { get; set; } + + /// + /// 险种责任列表 + /// + [JsonProperty("liabilities")] + + public List Liabilities { get; set; } + + /// + /// 可用的保障期限列表;约定“1D”代表一天,“1M”代表一个月,"1Y"代表一年 + /// + [JsonProperty("periods")] + + public List Periods { get; set; } + + /// + /// 保额 + /// + [JsonProperty("sum_insured")] + public InsSumInsured SumInsured { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdResource.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdResource.cs new file mode 100644 index 0000000..15099c3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdResource.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsProdResource Data Structure. + /// + [Serializable] + public class InsProdResource : AopObject + { + /// + /// 资源项标识符;insMustKnow:投保须知,productTerm:产品条款,insAgreement:投保协议,insAgreementH5:投保协议H5,healthMustKnow:健康告知,announcement:重要告知,productFeature:产品特色,productFeatureDetail:产品特色详情,insTermUrl:保险条款链接,relativeFileUrl:相关文件链接,claimFlow:理赔流程,productImage:产品图片,productImageSmall:产品小图片,productIcon:产品图标,insDetail:投保详情,claimDetail:理赔详情,insDetailDigest:投保详情摘要,electronicPolicyUrl:电子保单地址. + /// + [JsonProperty("key")] + public string Key { get; set; } + + /// + /// 名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 资源类型;text:文本;url:URL; + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 值 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdTag.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdTag.cs new file mode 100644 index 0000000..fe596ff --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProdTag.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsProdTag Data Structure. + /// + [Serializable] + public class InsProdTag : AopObject + { + /// + /// 业务标记代码 + /// + [JsonProperty("tag_code")] + public string TagCode { get; set; } + + /// + /// 业务标记值 + /// + [JsonProperty("tag_value")] + public string TagValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProduct.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProduct.cs new file mode 100644 index 0000000..73bbaf2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsProduct.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsProduct Data Structure. + /// + [Serializable] + public class InsProduct : AopObject + { + /// + /// 险种列表 + /// + [JsonProperty("coverages")] + public InsProdCoverage Coverages { get; set; } + + /// + /// 是否标准产品 + /// + [JsonProperty("is_sp")] + public bool IsSp { get; set; } + + /// + /// 保险机构;当产品为标准产品时该值为空 + /// + [JsonProperty("merchant")] + public InsMerchant Merchant { get; set; } + + /// + /// 产品编码;由蚂蚁保险平台分配,商户通过该产品编码投保特定的保险产品 + /// + [JsonProperty("prod_code")] + public string ProdCode { get; set; } + + /// + /// 产品描述 + /// + [JsonProperty("prod_desc")] + public string ProdDesc { get; set; } + + /// + /// 产品名称 + /// + [JsonProperty("prod_name")] + public string ProdName { get; set; } + + /// + /// 产品版本号 + /// + [JsonProperty("prod_version")] + public string ProdVersion { get; set; } + + /// + /// 资源项 + /// + [JsonProperty("resources")] + + public List Resources { get; set; } + + /// + /// 产品简称 + /// + [JsonProperty("short_name")] + public string ShortName { get; set; } + + /// + /// 标准产品编码;标准产品是不同保险公司同一类型产品的一种抽象 + /// + [JsonProperty("sp_code")] + public string SpCode { get; set; } + + /// + /// 标记列表 + /// + [JsonProperty("tags")] + + public List Tags { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsQueryPerson.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsQueryPerson.cs new file mode 100644 index 0000000..c49b478 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsQueryPerson.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsQueryPerson Data Structure. + /// + [Serializable] + public class InsQueryPerson : AopObject + { + /// + /// 证件号码;如果渠道账号字段(channel_user_id)没填则本字段为必填 + /// + [JsonProperty("cert_no")] + public string CertNo { get; set; } + + /// + /// 证件类型;如果渠道账号字段没填则必填 (该字段和cert_no为配对字段) 100:居民身份证;102:护照;103:军官证;104:士兵证;105:港澳居民往来内地通行证;106:台湾同胞往来大陆通行证;109:警官证 + /// + [JsonProperty("cert_type")] + public string CertType { get; set; } + + /// + /// 渠道账号对应的uid;如果证件类型字段没填则本字段为必填 + /// + [JsonProperty("channel_user_id")] + public string ChannelUserId { get; set; } + + /// + /// 渠道账号来源: 1:支付宝账号; 2:淘宝账号; 如果证件类型字段没填则必填。 和channel_user_id 配对 + /// + [JsonProperty("channel_user_source")] + public string ChannelUserSource { get; set; } + + /// + /// 保单用户搜索的类型: 1:按照投保人搜索 2:按照受益人搜索 3:按照被保人搜索 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsSumInsured.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsSumInsured.cs new file mode 100644 index 0000000..02e57d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InsSumInsured.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InsSumInsured Data Structure. + /// + [Serializable] + public class InsSumInsured : AopObject + { + /// + /// 保额默认值;单位分 + /// + [JsonProperty("default_value")] + public long DefaultValue { get; set; } + + /// + /// 保额最大值;单位分,当sum_insured_type=MONEY_RANGE时该值有效 + /// + [JsonProperty("max_value")] + public long MaxValue { get; set; } + + /// + /// 保额最小值;单位分,当sum_insured_type=MONEY_RANGE时该值有效 + /// + [JsonProperty("min_value")] + public long MinValue { get; set; } + + /// + /// 保额类型;MONEY_RANGE:金额范围,MONEY_LIST:金额可选值,ENUM_VALUE:枚举值 + /// + [JsonProperty("sum_insured_type")] + public string SumInsuredType { get; set; } + + /// + /// 保额列表;列表里的值单位为分,当sum_insured_type=MONEY_LIST时该值有效 + /// + [JsonProperty("sum_insureds")] + + public List SumInsureds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstRepayPlan.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstRepayPlan.cs new file mode 100644 index 0000000..36cd325 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstRepayPlan.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InstRepayPlan Data Structure. + /// + [Serializable] + public class InstRepayPlan : AopObject + { + /// + /// 是否是当期。 默认值为不是当期计划。如果合约最后一期计划都已经逾期,就不再存在当期计划,合约下所有计划明细的该值都为false + /// + [JsonProperty("cur_term")] + public bool CurTerm { get; set; } + + /// + /// 当期利息,单位:元 + /// + [JsonProperty("cur_term_interest")] + public string CurTermInterest { get; set; } + + /// + /// 当期利息罚息,单位:元 + /// + [JsonProperty("cur_term_interest_penalty")] + public string CurTermInterestPenalty { get; set; } + + /// + /// 当期本金,单位:元 + /// + [JsonProperty("cur_term_principal")] + public string CurTermPrincipal { get; set; } + + /// + /// 当期本金罚息,单位:元 + /// + [JsonProperty("cur_term_principal_penalty")] + public string CurTermPrincipalPenalty { get; set; } + + /// + /// 当期已还利息,单位:元 + /// + [JsonProperty("repaid_interest")] + public string RepaidInterest { get; set; } + + /// + /// 当期已还利息罚息,单位:元 + /// + [JsonProperty("repaid_interest_penalty")] + public string RepaidInterestPenalty { get; set; } + + /// + /// 当期已还本金,单位:元 + /// + [JsonProperty("repaid_principal")] + public string RepaidPrincipal { get; set; } + + /// + /// 当期已还本金罚息,单位:元 + /// + [JsonProperty("repaid_principal_penalty")] + public string RepaidPrincipalPenalty { get; set; } + + /// + /// 分期状态(NORMAL:正常,OVD:逾期,CLEAR:已结清) + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 本期到期日 + /// + [JsonProperty("term_end_date")] + public string TermEndDate { get; set; } + + /// + /// 期次号 + /// + [JsonProperty("term_no")] + public long TermNo { get; set; } + + /// + /// 本期开始日 + /// + [JsonProperty("term_start_date")] + public string TermStartDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentMetaInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentMetaInfo.cs new file mode 100644 index 0000000..f8df345 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentMetaInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InstallmentMetaInfo Data Structure. + /// + [Serializable] + public class InstallmentMetaInfo : AopObject + { + /// + /// 结束期数,包含此值 + /// + [JsonProperty("end_term")] + public long EndTerm { get; set; } + + /// + /// 开始期数,包含此值 + /// + [JsonProperty("start_term")] + public long StartTerm { get; set; } + + /// + /// 分期值(如还款方式、利率等) + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentRepayPlan.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentRepayPlan.cs new file mode 100644 index 0000000..bd7f173 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentRepayPlan.cs @@ -0,0 +1,90 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InstallmentRepayPlan Data Structure. + /// + [Serializable] + public class InstallmentRepayPlan : AopObject + { + /// + /// 是否是当期 ?? 默认值为不是当期计划。如果合约最后一期计划都已经逾期,就不再存在当期计划,合约下所有计划明细的该值都为false + /// + [JsonProperty("cur_term")] + public bool CurTerm { get; set; } + + /// + /// 当期已还利息 + /// + [JsonProperty("paid_int_bal")] + public string PaidIntBal { get; set; } + + /// + /// 当期已还本金 + /// + [JsonProperty("paid_prin_bal")] + public string PaidPrinBal { get; set; } + + /// + /// 分期状态(NORMAL:正常,OVD:逾期,CLEAR:已结清) + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 本期到期日 + /// + [JsonProperty("term_end_date")] + public string TermEndDate { get; set; } + + /// + /// 期次号 + /// + [JsonProperty("term_no")] + public long TermNo { get; set; } + + /// + /// 当期利息 + /// + [JsonProperty("term_nom_int")] + public string TermNomInt { get; set; } + + /// + /// 当期本金 + /// + [JsonProperty("term_nom_prin")] + public string TermNomPrin { get; set; } + + /// + /// 当期已还利息罚息 + /// + [JsonProperty("term_ovd_int")] + public string TermOvdInt { get; set; } + + /// + /// 当期利息罚息 + /// + [JsonProperty("term_ovd_int_pen_int")] + public string TermOvdIntPenInt { get; set; } + + /// + /// 当期已还本金罚息 + /// + [JsonProperty("term_ovd_prin")] + public string TermOvdPrin { get; set; } + + /// + /// 当期本金罚息 + /// + [JsonProperty("term_ovd_prin_pen_int")] + public string TermOvdPrinPenInt { get; set; } + + /// + /// 本期开始日 + /// + [JsonProperty("term_start_date")] + public string TermStartDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentValue.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentValue.cs new file mode 100644 index 0000000..8838cb7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstallmentValue.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InstallmentValue Data Structure. + /// + [Serializable] + public class InstallmentValue : AopObject + { + /// + /// 分段值 + /// + [JsonProperty("installment_values")] + + public List InstallmentValues { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstanceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstanceInfo.cs new file mode 100644 index 0000000..e0081d8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InstanceInfo.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InstanceInfo Data Structure. + /// + [Serializable] + public class InstanceInfo : AopObject + { + /// + /// 内容 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 券失效时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 券开始生效时间 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 券id + /// + [JsonProperty("instance_id")] + public string InstanceId { get; set; } + + /// + /// 券名称 + /// + [JsonProperty("instance_name")] + public string InstanceName { get; set; } + + /// + /// 类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InterfaceInfoList.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InterfaceInfoList.cs new file mode 100644 index 0000000..48f897c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InterfaceInfoList.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InterfaceInfoList Data Structure. + /// + [Serializable] + public class InterfaceInfoList : AopObject + { + /// + /// 传入参数固定值:alipay.eco.mycar.parking.userpage.query + /// + [JsonProperty("interface_name")] + public string InterfaceName { get; set; } + + /// + /// 传入参数固定值:interface_page + /// + [JsonProperty("interface_type")] + public string InterfaceType { get; set; } + + /// + /// SPI接口的调用地址url,协议必须为https,对整个url字符串必须进行UrlEncode编码。编码为UTF-8 + /// + [JsonProperty("interface_url")] + public string InterfaceUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IntroductionInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IntroductionInfo.cs new file mode 100644 index 0000000..785ea0a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IntroductionInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IntroductionInfo Data Structure. + /// + [Serializable] + public class IntroductionInfo : AopObject + { + /// + /// 商品详情-商家介绍图片地址列表 + /// + [JsonProperty("image_urls")] + + public List ImageUrls { get; set; } + + /// + /// 商品详情-商家介绍标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvestigCategoryData.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvestigCategoryData.cs new file mode 100644 index 0000000..cc4e330 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvestigCategoryData.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvestigCategoryData Data Structure. + /// + [Serializable] + public class InvestigCategoryData : AopObject + { + /// + /// 数据项 + /// + [JsonProperty("category")] + public string Category { get; set; } + + /// + /// 采集的数据的版本号。 + /// + [JsonProperty("data_version")] + public string DataVersion { get; set; } + + /// + /// 实体code + /// + [JsonProperty("entity_code")] + public string EntityCode { get; set; } + + /// + /// 实体名 + /// + [JsonProperty("entity_name")] + public string EntityName { get; set; } + + /// + /// 实体类别 + /// + [JsonProperty("entity_type")] + public string EntityType { get; set; } + + /// + /// 征信模型结果,以JSON格式输出,包括征信评分creditScore、不准入原因refuseReasons、模型标识码modelIdCode三个字段 + /// + [JsonProperty("model_result_object")] + public string ModelResultObject { get; set; } + + /// + /// 采集状态 + /// + [JsonProperty("state")] + public string State { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvestigCategoryResult.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvestigCategoryResult.cs new file mode 100644 index 0000000..bb8b336 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvestigCategoryResult.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvestigCategoryResult Data Structure. + /// + [Serializable] + public class InvestigCategoryResult : AopObject + { + /// + /// 数据项Category + /// + [JsonProperty("category")] + public string Category { get; set; } + + /// + /// 数据项对应的所有采集结果 + /// + [JsonProperty("category_result")] + + public List CategoryResult { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceApplyOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceApplyOpenModel.cs new file mode 100644 index 0000000..0784fb6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceApplyOpenModel.cs @@ -0,0 +1,158 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceApplyOpenModel Data Structure. + /// + [Serializable] + public class InvoiceApplyOpenModel : AopObject + { + /// + /// 复核人 + /// + [JsonProperty("checker")] + public string Checker { get; set; } + + /// + /// 操作员 + /// + [JsonProperty("clerk")] + public string Clerk { get; set; } + + /// + /// 不含税金额 + /// + [JsonProperty("ex_tax_amount")] + public string ExTaxAmount { get; set; } + + /// + /// 发票金额(加税合计) + /// + [JsonProperty("invoice_amount")] + public string InvoiceAmount { get; set; } + + /// + /// 发票内容项 + /// + [JsonProperty("invoice_content")] + + public List InvoiceContent { get; set; } + + /// + /// 发票类型: 增值税普通电子发票(PLAIN) + /// + [JsonProperty("invoice_kind")] + public string InvoiceKind { get; set; } + + /// + /// 发票备注 + /// + [JsonProperty("invoice_memo")] + public string InvoiceMemo { get; set; } + + /// + /// 发票抬头 + /// + [JsonProperty("invoice_title")] + public InvoiceTitleApplyOpenModel InvoiceTitle { get; set; } + + /// + /// 仅用于红冲,对应红冲对应的原始蓝票的发票代码,红冲时该字段必填,开蓝票时该字段不需填 + /// + [JsonProperty("ori_blue_inv_code")] + public string OriBlueInvCode { get; set; } + + /// + /// 仅用于红冲,对应红冲对应的原始蓝票的发票号码,红冲时该字段必填,开蓝票时该字段不需填 + /// + [JsonProperty("ori_blue_inv_no")] + public string OriBlueInvNo { get; set; } + + /// + /// 发起方生成的开票申请唯一id,要求发起方全局唯一,支付宝依据其进行幂等控制。 + /// + [JsonProperty("out_apply_id")] + public string OutApplyId { get; set; } + + /// + /// 申请开票对应的商户交易流水号,该流水号必须保证在同商户范围内全局唯一。 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 收款人 + /// + [JsonProperty("payee")] + public string Payee { get; set; } + + /// + /// 销售方地址 + /// + [JsonProperty("payee_address")] + public string PayeeAddress { get; set; } + + /// + /// 销售方开户账户 + /// + [JsonProperty("payee_bank_account")] + public string PayeeBankAccount { get; set; } + + /// + /// 销售方开户行 + /// + [JsonProperty("payee_bank_name")] + public string PayeeBankName { get; set; } + + /// + /// 销售方名称,对应于销售方纳税人识别号的名称 + /// + [JsonProperty("payee_register_name")] + public string PayeeRegisterName { get; set; } + + /// + /// 销售方纳税人识别号 + /// + [JsonProperty("payee_register_no")] + public string PayeeRegisterNo { get; set; } + + /// + /// 销售方电话 + /// + [JsonProperty("payee_tel")] + public string PayeeTel { get; set; } + + /// + /// 购买方联系方式-邮箱,商家开蓝票时,该字段必填,使用该邮箱向购买方发送发票pdf文件。其它情况均可不传 + /// + [JsonProperty("payer_contact_email")] + public string PayerContactEmail { get; set; } + + /// + /// 购买方联系方式,依据税控厂商的要求,如若底层税控对接的是浙江航信,该字段必传,其它情况可不传 + /// + [JsonProperty("payer_contact_mobile")] + public string PayerContactMobile { get; set; } + + /// + /// 合计税额 + /// + [JsonProperty("sum_tax_amount")] + public string SumTaxAmount { get; set; } + + /// + /// 商户在税控服务开通后,税控厂商会向商户分配秘钥并提供token的生成方法,商户或ISV利用该方法生成token以获得此次调用的操作权限。目前对于阿里平台来说,不需要校验该权限,如果底层税控对接的是阿里平台的话,该字段可不填,其它的税控厂商该字段为必填 + /// + [JsonProperty("tax_token")] + public string TaxToken { get; set; } + + /// + /// 交易发生时间,依据税控厂商要求,目前底层税控对接的是浙江航信的话,该字段必填 + /// + [JsonProperty("trade_date")] + public string TradeDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceInfo.cs new file mode 100644 index 0000000..b0363c9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceInfo.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceInfo Data Structure. + /// + [Serializable] + public class InvoiceInfo : AopObject + { + /// + /// 开票内容 注:json数组格式 + /// + [JsonProperty("details")] + public string Details { get; set; } + + /// + /// 开票关键信息 + /// + [JsonProperty("key_info")] + public InvoiceKeyInfo KeyInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemApplyOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemApplyOpenModel.cs new file mode 100644 index 0000000..f1caec1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemApplyOpenModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceItemApplyOpenModel Data Structure. + /// + [Serializable] + public class InvoiceItemApplyOpenModel : AopObject + { + /// + /// 明细不含税金额,该值为item_quantity*item_unit_price,依据税控厂商的不同,目前对接的阿里平台和浙江航信该字段不必传 + /// + [JsonProperty("item_ex_tax_amount")] + public string ItemExTaxAmount { get; set; } + + /// + /// 发票项目名称(或商品名称) + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 商品编号 + /// + [JsonProperty("item_no")] + public string ItemNo { get; set; } + + /// + /// 数量。新版电子发票,折扣行此参数不能传,非折扣行必传 + /// + [JsonProperty("item_quantity")] + public long ItemQuantity { get; set; } + + /// + /// 商品型号 + /// + [JsonProperty("item_spec")] + public string ItemSpec { get; set; } + + /// + /// 明细价税合计。该值为item_tax_amount+item_ex_tax_amount,依据税控厂商的不同,目前对接的阿里平台和浙江航信该字段可不传。 + /// + [JsonProperty("item_sum_amount")] + public string ItemSumAmount { get; set; } + + /// + /// 明细税额,该值为item_ex_tax_amount*item_tax_rate,依据税控厂商的不同,对于目前对接的浙江航信和阿里平台,该字段可不传 + /// + [JsonProperty("item_tax_amount")] + public string ItemTaxAmount { get; set; } + + /// + /// 税率 + /// + [JsonProperty("item_tax_rate")] + public string ItemTaxRate { get; set; } + + /// + /// 单位 + /// + [JsonProperty("item_unit")] + public string ItemUnit { get; set; } + + /// + /// 单价,格式:100.00。新版电子发票,折扣行此参数不能传,非折扣行必传 + /// + [JsonProperty("item_unit_price")] + public string ItemUnitPrice { get; set; } + + /// + /// 发票行性质。0表示正常行,1表示折扣行,2表示被折扣行。比如充电器单价100元,折扣10元,则明细为2行,充电器行性质为2,折扣行性质为1。如果充电器没有折扣,则值应为0 + /// + [JsonProperty("row_type")] + public string RowType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemContent.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemContent.cs new file mode 100644 index 0000000..1fa69ca --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemContent.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceItemContent Data Structure. + /// + [Serializable] + public class InvoiceItemContent : AopObject + { + /// + /// 价税合计。(等于sumPrice和tax之和) + /// + [JsonProperty("item_amount")] + public string ItemAmount { get; set; } + + /// + /// 发票项目名称(或商品名称) + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 商品编号 + /// + [JsonProperty("item_no")] + public string ItemNo { get; set; } + + /// + /// 单价,格式:100.00。新版电子发票,折扣行此参数不能传,非折扣行必传 + /// + [JsonProperty("item_price")] + public string ItemPrice { get; set; } + + /// + /// 数量。新版电子发票,折扣行此参数不能传,非折扣行必传 + /// + [JsonProperty("item_quantity")] + public long ItemQuantity { get; set; } + + /// + /// 单项总价,格式:100.00 + /// + [JsonProperty("item_sum_price")] + public string ItemSumPrice { get; set; } + + /// + /// 税额 + /// + [JsonProperty("item_tax_price")] + public string ItemTaxPrice { get; set; } + + /// + /// 税率 + /// + [JsonProperty("item_tax_rate")] + public string ItemTaxRate { get; set; } + + /// + /// 台 + /// + [JsonProperty("item_unit")] + public string ItemUnit { get; set; } + + /// + /// 发票行性质。0表示正常行,1表示折扣行,2表示被折扣行。比如充电器单价100元,折扣10元,则明细为2行,充电器行性质为2,折扣行性质为1。如果充电器没有折扣,则值应为0 + /// + [JsonProperty("row_type")] + public long RowType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemQueryOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemQueryOpenModel.cs new file mode 100644 index 0000000..c247a6f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceItemQueryOpenModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceItemQueryOpenModel Data Structure. + /// + [Serializable] + public class InvoiceItemQueryOpenModel : AopObject + { + /// + /// 不含税金额 + /// + [JsonProperty("item_ex_tax_amount")] + public string ItemExTaxAmount { get; set; } + + /// + /// 发票项目名称(或商品名称) + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 商品编号 + /// + [JsonProperty("item_no")] + public string ItemNo { get; set; } + + /// + /// 数量 + /// + [JsonProperty("item_quantity")] + public string ItemQuantity { get; set; } + + /// + /// 商品型号 + /// + [JsonProperty("item_spec")] + public string ItemSpec { get; set; } + + /// + /// 价税合计。(等于item_tax_amount和item_ex_tax_amount之和) + /// + [JsonProperty("item_sum_amount")] + public string ItemSumAmount { get; set; } + + /// + /// 税额 + /// + [JsonProperty("item_tax_amount")] + public string ItemTaxAmount { get; set; } + + /// + /// 税率 + /// + [JsonProperty("item_tax_rate")] + public string ItemTaxRate { get; set; } + + /// + /// 单位 + /// + [JsonProperty("item_unit")] + public string ItemUnit { get; set; } + + /// + /// 单价,格式:100.00。新版电子发票,折扣行此参数不能传,非折扣行必传 + /// + [JsonProperty("item_unit_price")] + public string ItemUnitPrice { get; set; } + + /// + /// 发票行性质。0表示正常行,1表示折扣行,2表示被折扣行。比如充电器单价100元,折扣10元,则明细为2行,充电器行性质为2,折扣行性质为1。如果充电器没有折扣,则值应为0。 + /// + [JsonProperty("row_type")] + public string RowType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceKeyInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceKeyInfo.cs new file mode 100644 index 0000000..ff8c583 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceKeyInfo.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceKeyInfo Data Structure. + /// + [Serializable] + public class InvoiceKeyInfo : AopObject + { + /// + /// 开票商户名称:商户品牌简称|商户门店简称 + /// + [JsonProperty("invoice_merchant_name")] + public string InvoiceMerchantName { get; set; } + + /// + /// 该交易是否支持开票 + /// + [JsonProperty("is_support_invoice")] + public bool IsSupportInvoice { get; set; } + + /// + /// 税号 + /// + [JsonProperty("tax_num")] + public string TaxNum { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceModelContent.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceModelContent.cs new file mode 100644 index 0000000..ab922ec --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceModelContent.cs @@ -0,0 +1,182 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceModelContent Data Structure. + /// + [Serializable] + public class InvoiceModelContent : AopObject + { + /// + /// key=value,每组键值对以回车分割 + /// + [JsonProperty("extend_fields")] + public string ExtendFields { get; set; } + + /// + /// 下载的发票文件类型 可选值: pdf(发票原文件) jpg(发票原文件缩略图) + /// + [JsonProperty("file_download_type")] + public string FileDownloadType { get; set; } + + /// + /// 文件下载地址,当同步发票tax_type=PLAIN时,必传; 此处的链接请务必传入可下载PDF的链接 + /// + [JsonProperty("file_download_url")] + public string FileDownloadUrl { get; set; } + + /// + /// 发票金额,大于0且精确到小数点两位,以元为单位 需要传入税价合计金额 + /// + [JsonProperty("invoice_amount")] + public string InvoiceAmount { get; set; } + + /// + /// 发票代码,国税局生成的唯一值,不可为空串 + /// + [JsonProperty("invoice_code")] + public string InvoiceCode { get; set; } + + /// + /// 发票内容项 + /// + [JsonProperty("invoice_content")] + + public List InvoiceContent { get; set; } + + /// + /// 发票日期,用户填写,目前精确到日 + /// + [JsonProperty("invoice_date")] + public string InvoiceDate { get; set; } + + /// + /// 发票防伪码 + /// + [JsonProperty("invoice_fake_code")] + public string InvoiceFakeCode { get; set; } + + /// + /// 原始发票PDF文件流 + /// + [JsonProperty("invoice_file_data")] + public string InvoiceFileData { get; set; } + + /// + /// 发票原始文件jpg文件地址 + /// + [JsonProperty("invoice_img_url")] + public string InvoiceImgUrl { get; set; } + + /// + /// 发票号码,国税局生成的唯一号码,不可为空串; 使用时请注意,invoice_no+invoice_code唯一,不能重复 + /// + [JsonProperty("invoice_no")] + public string InvoiceNo { get; set; } + + /// + /// 发票开具操作人 + /// + [JsonProperty("invoice_operator")] + public string InvoiceOperator { get; set; } + + /// + /// 发票title + /// + [JsonProperty("invoice_title")] + public InvoiceTitleModel InvoiceTitle { get; set; } + + /// + /// 发票类型,按照可选值只传入英文部分,该字段严格要求大小写 可选值: blue(蓝票) red(红票) + /// + [JsonProperty("invoice_type")] + public string InvoiceType { get; set; } + + /// + /// 仅用于同步红票,原始蓝票发票代码,同步红票时必传 + /// + [JsonProperty("original_blue_invoice_code")] + public string OriginalBlueInvoiceCode { get; set; } + + /// + /// 仅用于同步红票,原始蓝票发票号码,同步红票时必传 + /// + [JsonProperty("original_blue_invoice_no")] + public string OriginalBlueInvoiceNo { get; set; } + + /// + /// 商户交易流水号,不可为空串; 传入红票时请注意,此字段的值要和蓝票保持一致 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户唯一开票申请业务流水号,同一个isv下不能重复 + /// + [JsonProperty("out_invoice_id")] + public string OutInvoiceId { get; set; } + + /// + /// 开票单位地址 + /// + [JsonProperty("register_address")] + public string RegisterAddress { get; set; } + + /// + /// 开票单位开户行账号 + /// + [JsonProperty("register_bank_account")] + public string RegisterBankAccount { get; set; } + + /// + /// 开票单位开户行名称 + /// + [JsonProperty("register_bank_name")] + public string RegisterBankName { get; set; } + + /// + /// 开票单位 + /// + [JsonProperty("register_name")] + public string RegisterName { get; set; } + + /// + /// 纳税人识别号,不可为空串 + /// + [JsonProperty("register_no")] + public string RegisterNo { get; set; } + + /// + /// 开票人电话,支持座机和手机两种格式 + /// + [JsonProperty("register_phone_no")] + public string RegisterPhoneNo { get; set; } + + /// + /// 价税合计 + /// + [JsonProperty("sum_amount")] + public string SumAmount { get; set; } + + /// + /// 税额 + /// + [JsonProperty("tax_amount")] + public string TaxAmount { get; set; } + + /// + /// 税种 可选值: PLAIN(普票的情况) SPECIAL(专票的情况) + /// + [JsonProperty("tax_type")] + public string TaxType { get; set; } + + /// + /// 支付宝用户id,当同步的是蓝票时,必传。红票时不需传。 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceQueryOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceQueryOpenModel.cs new file mode 100644 index 0000000..53202dd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceQueryOpenModel.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceQueryOpenModel Data Structure. + /// + [Serializable] + public class InvoiceQueryOpenModel : AopObject + { + /// + /// 申请发起方, 描述开票申请的发起角色,由销售方(PAYEE)或购买方(PAYER)发起。 + /// + [JsonProperty("apply_from")] + public string ApplyFrom { get; set; } + + /// + /// 校验码 + /// + [JsonProperty("check_code")] + public string CheckCode { get; set; } + + /// + /// 复核人 + /// + [JsonProperty("checker")] + public string Checker { get; set; } + + /// + /// 操作员 + /// + [JsonProperty("clerk")] + public string Clerk { get; set; } + + /// + /// 发票代码 + /// + [JsonProperty("einv_code")] + public string EinvCode { get; set; } + + /// + /// 发票号码 + /// + [JsonProperty("einv_no")] + public string EinvNo { get; set; } + + /// + /// 不含税金额 + /// + [JsonProperty("ex_tax_amount")] + public string ExTaxAmount { get; set; } + + /// + /// 发票金额(加税合计) + /// + [JsonProperty("invoice_amount")] + public string InvoiceAmount { get; set; } + + /// + /// 发票明细项 + /// + [JsonProperty("invoice_content")] + + public List InvoiceContent { get; set; } + + /// + /// 发票日期 + /// + [JsonProperty("invoice_date")] + public string InvoiceDate { get; set; } + + /// + /// 支付宝发票id,全局唯一 + /// + [JsonProperty("invoice_id")] + public string InvoiceId { get; set; } + + /// + /// 发票类型: 增值税普通电子发票(PLAIN) + /// + [JsonProperty("invoice_kind")] + public string InvoiceKind { get; set; } + + /// + /// 发票备注 + /// + [JsonProperty("invoice_memo")] + public string InvoiceMemo { get; set; } + + /// + /// 购买方发票抬头信息 + /// + [JsonProperty("invoice_title")] + public InvoiceTitleQueryOpenModel InvoiceTitle { get; set; } + + /// + /// 发票类型:蓝票/红票 BLUE(蓝票)/RED(红票) + /// + [JsonProperty("invoice_type")] + public string InvoiceType { get; set; } + + /// + /// 定义商户的一级简称,用于标识商户品牌,对应于商户入驻时填写的"商户品牌简称"。 如:肯德基:KFC + /// + [JsonProperty("m_short_name")] + public string MShortName { get; set; } + + /// + /// 仅用于红冲,仅用于红冲,对应红冲对应的原始蓝票的发票号码 + /// + [JsonProperty("ori_blue_inv_code")] + public string OriBlueInvCode { get; set; } + + /// + /// 仅用于红冲,仅用于红冲,对应红冲对应的原始蓝票的发票号码 + /// + [JsonProperty("ori_blue_inv_no")] + public string OriBlueInvNo { get; set; } + + /// + /// 发起方生成的开票申请唯一id,要求发起方全局唯一,支付宝依据其进行幂等控制。 + /// + [JsonProperty("out_apply_id")] + public string OutApplyId { get; set; } + + /// + /// 申请开票对应的商户交易流水号,该流水号必须保证在同商户范围内全局唯一。 + /// + [JsonProperty("out_trade_no")] + public string OutTradeNo { get; set; } + + /// + /// 收款人 + /// + [JsonProperty("payee")] + public string Payee { get; set; } + + /// + /// 销售方地址 + /// + [JsonProperty("payee_address")] + public string PayeeAddress { get; set; } + + /// + /// 销售方开户账户 + /// + [JsonProperty("payee_bank_account")] + public string PayeeBankAccount { get; set; } + + /// + /// 销售方开户行 + /// + [JsonProperty("payee_bank_name")] + public string PayeeBankName { get; set; } + + /// + /// 销售方名称,对应于销售方纳税人识别号的名称 + /// + [JsonProperty("payee_register_name")] + public string PayeeRegisterName { get; set; } + + /// + /// 销售方纳税人识别号 + /// + [JsonProperty("payee_register_no")] + public string PayeeRegisterNo { get; set; } + + /// + /// 销售方电话 + /// + [JsonProperty("payee_tel")] + public string PayeeTel { get; set; } + + /// + /// 发票文件预览图 + /// + [JsonProperty("preview_image_url")] + public string PreviewImageUrl { get; set; } + + /// + /// 定义商户的二级简称,用于标识商户品牌下的分支机构,如门店,对应于商户入驻时填写的"商户门店简称"。 如:肯德基-杭州西湖区文一西路店:KFC-HZ-19003 + /// 要求:"商户品牌简称+商户门店简称"作为确定商户及其下属机构的唯一标识,不可重复。 + /// + [JsonProperty("sub_m_short_name")] + public string SubMShortName { get; set; } + + /// + /// 合计税额 + /// + [JsonProperty("sum_tax_amount")] + public string SumTaxAmount { get; set; } + + /// + /// 交易发生时间 + /// + [JsonProperty("trade_date")] + public string TradeDate { get; set; } + + /// + /// 支付宝用户id,支付宝用户的唯一标识。 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleApplyOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleApplyOpenModel.cs new file mode 100644 index 0000000..21263fb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleApplyOpenModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceTitleApplyOpenModel Data Structure. + /// + [Serializable] + public class InvoiceTitleApplyOpenModel : AopObject + { + /// + /// 购买方地址 + /// + [JsonProperty("payer_address")] + public string PayerAddress { get; set; } + + /// + /// 开户行账户 + /// + [JsonProperty("payer_bank_account")] + public string PayerBankAccount { get; set; } + + /// + /// 购买方开户银行 + /// + [JsonProperty("payer_bank_name")] + public string PayerBankName { get; set; } + + /// + /// 购买方纳税人识别号 + /// + [JsonProperty("payer_register_no")] + public string PayerRegisterNo { get; set; } + + /// + /// 购买方电话 + /// + [JsonProperty("payer_tel")] + public string PayerTel { get; set; } + + /// + /// 发票抬头名称 + /// + [JsonProperty("title_name")] + public string TitleName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleModel.cs new file mode 100644 index 0000000..c747417 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceTitleModel Data Structure. + /// + [Serializable] + public class InvoiceTitleModel : AopObject + { + /// + /// 是否默认 可选值: false:非默认 true:默认抬头 + /// + [JsonProperty("is_default")] + public bool IsDefault { get; set; } + + /// + /// 支付宝用户登录名(脱敏后登录名) 该字段输出接口只限 alipay.ebpp.invoice.title.dynamic.get + /// + [JsonProperty("logon_id")] + public string LogonId { get; set; } + + /// + /// 开户行账号 + /// + [JsonProperty("open_bank_account")] + public string OpenBankAccount { get; set; } + + /// + /// 开户行 + /// + [JsonProperty("open_bank_name")] + public string OpenBankName { get; set; } + + /// + /// 纳税人识别号 + /// + [JsonProperty("tax_register_no")] + public string TaxRegisterNo { get; set; } + + /// + /// 发票抬头名称 + /// + [JsonProperty("title_name")] + public string TitleName { get; set; } + + /// + /// 发票类型 可选值: PERSONAL(个人抬头) CORPORATION(公司抬头) + /// + [JsonProperty("title_type")] + public string TitleType { get; set; } + + /// + /// 地址 + /// + [JsonProperty("user_address")] + public string UserAddress { get; set; } + + /// + /// 用户邮箱 + /// + [JsonProperty("user_email")] + public string UserEmail { get; set; } + + /// + /// 支付宝用户id 说明:动态码获取抬头时接口(alipay.ebpp.invoice.title.dynamic.get )用户id返回结果为加密后密文 其他情况用户id来源于用户授权 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 联系电话,支持手机和固话两种格式 + /// + [JsonProperty("user_mobile")] + public string UserMobile { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleQueryOpenModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleQueryOpenModel.cs new file mode 100644 index 0000000..8191dc1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTitleQueryOpenModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceTitleQueryOpenModel Data Structure. + /// + [Serializable] + public class InvoiceTitleQueryOpenModel : AopObject + { + /// + /// 购买方地址 + /// + [JsonProperty("payer_address")] + public string PayerAddress { get; set; } + + /// + /// 开户行账户 + /// + [JsonProperty("payer_bank_account")] + public string PayerBankAccount { get; set; } + + /// + /// 购买方开户银行 + /// + [JsonProperty("payer_bank_name")] + public string PayerBankName { get; set; } + + /// + /// 购买方纳税人识别号 + /// + [JsonProperty("payer_register_no")] + public string PayerRegisterNo { get; set; } + + /// + /// 购买方电话 + /// + [JsonProperty("payer_tel")] + public string PayerTel { get; set; } + + /// + /// 发票抬头名称 + /// + [JsonProperty("title_name")] + public string TitleName { get; set; } + + /// + /// 支付宝用户id,支付宝用户的唯一标识。 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeFundItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeFundItem.cs new file mode 100644 index 0000000..390f150 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeFundItem.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceTradeFundItem Data Structure. + /// + [Serializable] + public class InvoiceTradeFundItem : AopObject + { + /// + /// 当前支付工具支付的金额 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 支付宝支付工具描述 + /// + [JsonProperty("payment_tool_name")] + public string PaymentToolName { get; set; } + + /// + /// 支付宝支付工具类型 + /// + [JsonProperty("payment_tool_type")] + public string PaymentToolType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeGoodsItem.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeGoodsItem.cs new file mode 100644 index 0000000..6128289 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeGoodsItem.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceTradeGoodsItem Data Structure. + /// + [Serializable] + public class InvoiceTradeGoodsItem : AopObject + { + /// + /// 商品类目 + /// + [JsonProperty("category")] + public string Category { get; set; } + + /// + /// 商品名称 + /// + [JsonProperty("goods_name")] + public string GoodsName { get; set; } + + /// + /// 商户设置的商品编号 + /// + [JsonProperty("goods_no")] + public string GoodsNo { get; set; } + + /// + /// 商品项支付金额 + /// + [JsonProperty("goods_sum_amount")] + public string GoodsSumAmount { get; set; } + + /// + /// 商品单价,单位元,精确到小数点后两位 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 购买数量 + /// + [JsonProperty("quantity")] + public string Quantity { get; set; } + + /// + /// 购买商品规格型号描述 + /// + [JsonProperty("specification")] + public string Specification { get; set; } + + /// + /// 购买商品单位描述 + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeInfo.cs new file mode 100644 index 0000000..d220e38 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvoiceTradeInfo.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvoiceTradeInfo Data Structure. + /// + [Serializable] + public class InvoiceTradeInfo : AopObject + { + /// + /// 支付宝交易号(字段于2017-02-21废弃,请勿使用) + /// + [JsonProperty("alipay_trade_no")] + public string AlipayTradeNo { get; set; } + + /// + /// 交易创建时间 yyyy-mm-dd hh:mm:ss + /// + [JsonProperty("create_trade_date")] + public string CreateTradeDate { get; set; } + + /// + /// 交易号(发票管家指定) + /// + [JsonProperty("einv_trade_id")] + public string EinvTradeId { get; set; } + + /// + /// 交易商品总称 + /// + [JsonProperty("goods_name")] + public string GoodsName { get; set; } + + /// + /// 发票内容项明细 + /// + [JsonProperty("invoice_content")] + public InvoiceItemQueryOpenModel InvoiceContent { get; set; } + + /// + /// 品牌全称,由商户在发票管家配置 + /// + [JsonProperty("m_name")] + public string MName { get; set; } + + /// + /// 交易商户品牌简称 + /// + [JsonProperty("m_short_name")] + public string MShortName { get; set; } + + /// + /// 交易所属的商户id,即卖家主体标志,可以为支付宝的门店id 也可以为支付宝的签约pid,也可以为支付宝的收款账户seller_user_id + /// + [JsonProperty("merchant_id")] + public string MerchantId { get; set; } + + /// + /// 商户交易订单号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 交易支付时间 yyyy-mm-dd hh:mm:ss + /// + [JsonProperty("payment_trade_date")] + public string PaymentTradeDate { get; set; } + + /// + /// 实际付款金额,不包含商户优惠金额 + /// + [JsonProperty("real_amount")] + public string RealAmount { get; set; } + + /// + /// 商户门店全称,由商户在发票管家配置 + /// + [JsonProperty("sub_m_name")] + public string SubMName { get; set; } + + /// + /// 商户交易门店简称,一般由m_short_name+sub_m_short_name确定唯一的商户,这两项配置需要商户提前在支付宝配置 + /// + [JsonProperty("sub_m_short_name")] + public string SubMShortName { get; set; } + + /// + /// 交易总金额,精确到小数点两位,以元为单位 + /// + [JsonProperty("trade_amount")] + public string TradeAmount { get; set; } + + /// + /// 交易资金明细列表 + /// + [JsonProperty("trade_fund_list")] + + public List TradeFundList { get; set; } + + /// + /// 交易商品明细列表 + /// + [JsonProperty("trade_goods_list")] + + public List TradeGoodsList { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_no")] + public string TradeNo { get; set; } + + /// + /// 交易的买家支付宝账户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvolvedEntity.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvolvedEntity.cs new file mode 100644 index 0000000..2391f66 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/InvolvedEntity.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// InvolvedEntity Data Structure. + /// + [Serializable] + public class InvolvedEntity : AopObject + { + /// + /// 实体身份编码-个人是身份证号码、企业是工商注册号、会员是会员编号-具体的数字编号 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 实体编码的类型。例如若实体为个人,编码可能为身份证,则code_type为“RESIDENT”;可能为户口簿,则code_type为“HOUSEHOLD”;若实体为ALIPAY,编码可能为支付宝ID,则code_type为“USER_ID” + /// + [JsonProperty("code_type")] + public string CodeType { get; set; } + + /// + /// 实体的标识-个人是姓名、企业是公司名称等,会员是会员名称,如支付宝的手机号或者邮箱号 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 对象的类型。 类型说明:值 个人:PERSON 企业:COMPANY + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IsvMerchantInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IsvMerchantInfo.cs new file mode 100644 index 0000000..84f7879 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IsvMerchantInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IsvMerchantInfo Data Structure. + /// + [Serializable] + public class IsvMerchantInfo : AopObject + { + /// + /// 商户pid + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 门店ID列表 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IsvShopDishModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IsvShopDishModel.cs new file mode 100644 index 0000000..f1f5a97 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/IsvShopDishModel.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// IsvShopDishModel Data Structure. + /// + [Serializable] + public class IsvShopDishModel : AopObject + { + /// + /// 菜品库存。 alipay.offline.provider.shopaction.record回传点菜中的desc。建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 菜品分类ID + /// alipay.offline.provider.shopaction.record回传点菜中的dishTypeID,建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("dish_type_id")] + public string DishTypeId { get; set; } + + /// + /// 商家定义菜品的分类名称 + /// alipay.offline.provider.shopaction.record回传点菜中的dishTypeName,建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("dish_type_name")] + public string DishTypeName { get; set; } + + /// + /// 菜品热度等级(0/0.5/1/1.5/2/2.5/3/3.5/4/4.5/5)该字段是对sort_col做离散化,数字越大越热 + /// + [JsonProperty("good_level")] + public string GoodLevel { get; set; } + + /// + /// 当前店铺的商家最近7天销量(份) + /// + [JsonProperty("merchant_sold_cnt_seven_d")] + public long MerchantSoldCntSevenD { get; set; } + + /// + /// 当前店铺的商家最近30天销量(份) + /// + [JsonProperty("merchant_sold_cnt_thirty_d")] + public long MerchantSoldCntThirtyD { get; set; } + + /// + /// 当前店铺的商家最近30天购买2次及以上的支付宝用户数 + /// + [JsonProperty("merchant_sold_reusercnt_thirty_d")] + public long MerchantSoldReusercntThirtyD { get; set; } + + /// + /// 当前店铺的商家最近30天消费支付宝用户数 + /// + [JsonProperty("merchant_sold_usercnt_thirty_d")] + public long MerchantSoldUsercntThirtyD { get; set; } + + /// + /// alipay.offline.provider.shopaction.record回传点菜中的name + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// ISV自己的菜品ID,数据的计算根据:alipay.offline.provider.shopaction.record接口中插入菜品与alipay.offline.provider.useraction.record上传用户点菜菜单作为元数据,通过分析得到的数据。当前的ID就是插入菜品中的outerDishId,同时也是上传用户点菜中的action_type是order_dishes里面的dish对象的goodsId + /// + [JsonProperty("outer_dish_id")] + public string OuterDishId { get; set; } + + /// + /// 废弃,请ISV使用自己的图 + /// + [JsonProperty("pict")] + public string Pict { get; set; } + + /// + /// 当前值来自于alipay.offline.provider.shopaction.record中的outer_shop_do对象里面的 type字段。 + /// + [JsonProperty("platform")] + public string Platform { get; set; } + + /// + /// alipay.offline.provider.shopaction.record回传点菜中的price,建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 菜品库存。 alipay.offline.provider.shopaction.record回传点菜中的quantity,建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("quantity")] + public long Quantity { get; set; } + + /// + /// 口碑店铺id,商户订购开发者服务插件后,口碑会通过服务市场管理推送订购信息给开发者,开发者可通过其中的订购插件订单明细查询获取此参数值,或通过商户授权口碑开店接口来获取。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 当前店铺最近7天销量(份) + /// + [JsonProperty("sold_cnt_seven_d")] + public long SoldCntSevenD { get; set; } + + /// + /// 当前店铺最近30天销量(份) + /// + [JsonProperty("sold_cnt_thirty_d")] + public long SoldCntThirtyD { get; set; } + + /// + /// 当前店铺最近30天购买2次及以上的支付宝用户数 + /// + [JsonProperty("sold_reusercnt_thirty_d")] + public long SoldReusercntThirtyD { get; set; } + + /// + /// 当前店铺最近30天消费支付宝用户数 + /// + [JsonProperty("sold_usercnt_thirty_d")] + public long SoldUsercntThirtyD { get; set; } + + /// + /// 排序值。 alipay.offline.provider.shopaction.record回传点菜中的sort。建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("sort_col")] + + public List SortCol { get; set; } + + /// + /// 菜品显示的单位(份/斤/杯) + /// alipay.offline.provider.shopaction.record回传点菜中的unit,建议ISV在拿到推荐的菜品的ID后,直接使用自己的菜品元数据,口碑元数据是ISV上传,实时性无法保证。 + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDeliveryDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDeliveryDetail.cs new file mode 100644 index 0000000..21ab6f7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDeliveryDetail.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemDeliveryDetail Data Structure. + /// + [Serializable] + public class ItemDeliveryDetail : AopObject + { + /// + /// 订单明细ID + /// + [JsonProperty("assign_item_id")] + public string AssignItemId { get; set; } + + /// + /// 物流公司code, 比如: SF-顺丰, POST-中国邮政, CAINIAO-菜鸟. + /// + [JsonProperty("logistic_code")] + public string LogisticCode { get; set; } + + /// + /// 物流公司名称 + /// + [JsonProperty("logistics_name")] + public string LogisticsName { get; set; } + + /// + /// 物流订单号 + /// + [JsonProperty("logistics_no")] + public string LogisticsNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDiagnoseDetail.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDiagnoseDetail.cs new file mode 100644 index 0000000..474febf --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDiagnoseDetail.cs @@ -0,0 +1,120 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemDiagnoseDetail Data Structure. + /// + [Serializable] + public class ItemDiagnoseDetail : AopObject + { + /// + /// 菜品的热度等级 菜品热度等级(0/0.5/1/1.5/2/2.5/3/3.5/4/4.5/5)该字段是对热度值做离散化,方便用户用图像化表达热度 + /// + [JsonProperty("hot_grade")] + public long HotGrade { get; set; } + + /// + /// 菜品的热度值 保留两位小数,热度值在0~100分之间 + /// + [JsonProperty("hot_value")] + public long HotValue { get; set; } + + /// + /// 菜品诊断:001-明星菜品;002潜力菜品;003其他菜品。 + /// + [JsonProperty("item_diagnose")] + public string ItemDiagnose { get; set; } + + /// + /// 诊断描述 明星菜品:销量和复购多指标表现强劲,可力推该菜品;潜力菜品:高复购销量适中,可适当增加此类菜品推荐;其他菜品:除明星菜品和潜力菜品外的其他菜品。 + /// + [JsonProperty("item_diagnose_desc")] + public string ItemDiagnoseDesc { get; set; } + + /// + /// 外部商品ID + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 菜品名称 + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 单位分 + /// + [JsonProperty("item_price")] + public long ItemPrice { get; set; } + + /// + /// 近90天消费的支付宝用户数 + /// + [JsonProperty("rec_ninety_consume_uid_cnt")] + public long RecNinetyConsumeUidCnt { get; set; } + + /// + /// 近90天购买2次及以上的支付宝用户数 + /// + [JsonProperty("rec_ninety_rebuy_uid_cnt")] + public long RecNinetyRebuyUidCnt { get; set; } + + /// + /// 近7天的销售金额 + /// + [JsonProperty("rec_seven_sale_amt")] + public long RecSevenSaleAmt { get; set; } + + /// + /// 近7天销售个数 + /// + [JsonProperty("rec_seven_sale_cnt")] + public long RecSevenSaleCnt { get; set; } + + /// + /// 近60天消费的支付 + /// + [JsonProperty("rec_sixty_consume_uid_cnt")] + public long RecSixtyConsumeUidCnt { get; set; } + + /// + /// 近60天购买2次及以上的支付宝用户数 + /// + [JsonProperty("rec_sixty_rebuy_uid_cnt")] + public long RecSixtyRebuyUidCnt { get; set; } + + /// + /// 近30天消费的支付宝用户数 + /// + [JsonProperty("rec_thirty_consume_uid_cnt")] + public string RecThirtyConsumeUidCnt { get; set; } + + /// + /// 近30天购买2次及以上的支付宝用户数 + /// + [JsonProperty("rec_thirty_rebuy_uid_cnt")] + public long RecThirtyRebuyUidCnt { get; set; } + + /// + /// 近30天销售金额,单位分 + /// + [JsonProperty("rec_thirty_sale_amt")] + public long RecThirtySaleAmt { get; set; } + + /// + /// 近30天销售个数 + /// + [JsonProperty("rec_thirty_sale_cnt")] + public long RecThirtySaleCnt { get; set; } + + /// + /// 报表数据生成日期 yyyyMMdd格式 保留最近30天数据 + /// + [JsonProperty("report_date")] + public string ReportDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDiagnoseType.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDiagnoseType.cs new file mode 100644 index 0000000..584b58b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDiagnoseType.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemDiagnoseType Data Structure. + /// + [Serializable] + public class ItemDiagnoseType : AopObject + { + /// + /// 类型 + /// + [JsonProperty("item_diagnose")] + public string ItemDiagnose { get; set; } + + /// + /// 对类型的描述 + /// + [JsonProperty("item_diagnose_desc")] + public string ItemDiagnoseDesc { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDishInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDishInfo.cs new file mode 100644 index 0000000..02bf9f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemDishInfo.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemDishInfo Data Structure. + /// + [Serializable] + public class ItemDishInfo : AopObject + { + /// + /// 商品详情-菜品图片中的图片描述 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 详情图片中,菜品图片列表 + /// + [JsonProperty("image_urls")] + + public List ImageUrls { get; set; } + + /// + /// 详情图片中,菜品标题。请勿超过15汉字,30个字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemInfo.cs new file mode 100644 index 0000000..cb95910 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemInfo.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemInfo Data Structure. + /// + [Serializable] + public class ItemInfo : AopObject + { + /// + /// 券适用的单品码列表 最少配置1个单品码 最多配置500个单品码 + /// + [JsonProperty("item_ids")] + + public List ItemIds { get; set; } + + /// + /// 单品图片列表 单品图片不能超过3张 + /// + [JsonProperty("item_imgs")] + + public List ItemImgs { get; set; } + + /// + /// 单品券详细介绍跳转链接 + /// + [JsonProperty("item_link")] + public string ItemLink { get; set; } + + /// + /// 单品名称 + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 单品券说明 + /// + [JsonProperty("item_text")] + public string ItemText { get; set; } + + /// + /// 最高优惠商品件数 + /// + [JsonProperty("max_discount_num")] + public string MaxDiscountNum { get; set; } + + /// + /// 最低购买商品件数 + /// + [JsonProperty("min_consume_num")] + public string MinConsumeNum { get; set; } + + /// + /// 单品的原价,单位元 必须为合法金额类型字符串,如9.99 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 券适用SKU的最低消费金额门槛 如券适用A,B两个SKU,该字段设置的值为100,则订单中购买A,B两个SKU的合计金额需大于100元才可用券 + /// + [JsonProperty("sku_min_consume")] + public string SkuMinConsume { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemPackageInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemPackageInfo.cs new file mode 100644 index 0000000..996ca77 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemPackageInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemPackageInfo Data Structure. + /// + [Serializable] + public class ItemPackageInfo : AopObject + { + /// + /// 商品详情-套餐内菜品信息列表 + /// + [JsonProperty("item_units")] + + public List ItemUnits { get; set; } + + /// + /// 商品详情-套餐标题。最多不超过15个汉字,30个字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemQueryResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemQueryResponse.cs new file mode 100644 index 0000000..3e817d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemQueryResponse.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemQueryResponse Data Structure. + /// + [Serializable] + public class ItemQueryResponse : AopObject + { + /// + /// 口碑商品所属的后台类目id,后台类目数据来源:开放接口koubei.item.category.children.batchquery(查询后台类目树接口) + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 首图 + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 商品描述,列表类型,每一项的key,value的描述见下面两行 + /// + [JsonProperty("descriptions")] + + public List Descriptions { get; set; } + + /// + /// 商品生效时间,商品状态有效并且到达生效时间后才可在客户端(消费者端)展示出来,如果商品生效时间小于当前时间,则立即生效。 说明: 商品的生效时间不能早于创建当天的0点 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 当前库存 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 商品ID + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 该商品当前的状态,共有5个状态:INIT(初始状态)EFFECTIVE(生效)PAUSE(暂停)FREEZE(冻结)INVALID(失效);详见状态变更图 + /// + [JsonProperty("item_status")] + public string ItemStatus { get; set; } + + /// + /// 商品类型,交易凭证类:TRADE_VOUCHER + /// + [JsonProperty("item_type")] + public string ItemType { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 标准商品为原价,必填。非标准商品请勿填写,填写无效。价格单位为元 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 图片集,本商品所有图片id和URL的对应关系数组 + /// + [JsonProperty("pic_coll")] + + public List PicColl { get; set; } + + /// + /// 商品详情图,多张图片以英文逗号分隔 + /// + [JsonProperty("picture_details")] + public string PictureDetails { get; set; } + + /// + /// 标准商品为现价,选填。非标准商品为最小价格(非标商品为xx元起)必填。价格单位为元。如果标准商品现价不填写,则以原价进行售卖;如果现价与原价相等时,则会以原价售卖,并且客户端只展示一个价格(原价) + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 标准商品:FIX;非标准商品:FLOAT ,根据该字段判断商品是标准商品或非标商品。 + /// + [JsonProperty("price_mode")] + public string PriceMode { get; set; } + + /// + /// 适用门店列表 + /// + [JsonProperty("shop_ids")] + public string ShopIds { get; set; } + + /// + /// 商品名称,不超过20汉字,40个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 交易凭证类商品模板信息 + /// + [JsonProperty("trade_voucher_item_template")] + public KoubeiTradeVoucherItemTemplete TradeVoucherItemTemplate { get; set; } + + /// + /// 商品顺序权重 + /// + [JsonProperty("weight")] + public long Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemUnitInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemUnitInfo.cs new file mode 100644 index 0000000..5e0bdc7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItemUnitInfo.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItemUnitInfo Data Structure. + /// + [Serializable] + public class ItemUnitInfo : AopObject + { + /// + /// 商品详情-商品套餐内容-菜品数量 + /// + [JsonProperty("amount")] + public long Amount { get; set; } + + /// + /// 商品详情-商品套餐内容-菜品价格。字符串,单位元,两位小数 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 商品详情-商品套餐内容-菜品规格 + /// + [JsonProperty("spec")] + public string Spec { get; set; } + + /// + /// 商品详情-商品套餐内容-菜品名称。不得超过15个中文字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 商品详情-商品套餐内容-菜品数量单位 + /// + [JsonProperty("unit")] + public string Unit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItermInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItermInfo.cs new file mode 100644 index 0000000..42c748f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/ItermInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// ItermInfo Data Structure. + /// + [Serializable] + public class ItermInfo : AopObject + { + /// + /// 更新时系统异常,返回错误详细信息 + /// + [JsonProperty("error_message")] + public string ErrorMessage { get; set; } + + /// + /// 充值面额的状态Y/N + /// + [JsonProperty("is_for_sale")] + public string IsForSale { get; set; } + + /// + /// 面额的code,唯一标示码 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 售价,比如100的面额,卖99元 + /// + [JsonProperty("mark_price")] + public string MarkPrice { get; set; } + + /// + /// 针对更新时,是否更新成功 + /// + [JsonProperty("success")] + public bool Success { get; set; } + + /// + /// 手机充值的面额价格 + /// + [JsonProperty("supplier_price")] + public string SupplierPrice { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/JfExportInstBillModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/JfExportInstBillModel.cs new file mode 100644 index 0000000..beb4e90 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/JfExportInstBillModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// JfExportInstBillModel Data Structure. + /// + [Serializable] + public class JfExportInstBillModel : AopObject + { + /// + /// 账单金额,单位为:RMB元。 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 余额,单位为:RMB元。 + /// + [JsonProperty("balance")] + public string Balance { get; set; } + + /// + /// 账期 + /// + [JsonProperty("bill_date")] + public string BillDate { get; set; } + + /// + /// 滞纳金,单位为:RMB元。 + /// + [JsonProperty("bill_fines")] + public string BillFines { get; set; } + + /// + /// 户号 + /// + [JsonProperty("bill_key")] + public string BillKey { get; set; } + + /// + /// 拓展字段,json串(key-value对) + /// + [JsonProperty("extend_field")] + public string ExtendField { get; set; } + + /// + /// 机构流水号 + /// + [JsonProperty("inst_bill_no")] + public string InstBillNo { get; set; } + + /// + /// 账单拥有者姓名 + /// + [JsonProperty("owner_name")] + public string OwnerName { get; set; } + + /// + /// 唯一标识,每次查询均保证唯一性,但是不保证幂等性 + /// + [JsonProperty("uniq_id")] + public string UniqId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/JsonBuilder.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/JsonBuilder.cs new file mode 100644 index 0000000..46e543d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/JsonBuilder.cs @@ -0,0 +1,22 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.F2FPay.Domain +{ + + /// + /// Class1 的摘要说明 + /// + public abstract class JsonBuilder + { + + // 验证bizContent对象 + public abstract bool Validate(); + + // 将bizContent对象转换为json字符串 + public string BuildJson() + { + return JsonConvert.SerializeObject(this); + } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAddChannelRequest.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAddChannelRequest.cs new file mode 100644 index 0000000..4e9c299 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAddChannelRequest.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertAddChannelRequest Data Structure. + /// + [Serializable] + public class KbAdvertAddChannelRequest : AopObject + { + /// + /// 描述信息(页面上不展现) + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 渠道名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 类型可以通过koubei.advert.data.conf.query查询 OFFLINE:线下推广 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvChannelResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvChannelResponse.cs new file mode 100644 index 0000000..1c56bb5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvChannelResponse.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertAdvChannelResponse Data Structure. + /// + [Serializable] + public class KbAdvertAdvChannelResponse : AopObject + { + /// + /// 广告内容模型 + /// + [JsonProperty("adv_content_list")] + + public List AdvContentList { get; set; } + + /// + /// 广告id + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 渠道ID + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 渠道名称 + /// + [JsonProperty("channel_name")] + public string ChannelName { get; set; } + + /// + /// 渠道类型 + /// + [JsonProperty("channel_type")] + public string ChannelType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvContent.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvContent.cs new file mode 100644 index 0000000..6bda82a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvContent.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertAdvContent Data Structure. + /// + [Serializable] + public class KbAdvertAdvContent : AopObject + { + /// + /// 二维码 + /// + [JsonProperty("codec")] + public string Codec { get; set; } + + /// + /// 访问地址 + /// + [JsonProperty("link_url")] + public string LinkUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvContentResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvContentResponse.cs new file mode 100644 index 0000000..8e6fc02 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvContentResponse.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertAdvContentResponse Data Structure. + /// + [Serializable] + public class KbAdvertAdvContentResponse : AopObject + { + /// + /// 二维码类型的内容模型(当content_type为codec时,返回该模型) + /// + [JsonProperty("content_codec")] + public KbAdvertContentCodec ContentCodec { get; set; } + + /// + /// 口令红包类型的内容模型(当content_type为passwordRed时,返回该模型) + /// + [JsonProperty("content_password")] + public KbAdvertContentPassword ContentPassword { get; set; } + + /// + /// 吱口令类型的内容模型(当content_type为shareCode时,返回该模型) + /// + [JsonProperty("content_share_code")] + + public List ContentShareCode { get; set; } + + /// + /// 短链接类型的内容模型(当content_type为shortLink时,返回该模型) + /// + [JsonProperty("content_short_link")] + public KbAdvertContentShortLink ContentShortLink { get; set; } + + /// + /// 广告内容类型; shortLink:短链接; codec:二维码; passwordRed:口令红包; shareCode:吱口令; + /// + [JsonProperty("content_type")] + public string ContentType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvResponse.cs new file mode 100644 index 0000000..138b19b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvResponse.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertAdvResponse Data Structure. + /// + [Serializable] + public class KbAdvertAdvResponse : AopObject + { + /// + /// 推广ID + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 指定推广活动的名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 单张券推广 只有type=single_voucher才会有值 + /// + [JsonProperty("single_voucher")] + public KbAdvertAdvSingleVoucherResponse SingleVoucher { get; set; } + + /// + /// 推广类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvSingleVoucherResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvSingleVoucherResponse.cs new file mode 100644 index 0000000..21c60a8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertAdvSingleVoucherResponse.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertAdvSingleVoucherResponse Data Structure. + /// + [Serializable] + public class KbAdvertAdvSingleVoucherResponse : AopObject + { + /// + /// 广告内容模型 + /// + [JsonProperty("adv_content_list")] + + public List AdvContentList { get; set; } + + /// + /// 广告内容(广告内容请使用新的属性adv_content_list,此属性仍会保留) + /// + [JsonProperty("content")] + public KbAdvertAdvContent Content { get; set; } + + /// + /// 券标的 + /// + [JsonProperty("voucher")] + public KbAdvertSubjectVoucherResponse Voucher { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCascadeCommissionInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCascadeCommissionInfo.cs new file mode 100644 index 0000000..a999abd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCascadeCommissionInfo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCascadeCommissionInfo Data Structure. + /// + [Serializable] + public class KbAdvertCascadeCommissionInfo : AopObject + { + /// + /// 二级分佣条款信息 + /// + [JsonProperty("commission_clause_infos")] + + public List CommissionClauseInfos { get; set; } + + /// + /// 二级分佣任务认领人类型 PROMOTER:其他推广者 KOUBEI_PLATFORM:口碑平台 + /// + [JsonProperty("commission_user_type")] + public string CommissionUserType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertChannelResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertChannelResponse.cs new file mode 100644 index 0000000..6dfe9c9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertChannelResponse.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertChannelResponse Data Structure. + /// + [Serializable] + public class KbAdvertChannelResponse : AopObject + { + /// + /// 渠道ID + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 渠道名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 渠道状态 EFFECTIVE:有效 INVALID:无效 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// OFFLINE:线下推广 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClause.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClause.cs new file mode 100644 index 0000000..7c5eb5e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClause.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCommissionClause Data Structure. + /// + [Serializable] + public class KbAdvertCommissionClause : AopObject + { + /// + /// 条款类型(条款类型是什么,下面填的条款就是什么) PERCENTAGE_CLAUSE:比例分佣条款 QUOTA_CLAUSE:固定金额 MISSION_CLAIM_CLAUSE:专属认领人条款 + /// + [JsonProperty("clause_type")] + public string ClauseType { get; set; } + + /// + /// 比例分佣条款 + /// + [JsonProperty("percentage_clause")] + public KbAdvertPercentageCommissionClause PercentageClause { get; set; } + + /// + /// 专属人员条款 + /// + [JsonProperty("preserve_clause")] + public KbAdvertPreserveCommissionClause PreserveClause { get; set; } + + /// + /// 固定金额条款 + /// + [JsonProperty("quota_clause")] + public KbAdvertQuotaCommissionClause QuotaClause { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClausePercentage.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClausePercentage.cs new file mode 100644 index 0000000..78ec0a3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClausePercentage.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCommissionClausePercentage Data Structure. + /// + [Serializable] + public class KbAdvertCommissionClausePercentage : AopObject + { + /// + /// 分佣比例结束范围(100以内精度2位的非负小数) + /// + [JsonProperty("commission_rate_end")] + public string CommissionRateEnd { get; set; } + + /// + /// 分佣比例开始范围(100以内精度2位的非负小数) + /// + [JsonProperty("commission_rate_start")] + public string CommissionRateStart { get; set; } + + /// + /// 封顶金额结束范围(精度2位的非负小数) + /// + [JsonProperty("max_limit_end")] + public string MaxLimitEnd { get; set; } + + /// + /// 封顶金额开始范围(精度2位的非负小数) + /// + [JsonProperty("max_limit_start")] + public string MaxLimitStart { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClausePercentageResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClausePercentageResponse.cs new file mode 100644 index 0000000..578ed20 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClausePercentageResponse.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCommissionClausePercentageResponse Data Structure. + /// + [Serializable] + public class KbAdvertCommissionClausePercentageResponse : AopObject + { + /// + /// 分佣比例(100以内精度2位的非负小数) + /// + [JsonProperty("commission_rate")] + public string CommissionRate { get; set; } + + /// + /// 封顶金额(精度2位的非负小数) + /// + [JsonProperty("max_limit")] + public string MaxLimit { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseQuota.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseQuota.cs new file mode 100644 index 0000000..4805f63 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseQuota.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCommissionClauseQuota Data Structure. + /// + [Serializable] + public class KbAdvertCommissionClauseQuota : AopObject + { + /// + /// 定额结束范围(精度2位的非负小数) + /// + [JsonProperty("quota_amount_end")] + public string QuotaAmountEnd { get; set; } + + /// + /// 定额开始范围(精度2位的非负小数) + /// + [JsonProperty("quota_amount_start")] + public string QuotaAmountStart { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseQuotaResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseQuotaResponse.cs new file mode 100644 index 0000000..2a87352 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseQuotaResponse.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCommissionClauseQuotaResponse Data Structure. + /// + [Serializable] + public class KbAdvertCommissionClauseQuotaResponse : AopObject + { + /// + /// 分佣定额(精度2位的非负小数) + /// + [JsonProperty("quota_amount")] + public string QuotaAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseResponse.cs new file mode 100644 index 0000000..33173eb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertCommissionClauseResponse.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertCommissionClauseResponse Data Structure. + /// + [Serializable] + public class KbAdvertCommissionClauseResponse : AopObject + { + /// + /// 比例分佣规则 只有type=PERCENTAGE_CLAUSE才会有值 + /// + [JsonProperty("percentage_clause")] + public KbAdvertCommissionClausePercentageResponse PercentageClause { get; set; } + + /// + /// 定额分佣规则 只有type=QUOTA_CLAUSE才会有值 + /// + [JsonProperty("quota_clause")] + public KbAdvertCommissionClauseQuotaResponse QuotaClause { get; set; } + + /// + /// 分佣规则类型 PERCENTAGE_CLAUSE-比例 QUOTA_CLAUSE-定额 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentCodec.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentCodec.cs new file mode 100644 index 0000000..82b9c05 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentCodec.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertContentCodec Data Structure. + /// + [Serializable] + public class KbAdvertContentCodec : AopObject + { + /// + /// 二维码广告内容 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentPassword.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentPassword.cs new file mode 100644 index 0000000..e793347 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentPassword.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertContentPassword Data Structure. + /// + [Serializable] + public class KbAdvertContentPassword : AopObject + { + /// + /// 红包口令 + /// + [JsonProperty("password")] + public string Password { get; set; } + + /// + /// 红包口令分享地址 + /// + [JsonProperty("share_page_url")] + public string SharePageUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentPasswordModify.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentPasswordModify.cs new file mode 100644 index 0000000..a16e31a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentPasswordModify.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertContentPasswordModify Data Structure. + /// + [Serializable] + public class KbAdvertContentPasswordModify : AopObject + { + /// + /// 口令红包背景图的django ID + /// + [JsonProperty("background_img_id")] + public string BackgroundImgId { get; set; } + + /// + /// 口令红包品牌名称(品牌名称不能超过20位) + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 红包口令(口令不能超过20位,口令只能是中文、英文、数字组合,不能纯数字) + /// + [JsonProperty("password")] + public string Password { get; set; } + + /// + /// 口令红包券LOGO的django ID + /// + [JsonProperty("voucher_logo_id")] + public string VoucherLogoId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShareCode.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShareCode.cs new file mode 100644 index 0000000..78c2144 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShareCode.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertContentShareCode Data Structure. + /// + [Serializable] + public class KbAdvertContentShareCode : AopObject + { + /// + /// 吱口令内容详情 + /// + [JsonProperty("share_code_desc")] + public string ShareCodeDesc { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShareCodeModify.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShareCodeModify.cs new file mode 100644 index 0000000..2c91011 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShareCodeModify.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertContentShareCodeModify Data Structure. + /// + [Serializable] + public class KbAdvertContentShareCodeModify : AopObject + { + /// + /// 宣传展示标题(不能超过30个字符) + /// + [JsonProperty("display_title")] + public string DisplayTitle { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShortLink.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShortLink.cs new file mode 100644 index 0000000..47ee0ac --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertContentShortLink.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertContentShortLink Data Structure. + /// + [Serializable] + public class KbAdvertContentShortLink : AopObject + { + /// + /// 链接地址 + /// + [JsonProperty("url")] + public string Url { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertDealBillResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertDealBillResponse.cs new file mode 100644 index 0000000..6f8e880 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertDealBillResponse.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertDealBillResponse Data Structure. + /// + [Serializable] + public class KbAdvertDealBillResponse : AopObject + { + /// + /// 账单下载地址(为空表示查无账单) + /// + [JsonProperty("download_url")] + public string DownloadUrl { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertIdentifyResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertIdentifyResponse.cs new file mode 100644 index 0000000..d9e0db6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertIdentifyResponse.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertIdentifyResponse Data Structure. + /// + [Serializable] + public class KbAdvertIdentifyResponse : AopObject + { + /// + /// 根据benefit_type,确定ID含义 SINGLE_VOUCHER时,benefit_ids为券ID + /// + [JsonProperty("benefit_ids")] + + public List BenefitIds { get; set; } + + /// + /// 发放权益类型 SINGLE_VOUCHER:单券 + /// + [JsonProperty("benefit_type")] + public string BenefitType { get; set; } + + /// + /// 返回码 success: 成功 invalid-arguments: 无效参数 retry-exception: 异常请重试 isv.user-already-get-voucher:用户已经领过该券,同时券状态为有效 + /// isv.item_inventory_not_enough:优惠领光了 isv.item_not_in_this_shop_sales:不是该商家的优惠,不能领取 + /// isv.voucher_activity_not_started:活动未开始 isv.voucher_activity_expired:活动已结束 + /// isv.crowd_limit_not_match_error:暂无领取资格,详情请咨询商家 isv.member_crowd_limit_not_match_error:会员专属,请先注册会员 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// JSON格式数据,需要ISV自行解析 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 主键的值 + /// + [JsonProperty("identify")] + public string Identify { get; set; } + + /// + /// 主键类型 + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionQueryResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionQueryResponse.cs new file mode 100644 index 0000000..5474167 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionQueryResponse.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertMissionQueryResponse Data Structure. + /// + [Serializable] + public class KbAdvertMissionQueryResponse : AopObject + { + /// + /// 任务结束时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 任务开始时间 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 分佣任务ID + /// + [JsonProperty("mission_id")] + public string MissionId { get; set; } + + /// + /// 推广状态 EFFECTIVE-有效 INVALID-无效 + /// + [JsonProperty("promote_status")] + public string PromoteStatus { get; set; } + + /// + /// 分佣标的信息 + /// + [JsonProperty("subjects")] + + public List Subjects { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionResponse.cs new file mode 100644 index 0000000..3b661aa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionResponse.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertMissionResponse Data Structure. + /// + [Serializable] + public class KbAdvertMissionResponse : AopObject + { + /// + /// 任务领取时间 + /// + [JsonProperty("gmt_claimed")] + public string GmtClaimed { get; set; } + + /// + /// 任务结束时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 任务开始时间 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 任务ID + /// + [JsonProperty("mission_id")] + public string MissionId { get; set; } + + /// + /// 推广状态 EFFECTIVE-有效 INVALID-无效 + /// + [JsonProperty("promote_status")] + public string PromoteStatus { get; set; } + + /// + /// 任务标的列表 + /// + [JsonProperty("subjects")] + + public List Subjects { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionSubject.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionSubject.cs new file mode 100644 index 0000000..86eedb3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertMissionSubject.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertMissionSubject Data Structure. + /// + [Serializable] + public class KbAdvertMissionSubject : AopObject + { + /// + /// 分佣条款信息 + /// + [JsonProperty("commission_clause_list")] + + public List CommissionClauseList { get; set; } + + /// + /// 标的对象的业务ID,如果标的为商品,则subject_biz_id为商品ID + /// + [JsonProperty("subject_biz_id")] + public string SubjectBizId { get; set; } + + /// + /// 标的类型 voucher-券 + /// + [JsonProperty("subject_type")] + public string SubjectType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertModifyChannelRequest.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertModifyChannelRequest.cs new file mode 100644 index 0000000..1e7caf2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertModifyChannelRequest.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertModifyChannelRequest Data Structure. + /// + [Serializable] + public class KbAdvertModifyChannelRequest : AopObject + { + /// + /// 渠道ID(渠道创建接口中,返回的channelID) + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 渠道说明 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 渠道名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertPercentageCommissionClause.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertPercentageCommissionClause.cs new file mode 100644 index 0000000..f9f4889 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertPercentageCommissionClause.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertPercentageCommissionClause Data Structure. + /// + [Serializable] + public class KbAdvertPercentageCommissionClause : AopObject + { + /// + /// 分佣封顶金额 + /// + [JsonProperty("max")] + public string Max { get; set; } + + /// + /// 分佣比例(100以内精度2位的非负小数) 例如30.04%,则输入 30.04 分佣比例存在浮动的下限,可通过业务文档获取实际值 + /// + [JsonProperty("rate")] + public string Rate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertPreserveCommissionClause.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertPreserveCommissionClause.cs new file mode 100644 index 0000000..c16e7a2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertPreserveCommissionClause.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertPreserveCommissionClause Data Structure. + /// + [Serializable] + public class KbAdvertPreserveCommissionClause : AopObject + { + /// + /// user_id:支付宝账户ID(2088开头) logon_id:登陆账号 + /// + [JsonProperty("claimer_id_type")] + public string ClaimerIdType { get; set; } + + /// + /// 认领人 + /// + [JsonProperty("claimers")] + + public List Claimers { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertProcessMissionResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertProcessMissionResponse.cs new file mode 100644 index 0000000..3fc1f1a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertProcessMissionResponse.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertProcessMissionResponse Data Structure. + /// + [Serializable] + public class KbAdvertProcessMissionResponse : AopObject + { + /// + /// 标识ID + /// + [JsonProperty("identify")] + public string Identify { get; set; } + + /// + /// 主键类型 activity_id:运营活动ID voucher:商品ID mission:分佣任务ID + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + + /// + /// 任务状态 UNCONFIRMED-未确认(代表任务还在等待商户确认) EFFECTIVE-有效 INVALID-无效 + /// + [JsonProperty("promote_status")] + public string PromoteStatus { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertQuotaCommissionClause.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertQuotaCommissionClause.cs new file mode 100644 index 0000000..c4ab792 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertQuotaCommissionClause.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertQuotaCommissionClause Data Structure. + /// + [Serializable] + public class KbAdvertQuotaCommissionClause : AopObject + { + /// + /// 固定金额 + /// + [JsonProperty("quota_amount")] + public string QuotaAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSettleBillResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSettleBillResponse.cs new file mode 100644 index 0000000..6618428 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSettleBillResponse.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertSettleBillResponse Data Structure. + /// + [Serializable] + public class KbAdvertSettleBillResponse : AopObject + { + /// + /// 账单下载地址(为空表示查无账单) + /// + [JsonProperty("download_url")] + public string DownloadUrl { get; set; } + + /// + /// 结算账单打款日期(为空表示未打款) + /// + [JsonProperty("paid_date")] + public string PaidDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSpecialAdvContentModifyResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSpecialAdvContentModifyResponse.cs new file mode 100644 index 0000000..3cced87 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSpecialAdvContentModifyResponse.cs @@ -0,0 +1,44 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertSpecialAdvContentModifyResponse Data Structure. + /// + [Serializable] + public class KbAdvertSpecialAdvContentModifyResponse : AopObject + { + /// + /// 修改广告内容的结果码; Success:修改成功; PASSWORD_RED_EXIST:口令已存在; ITEM_INVALID:商品无效或者已过期; + /// CREATE_PASSWORD_MORE_THEN_MAX:口令超过限定最多数量; ADV_REPEAT_PASSWORD_RED:当前广告已存在口令,不能再次创建; PASSWORD_RED_INVALID:口令校验失败; + /// CONTRACT_INVALID:合同已失效,不能创建口令; NOT_SUPPORT_ERROR:非代金券不支持创建口令; + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 口令红包信息 + /// + [JsonProperty("content_password")] + public KbAdvertContentPassword ContentPassword { get; set; } + + /// + /// 吱口令结果 + /// + [JsonProperty("content_share_code")] + public KbAdvertContentShareCode ContentShareCode { get; set; } + + /// + /// 广告内容类型; 当该值是passwordRed时,code的值表示修改口令红包的结果码; + /// + [JsonProperty("content_type")] + public string ContentType { get; set; } + + /// + /// 修改结果描述 + /// + [JsonProperty("msg")] + public string Msg { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSpecialAdvContentRequest.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSpecialAdvContentRequest.cs new file mode 100644 index 0000000..bd1286d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSpecialAdvContentRequest.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertSpecialAdvContentRequest Data Structure. + /// + [Serializable] + public class KbAdvertSpecialAdvContentRequest : AopObject + { + /// + /// 红包口令模型,创建红包口令时传入该模型 + /// + [JsonProperty("content_password_modify")] + public KbAdvertContentPasswordModify ContentPasswordModify { get; set; } + + /// + /// 广告内容类型; 当值是passwordRed时,表示修改口令红包,需要传入content_password_modify模型的参数; + /// + [JsonProperty("content_type")] + public string ContentType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectResponse.cs new file mode 100644 index 0000000..40ff5fa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectResponse.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertSubjectResponse Data Structure. + /// + [Serializable] + public class KbAdvertSubjectResponse : AopObject + { + /// + /// 分佣规则 + /// + [JsonProperty("commission_clause")] + public KbAdvertCommissionClauseResponse CommissionClause { get; set; } + + /// + /// 标的类型 voucher-券 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 券标的 只有type=voucher才会有值 + /// + [JsonProperty("voucher")] + public KbAdvertSubjectVoucherResponse Voucher { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectVoucher.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectVoucher.cs new file mode 100644 index 0000000..369e9d7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectVoucher.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertSubjectVoucher Data Structure. + /// + [Serializable] + public class KbAdvertSubjectVoucher : AopObject + { + /// + /// 品牌名称(支持模糊匹配) + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 适用城市(命中一个即可搜出) + /// + [JsonProperty("city_ids")] + + public List CityIds { get; set; } + + /// + /// 商家名称(支持模糊匹配) + /// + [JsonProperty("merchant_name")] + public string MerchantName { get; set; } + + /// + /// OBTAIN:认领(默认值) BUY:购买 + /// + [JsonProperty("purchase_mode")] + public string PurchaseMode { get; set; } + + /// + /// 券ID + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + + /// + /// 券名称(支持模糊匹配) + /// + [JsonProperty("voucher_name")] + public string VoucherName { get; set; } + + /// + /// 券类型 LIMIT-单品券 NO_LIMIT_DISCOUNT-全场折扣券 NO_LIMIT_CASH-全场代金券 + /// + [JsonProperty("voucher_type")] + public string VoucherType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectVoucherResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectVoucherResponse.cs new file mode 100644 index 0000000..8b0d77b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbAdvertSubjectVoucherResponse.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbAdvertSubjectVoucherResponse Data Structure. + /// + [Serializable] + public class KbAdvertSubjectVoucherResponse : AopObject + { + /// + /// 品牌名称 + /// + [JsonProperty("brand_name")] + public string BrandName { get; set; } + + /// + /// 适用城市ID列表 + /// + [JsonProperty("city_ids")] + + public List CityIds { get; set; } + + /// + /// 背景图片 + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 日库存 + /// + [JsonProperty("daily_inventory")] + public string DailyInventory { get; set; } + + /// + /// 结束时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 上架时间 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// logo图片 + /// + [JsonProperty("logo")] + public string Logo { get; set; } + + /// + /// 使用须知 + /// + [JsonProperty("manuals")] + + public List Manuals { get; set; } + + /// + /// 商家名称 + /// + [JsonProperty("merchant_name")] + public string MerchantName { get; set; } + + /// + /// 商户ID + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// BUY:购买模式 OBTAIN:认领 + /// + [JsonProperty("purchase_mode")] + public string PurchaseMode { get; set; } + + /// + /// 门店ID列表 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 起步金额 + /// + [JsonProperty("threshold_amount")] + public string ThresholdAmount { get; set; } + + /// + /// 总库存 + /// + [JsonProperty("total_inventory")] + public string TotalInventory { get; set; } + + /// + /// 券ID + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + + /// + /// 券名称 + /// + [JsonProperty("voucher_name")] + public string VoucherName { get; set; } + + /// + /// 以元为单位 + /// + [JsonProperty("voucher_org_value")] + public string VoucherOrgValue { get; set; } + + /// + /// 券类型 LIMIT-单品券 NO_LIMIT_DISCOUNT-全场折扣券 NO_LIMIT_CASH-全场代金券 + /// + [JsonProperty("voucher_type")] + public string VoucherType { get; set; } + + /// + /// 券价值 + /// + [JsonProperty("voucher_value")] + public string VoucherValue { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbCodeBindInfoVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbCodeBindInfoVO.cs new file mode 100644 index 0000000..e9c9535 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbCodeBindInfoVO.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbCodeBindInfoVO Data Structure. + /// + [Serializable] + public class KbCodeBindInfoVO : AopObject + { + /// + /// 商家餐桌摆放的区域名称(预留字段,暂不使用) + /// + [JsonProperty("area_name")] + public string AreaName { get; set; } + + /// + /// 餐桌最大就餐人数(预留字段,暂不使用) + /// + [JsonProperty("max_pepole_num")] + public long MaxPepoleNum { get; set; } + + /// + /// 餐桌就餐的最少人数(预留字段,暂不使用) + /// + [JsonProperty("min_pepole_num")] + public string MinPepoleNum { get; set; } + + /// + /// 口碑店铺ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// table_no对应的中文名称。(预留字段,暂不使用) + /// + [JsonProperty("table_name")] + public string TableName { get; set; } + + /// + /// 商家收银系统录入的点菜桌号(生成桌码时,必填) + /// + [JsonProperty("table_no")] + public string TableNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbCodeInfoVO.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbCodeInfoVO.cs new file mode 100644 index 0000000..cd5de71 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbCodeInfoVO.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbCodeInfoVO Data Structure. + /// + [Serializable] + public class KbCodeInfoVO : AopObject + { + /// + /// 创建口碑码的批次号 + /// + [JsonProperty("batch_id")] + public long BatchId { get; set; } + + /// + /// 口碑码图片(不带背景图) + /// + [JsonProperty("code_url")] + public string CodeUrl { get; set; } + + /// + /// 口碑码创建时间 + /// + [JsonProperty("create_time")] + public string CreateTime { get; set; } + + /// + /// 口碑码ID + /// + [JsonProperty("qr_code")] + public string QrCode { get; set; } + + /// + /// 口碑码物料图(带背景) + /// + [JsonProperty("resource_url")] + public string ResourceUrl { get; set; } + + /// + /// 口碑店铺ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 口碑门店名称 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 物料模板 + /// + [JsonProperty("stuff_template")] + public string StuffTemplate { get; set; } + + /// + /// 物料模板描述 + /// + [JsonProperty("stuff_template_desc")] + public string StuffTemplateDesc { get; set; } + + /// + /// 口碑码类型描述 + /// + [JsonProperty("stuff_type_desc")] + public string StuffTypeDesc { get; set; } + + /// + /// 桌号 + /// + [JsonProperty("table_no")] + public string TableNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderActivityModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderActivityModel.cs new file mode 100644 index 0000000..b7f5f9f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderActivityModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbOrderActivityModel Data Structure. + /// + [Serializable] + public class KbOrderActivityModel : AopObject + { + /// + /// 活动ID + /// + [JsonProperty("activity_id")] + public string ActivityId { get; set; } + + /// + /// 商品ID + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderFundsVoucherModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderFundsVoucherModel.cs new file mode 100644 index 0000000..e52e31a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderFundsVoucherModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbOrderFundsVoucherModel Data Structure. + /// + [Serializable] + public class KbOrderFundsVoucherModel : AopObject + { + /// + /// 资金流入账户,打款动作存在该字段 + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 金额 + /// + [JsonProperty("amount")] + public string Amount { get; set; } + + /// + /// 资金凭证ID + /// + [JsonProperty("funds_voucher_no")] + public string FundsVoucherNo { get; set; } + + /// + /// 资金流转发生时间 + /// + [JsonProperty("gmt_create")] + public string GmtCreate { get; set; } + + /// + /// 门店ID,打款动作存在该字段 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 资金流入外部门店ID,打款时存在该字段 + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 资金类型 PAY/SETTLE/REFUND 对应 支付/打款/退款 + /// + [JsonProperty("trans_type")] + public string TransType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderShopModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderShopModel.cs new file mode 100644 index 0000000..3618943 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderShopModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbOrderShopModel Data Structure. + /// + [Serializable] + public class KbOrderShopModel : AopObject + { + /// + /// 门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 店铺名 + /// + [JsonProperty("shop_name")] + public string ShopName { get; set; } + + /// + /// 外部门店ID + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderVoucherModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderVoucherModel.cs new file mode 100644 index 0000000..97ca791 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbOrderVoucherModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbOrderVoucherModel Data Structure. + /// + [Serializable] + public class KbOrderVoucherModel : AopObject + { + /// + /// 商品凭证过期时间 + /// + [JsonProperty("expire_date")] + public string ExpireDate { get; set; } + + /// + /// 商品凭证核销/退款对应的资金流水号 + /// + [JsonProperty("funds_voucher_no")] + public string FundsVoucherNo { get; set; } + + /// + /// 商品ID + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 退款理由,由消费者选择或填写内容,系统退款可以为空。 + /// + [JsonProperty("refund_reason")] + public string RefundReason { get; set; } + + /// + /// 退款类型,ROLE_DAEMON(超期未使用),ROLE_USER(消费者主动); + /// + [JsonProperty("refund_type")] + public string RefundType { get; set; } + + /// + /// 商品凭证核销门店ID,核销后会存在该字段 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 状态 + /// + [JsonProperty("status")] + public string Status { get; set; } + + /// + /// 商品凭证核销门店外部ID + /// + [JsonProperty("store_id")] + public string StoreId { get; set; } + + /// + /// 商品凭证ID + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertChannelTypeResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertChannelTypeResponse.cs new file mode 100644 index 0000000..af471da --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertChannelTypeResponse.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbadvertChannelTypeResponse Data Structure. + /// + [Serializable] + public class KbadvertChannelTypeResponse : AopObject + { + /// + /// 渠道描述 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 排序,暂时无用 + /// + [JsonProperty("order")] + public string Order { get; set; } + + /// + /// 类型 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertCommissionLimit.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertCommissionLimit.cs new file mode 100644 index 0000000..bde649b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertCommissionLimit.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbadvertCommissionLimit Data Structure. + /// + [Serializable] + public class KbadvertCommissionLimit : AopObject + { + /// + /// 推广者类型 + /// + [JsonProperty("commission_user_type")] + public string CommissionUserType { get; set; } + + /// + /// 层级 + /// + [JsonProperty("level")] + public long Level { get; set; } + + /// + /// 比例分佣的最大金额 + /// + [JsonProperty("max_max_amount")] + public string MaxMaxAmount { get; set; } + + /// + /// 固定金额上限 + /// + [JsonProperty("max_quota_amount")] + public string MaxQuotaAmount { get; set; } + + /// + /// 最小分佣比例 + /// + [JsonProperty("min_commission_percentage")] + public string MinCommissionPercentage { get; set; } + + /// + /// 最小固定金额 + /// + [JsonProperty("min_quota_amount")] + public string MinQuotaAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertRoleInfoResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertRoleInfoResponse.cs new file mode 100644 index 0000000..445929b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertRoleInfoResponse.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbadvertRoleInfoResponse Data Structure. + /// + [Serializable] + public class KbadvertRoleInfoResponse : AopObject + { + /// + /// 角色code + /// + [JsonProperty("role_code")] + public string RoleCode { get; set; } + + /// + /// NOT_OPEN:未开通 OPENED:已经开通 + /// + [JsonProperty("status")] + public string Status { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertSmartPromoRequest.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertSmartPromoRequest.cs new file mode 100644 index 0000000..cce49d9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertSmartPromoRequest.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbadvertSmartPromoRequest Data Structure. + /// + [Serializable] + public class KbadvertSmartPromoRequest : AopObject + { + /// + /// 智能营销分组ID + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 智能营销方案ID + /// + [JsonProperty("plan_id")] + public string PlanId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertSmartPromoResponse.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertSmartPromoResponse.cs new file mode 100644 index 0000000..325ffae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertSmartPromoResponse.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbadvertSmartPromoResponse Data Structure. + /// + [Serializable] + public class KbadvertSmartPromoResponse : AopObject + { + /// + /// 智能营销分组ID + /// + [JsonProperty("group_id")] + public string GroupId { get; set; } + + /// + /// 智能营销方案ID + /// + [JsonProperty("plan_id")] + public string PlanId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertVoucherManual.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertVoucherManual.cs new file mode 100644 index 0000000..ad4f22d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KbadvertVoucherManual.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KbadvertVoucherManual Data Structure. + /// + [Serializable] + public class KbadvertVoucherManual : AopObject + { + /// + /// 说明 + /// + [JsonProperty("details")] + + public List Details { get; set; } + + /// + /// 标题 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KeyanColumn.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KeyanColumn.cs new file mode 100644 index 0000000..96f095b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KeyanColumn.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KeyanColumn Data Structure. + /// + [Serializable] + public class KeyanColumn : AopObject + { + /// + /// 密码 + /// + [JsonProperty("password")] + public string Password { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Keyword.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Keyword.cs new file mode 100644 index 0000000..a579fae --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/Keyword.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// Keyword Data Structure. + /// + [Serializable] + public class Keyword : AopObject + { + /// + /// 当前文字颜色 + /// + [JsonProperty("color")] + public string Color { get; set; } + + /// + /// 模板中占位符的值 + /// + [JsonProperty("value")] + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelBatchqueryModel.cs new file mode 100644 index 0000000..6021dfa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionAdvchannelBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionAdvchannelBatchqueryModel : AopObject + { + /// + /// 广告ID + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 当前页码 + /// + [JsonProperty("page_index")] + public string PageIndex { get; set; } + + /// + /// 每页记录数,默认10,最大100 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelBindModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelBindModel.cs new file mode 100644 index 0000000..81266da --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelBindModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionAdvchannelBindModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionAdvchannelBindModel : AopObject + { + /// + /// 广告id + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 渠道ID列表 + /// + [JsonProperty("channel_id_list")] + + public List ChannelIdList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelUnbindModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelUnbindModel.cs new file mode 100644 index 0000000..f89c4fc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvchannelUnbindModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionAdvchannelUnbindModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionAdvchannelUnbindModel : AopObject + { + /// + /// 广告ID + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 渠道ID列表 + /// + [JsonProperty("channel_id_list")] + + public List ChannelIdList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvertPurchaseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvertPurchaseModel.cs new file mode 100644 index 0000000..9fd4294 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvertPurchaseModel.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionAdvertPurchaseModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionAdvertPurchaseModel : AopObject + { + /// + /// 渠道ID + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 外部用户唯一标识(用于生成校验码,只有白名单ISV才可不填) + /// + [JsonProperty("out_unique_id")] + public string OutUniqueId { get; set; } + + /// + /// 校验码(只有白名单ISV才可不填) 生成地址: http://pin.aliyun.com/get_img 参数: sessionid-外部用户唯一标识(和上面的out_unique_id保持一致) + /// identity-固定值,请输入kbadvert type-验证码图片类型 【type取值说明】 type - 内容 - 尺寸 default - 4位数字&大小写 - 100x30 number - + /// 6位纯数字 - 100x30 150_40 - 4位数字&大小写 - 150x40 请求示例:http://pin.aliyun.com/get_img?sessionid=13000000000&identity + /// =kbadvert&type=default 验证码校验地址示例:http://pin.aliyun.com/check_code?sessionid=13000000000&identity=kbadvert&code + /// =PNRT + /// + [JsonProperty("security_code")] + public string SecurityCode { get; set; } + + /// + /// 推广参与打标(无实际业务作用,后期可供ISV分析不同渠道的推广效能) + /// + [JsonProperty("tag")] + public string Tag { get; set; } + + /// + /// 参与主键列表 trigger_identify_type=advert所有值都必须是广告ID + /// + [JsonProperty("trigger_identifies")] + + public List TriggerIdentifies { get; set; } + + /// + /// 参与主键类型 advert-广告ID delivery_id-外投ID(通过koubei.advert.delivery.discount.batchquery接口获取的外投ID) + /// + [JsonProperty("trigger_identify_type")] + public string TriggerIdentifyType { get; set; } + + /// + /// 用户领取券策略 FIRST_CAN_PURCHASE:第一个可领 ALL_PURCHASE:领取所有(默认) + /// + [JsonProperty("trigger_strategy")] + public string TriggerStrategy { get; set; } + + /// + /// 用户身份主键 user_identify_type=phone-值必须是用户手机号 + /// + [JsonProperty("user_identify")] + public string UserIdentify { get; set; } + + /// + /// 用户身份主键类型 phone-手机号 user_id - 支付宝账户ID + /// + [JsonProperty("user_identify_type")] + public string UserIdentifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvertQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvertQueryModel.cs new file mode 100644 index 0000000..ff02f6f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionAdvertQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionAdvertQueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionAdvertQueryModel : AopObject + { + /// + /// 查询主键列表 identify_type=advert所有值都必须是推广ID identify_type=mission所有值都必须是分佣任务ID identify_type=voucher所有值都必须是券ID + /// + [JsonProperty("identifies")] + + public List Identifies { get; set; } + + /// + /// 查询主键类型(枚举值key对应于请求对象中查询主键列表的key) advert-推广 mission-分佣任务 voucher-券 + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionBillQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionBillQueryModel.cs new file mode 100644 index 0000000..e295861 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionBillQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionBillQueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionBillQueryModel : AopObject + { + /// + /// 账期(格式为yyyyMM) + /// + [JsonProperty("date")] + public string Date { get; set; } + + /// + /// 账单类型 deal-交易账单 settle-结算账单 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionCascademissionCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionCascademissionCreateModel.cs new file mode 100644 index 0000000..48d1207 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionCascademissionCreateModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionCascademissionCreateModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionCascademissionCreateModel : AopObject + { + /// + /// 子任务的分佣配置 + /// + [JsonProperty("cascade_mission_conf")] + + public List CascadeMissionConf { get; set; } + + /// + /// 根据identify_type指定的值 misison时,为需要设置子任务的分佣任务ID voucher时,为需要券ID + /// + [JsonProperty("identify")] + public string Identify { get; set; } + + /// + /// 主键类型 mission:已经领取的任务,需要在该任务下发布子任务的ID voucher:任务对应的券ID + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + + /// + /// 名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelBatchqueryModel.cs new file mode 100644 index 0000000..ee04cb6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelBatchqueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionChannelBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionChannelBatchqueryModel : AopObject + { + /// + /// 页码 + /// + [JsonProperty("page_index")] + public string PageIndex { get; set; } + + /// + /// 每页数量 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelCreateModel.cs new file mode 100644 index 0000000..f628658 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelCreateModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionChannelCreateModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionChannelCreateModel : AopObject + { + /// + /// 新增渠道列表 + /// + [JsonProperty("channels")] + + public List Channels { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelDeleteModel.cs new file mode 100644 index 0000000..af30e6c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelDeleteModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionChannelDeleteModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionChannelDeleteModel : AopObject + { + /// + /// 需要删除的渠道ID列表 + /// + [JsonProperty("channel_ids")] + + public List ChannelIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelModifyModel.cs new file mode 100644 index 0000000..d2fbca0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionChannelModifyModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionChannelModifyModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionChannelModifyModel : AopObject + { + /// + /// 修改渠道信息(新增、删除、修改渠道不可同时为空) + /// + [JsonProperty("channels")] + + public List Channels { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionCreateModel.cs new file mode 100644 index 0000000..b6fc905 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionCreateModel.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionMissionCreateModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionMissionCreateModel : AopObject + { + /// + /// 条款分如下三种条款,同时“单品券”只能设置固定金额,“全场券”只能设置 比例的。 + /// PERCENTAGE_CLAUSE:百分比分佣结算条款,和"固定金额分佣结算条款"互斥,条款设置要求,可从koubei.advert.data.conf.query获取 QUOTA_CLAUSE:固定金额分佣结算条款 + /// MISSION_CLAIM_CLAUSE:专属认领人条款,设定专属人条款,则只能条款中指定人员claimers可认领 + /// + [JsonProperty("commission_clause")] + + public List CommissionClause { get; set; } + + /// + /// 主键ID,根据identify_type,设置相应的ID activity_id:运营活动ID,可以通过koubei.marketing.campaign.activity.create获取 + /// voucher:商品ID,可以在商家中心创建商品获得 + /// + [JsonProperty("identify")] + public string Identify { get; set; } + + /// + /// 主键类型,需要配置分佣任务的标的ID,现在主要支持如下两种 activity_id:运营活动ID voucher:商品ID + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + + /// + /// 分佣任务名称,由于不在任何场景不显示,因此可ISV按自己需求自行定义 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 操作人id,必须和operator_type配对出现,不填时默认是商户ID MERCHANT时填商户ID,同时服务商创建分佣任务,需要审批 PROVIDER时填写服务商ID + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填选项(默认不需要填这个字段,默认为MERCHANT): MERCHANT:外部商户 PROVIDER:服务商 + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 智能营销信息 通过koubei.marketing.data.smartactivity.config接口ext_info字段获取 plan_id:为ext_info中的SMART_PROMO_PLAN_ID(方案ID) + /// group_id:为ext_info中的SMART_PROMO_GROUP_ID(方案组ID), 对于和智能营销无关的场景,可以不输入该字段 + /// + [JsonProperty("smart_promo")] + public KbadvertSmartPromoRequest SmartPromo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionPromoteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionPromoteModel.cs new file mode 100644 index 0000000..a5f76fc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionPromoteModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionMissionPromoteModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionMissionPromoteModel : AopObject + { + /// + /// 推广主键 identify_type=mission-值必须是任务ID identify_type=voucher-值必须是券ID + /// + [JsonProperty("identify")] + public string Identify { get; set; } + + /// + /// 推广主键类型 mission-任务 voucher-券 + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + + /// + /// 指定推广活动的名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionQueryModel.cs new file mode 100644 index 0000000..f760fc5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionMissionQueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionMissionQueryModel : AopObject + { + /// + /// 主键ID + /// + [JsonProperty("identify_list")] + + public List IdentifyList { get; set; } + + /// + /// 主键类型 activity_id:运营活动ID voucher:商品ID mission:分佣任务ID + /// + [JsonProperty("identify_type")] + public string IdentifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionSearchModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionSearchModel.cs new file mode 100644 index 0000000..d407235 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionMissionSearchModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionMissionSearchModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionMissionSearchModel : AopObject + { + /// + /// 分佣规则类型(枚举值key对应于请求对象中复杂类型的key) percentage_clause-比例 quota_clause-定额 + /// + [JsonProperty("commission_clause_type")] + public string CommissionClauseType { get; set; } + + /// + /// 当前页码,默认1 + /// + [JsonProperty("page_index")] + public string PageIndex { get; set; } + + /// + /// 每页记录数,默认10,最大100 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 比例分佣规则 只有commission_clause_type=percentage_clause才能传值 + /// + [JsonProperty("percentage_clause")] + public KbAdvertCommissionClausePercentage PercentageClause { get; set; } + + /// + /// 定额分佣规则 只有commission_clause_type=quota_clause才能传值 + /// + [JsonProperty("quota_clause")] + public KbAdvertCommissionClauseQuota QuotaClause { get; set; } + + /// + /// 任务类型(枚举值key对应于请求对象中复杂类型的key) voucher-券 + /// + [JsonProperty("type")] + public string Type { get; set; } + + /// + /// 券任务(支持模糊匹配) 只有type=voucher才能传值 + /// + [JsonProperty("voucher")] + public KbAdvertSubjectVoucher Voucher { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionRoleQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionRoleQueryModel.cs new file mode 100644 index 0000000..bc2b325 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionRoleQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionRoleQueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionRoleQueryModel : AopObject + { + /// + /// 角色code码,如果不提供该字段,则会遍历所有角色,并返回user_identify是否拥有, MISSION_PROMO:任务推广角色 MISSION_PUBLISH:任务发布角色 + /// + [JsonProperty("role_code")] + public string RoleCode { get; set; } + + /// + /// 用户身份主键 user_identify_type=user_id -值必须是支付宝账户ID + /// + [JsonProperty("user_identify")] + public string UserIdentify { get; set; } + + /// + /// 用户身份主键类型 user_id - 支付宝账户ID + /// + [JsonProperty("user_identify_type")] + public string UserIdentifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionSpecialadvcontentModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionSpecialadvcontentModifyModel.cs new file mode 100644 index 0000000..5c31e2b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertCommissionSpecialadvcontentModifyModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertCommissionSpecialadvcontentModifyModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertCommissionSpecialadvcontentModifyModel : AopObject + { + /// + /// 广告ID + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 渠道ID(如果修改的是广告的默认主推广的内容,则不传渠道ID;如果修改的是广告的指定投放渠道的内容,则传指定渠道的ID) + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 创建或者删除广告内容的请求参数List + /// + [JsonProperty("content_list")] + + public List ContentList { get; set; } + + /// + /// 特殊广告内容的修改枚举类型: create:表示创建特殊广告内容 delete:表示删除特殊广告内容 + /// + [JsonProperty("modify_type")] + public string ModifyType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotedetailBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotedetailBatchqueryModel.cs new file mode 100644 index 0000000..2a8fad3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotedetailBatchqueryModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDataPromotedetailBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDataPromotedetailBatchqueryModel : AopObject + { + /// + /// 结束时间 + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 当前页码 + /// + [JsonProperty("page_index")] + public long PageIndex { get; set; } + + /// + /// 每页大小(分页参数) + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 开始时间 + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + + /// + /// 商品券名称 支持模糊搜索 + /// + [JsonProperty("voucher_name")] + public string VoucherName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotedetailChannelBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotedetailChannelBatchqueryModel.cs new file mode 100644 index 0000000..7a4ef68 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotedetailChannelBatchqueryModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDataPromotedetailChannelBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDataPromotedetailChannelBatchqueryModel : AopObject + { + /// + /// 广告id + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 渠道id(不传查所有id) + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 结束时间(精确到天) + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 当前页码 + /// + [JsonProperty("page_index")] + public long PageIndex { get; set; } + + /// + /// 每页大小(分页参数) + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 开始时间(精确到天) + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotesummaryDateBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotesummaryDateBatchqueryModel.cs new file mode 100644 index 0000000..b9ab5a8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotesummaryDateBatchqueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDataPromotesummaryDateBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDataPromotesummaryDateBatchqueryModel : AopObject + { + /// + /// 广告id 如果有这个参数默认搜索这个广告标的的汇总信息并忽略voucher_name参数 + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 结束时间 + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 开始时间 + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + + /// + /// 券名称 支持模糊搜索 + /// + [JsonProperty("voucher_name")] + public string VoucherName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotesummaryQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotesummaryQueryModel.cs new file mode 100644 index 0000000..7404446 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDataPromotesummaryQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDataPromotesummaryQueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDataPromotesummaryQueryModel : AopObject + { + /// + /// 广告id 如果有这个参数默认搜索这个广告的汇总信息并忽略voucher_name参数 + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 结束时间 + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 开始时间 + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryDiscountBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryDiscountBatchqueryModel.cs new file mode 100644 index 0000000..7c28f95 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryDiscountBatchqueryModel.cs @@ -0,0 +1,73 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDeliveryDiscountBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDeliveryDiscountBatchqueryModel : AopObject + { + /// + /// 媒体编号,使用前需要找业务申请 ,不申请直接调用会失败 + /// + [JsonProperty("channel")] + public string Channel { get; set; } + + /// + /// 城市国标码,比如310100是上海 + /// + [JsonProperty("city_code")] + public string CityCode { get; set; } + + /// + /// 纬度 + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度 + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 手机号码,不能和user_id同时存在 + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 当strategy为QUERY_AND_PURCHASE时,循环发送券列表中的券,直到发券量达到purchase_num。 + /// + [JsonProperty("purchase_num")] + public string PurchaseNum { get; set; } + + /// + /// 门店ID 如果提供门店ID,则优先查询门店下发的券。 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 输出的券列表大小 + /// + [JsonProperty("size")] + public string Size { get; set; } + + /// + /// 查询策略,查询并发送策略,只有白名单内ISV才有权限使用,如果不在白名单内,则忽略该字段并默认查询 QUERY:查券(默认值) + /// QUERY_AND_PURCHASE:查并领,为了优化体验,在查询时进行发券处理,顺序发送券列表的券,直达发券量达到purchase_num。 + /// + [JsonProperty("strategy")] + public string Strategy { get; set; } + + /// + /// 支付宝账户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryDiscountWebBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryDiscountWebBatchqueryModel.cs new file mode 100644 index 0000000..5bae12e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryDiscountWebBatchqueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDeliveryDiscountWebBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDeliveryDiscountWebBatchqueryModel : AopObject + { + /// + /// 分配的固定的渠道CODE,需要找运营申请 + /// + [JsonProperty("channel")] + public string Channel { get; set; } + + /// + /// 纬度,根据经纬度查询附近的券 + /// + [JsonProperty("latitude")] + public string Latitude { get; set; } + + /// + /// 经度,根据经纬度查询附近的券 + /// + [JsonProperty("longitude")] + public string Longitude { get; set; } + + /// + /// 手机号码,根据手机号码查询支付宝账户ID + /// + [JsonProperty("mobile")] + public string Mobile { get; set; } + + /// + /// 门店ID,如果设置门店,则查询门店下发行的券 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryItemApplyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryItemApplyModel.cs new file mode 100644 index 0000000..e13db9f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiAdvertDeliveryItemApplyModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiAdvertDeliveryItemApplyModel Data Structure. + /// + [Serializable] + public class KoubeiAdvertDeliveryItemApplyModel : AopObject + { + /// + /// 领券时触发的id,在外投场景下,用的是广告id + /// + [JsonProperty("adv_id")] + public string AdvId { get; set; } + + /// + /// 渠道编号,适用于媒体类发券 + /// + [JsonProperty("channel_code")] + public string ChannelCode { get; set; } + + /// + /// 适用于在推广者主站上注册的渠道编号 + /// + [JsonProperty("channel_id")] + public string ChannelId { get; set; } + + /// + /// 外部流水号,用于区别每次请求的流水号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 券推荐时输出给合作伙伴的id,需要在领券的时候传回来 + /// + [JsonProperty("recommend_id")] + public string RecommendId { get; set; } + + /// + /// 领取优惠的门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 推广参与打标(无实际业务作用,后期可供ISV分析不同渠道的推广效能) + /// + [JsonProperty("tag")] + public string Tag { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringDishRecommendQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringDishRecommendQueryModel.cs new file mode 100644 index 0000000..bc83dc9 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringDishRecommendQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringDishRecommendQueryModel Data Structure. + /// + [Serializable] + public class KoubeiCateringDishRecommendQueryModel : AopObject + { + /// + /// 用户已点的主菜品ID,传入时作为推荐菜品参考 + /// + [JsonProperty("dish_id")] + public string DishId { get; set; } + + /// + /// 点餐门店所属的商家PID + /// + [JsonProperty("merchent_pid")] + public string MerchentPid { get; set; } + + /// + /// 点餐的门店ID + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringEleOrderSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringEleOrderSyncModel.cs new file mode 100644 index 0000000..ea4b9f1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringEleOrderSyncModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringEleOrderSyncModel Data Structure. + /// + [Serializable] + public class KoubeiCateringEleOrderSyncModel : AopObject + { + /// + /// 饿了么数据回流action类型.包含ORDER_STATUS,ORDER_DELIVERY,ORDER_REFUND + /// + [JsonProperty("action")] + public string Action { get; set; } + + /// + /// 支付宝用户id + /// + [JsonProperty("alipay_user_id")] + public string AlipayUserId { get; set; } + + /// + /// 饿了么推送的数据类型json字符串.注意data是一个字符串类型,要把一串json作为字符串传入 + /// + [JsonProperty("data")] + public string Data { get; set; } + + /// + /// 数据推送来源,需要找业务PD申请 + /// + [JsonProperty("source")] + public string Source { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemCreateModel.cs new file mode 100644 index 0000000..4a3fc83 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemCreateModel.cs @@ -0,0 +1,167 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringItemCreateModel Data Structure. + /// + [Serializable] + public class KoubeiCateringItemCreateModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 商品可用时段列表。最多添加三条规则。该内容仅用于展示,不影响实际核销。 + /// + [JsonProperty("available_periods")] + + public List AvailablePeriods { get; set; } + + /// + /// 商品购买须知 + /// + [JsonProperty("buyer_notes")] + public BuyerNotesInfo BuyerNotes { get; set; } + + /// + /// 口碑商品所属的后台类目id,ISV可通过开放接口koubei.item.category.children.batchquery来获得后台类目树,并选择叶子类目,作为该值传入 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 商品首图。支持bmp,png,jpeg,jpg,gif格式的图片,建议宽高比16:9,建议宽高:1242*698px + /// 图片大小≤5M。图片大小超过5M,接口会报错。若图片尺寸不对,口碑服务器自身不会做压缩,但是口碑把这些图片放到客户端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪) + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 商品生效时间,商品状态有效并且到达生效时间后才可在客户端(消费者端)展示出来,如果商品生效时间小于当前时间,则立即生效。 说明:商品的生效时间不能早于创建当天的0点 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 发布商品库存数量 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 商品详情-菜品图文详情 + /// + [JsonProperty("item_dishes")] + + public List ItemDishes { get; set; } + + /// + /// 商品详情-商品套餐内容 + /// + [JsonProperty("item_packages")] + + public List ItemPackages { get; set; } + + /// + /// 商家公告,最多不超过100个汉字,200个字符 + /// + [JsonProperty("latest_notice")] + + public List LatestNotice { get; set; } + + /// + /// 商品备注信息。用于商户内部管理,用户页面不露出。 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商品详情-商家介绍图文详情 + /// + [JsonProperty("merchant_introduction")] + public IntroductionInfo MerchantIntroduction { get; set; } + + /// + /// 操作人员身份类型。如果是isv代操作,请传入ISV;如果是商户操作请传入MERCHANT;如果是商户员工则传入M_STAFF + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 商品原价。字符串类型,单位元,2位小数。最高价格49998元 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 商品详情-套餐补充说明列表 + /// + [JsonProperty("package_notes")] + + public List PackageNotes { get; set; } + + /// + /// 商品详情图片列表。尺寸大小与商品首图一致,最多5张。C端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪) + /// + [JsonProperty("picture_details")] + + public List PictureDetails { get; set; } + + /// + /// 商品现价(优惠价)。字符串类型,单位元,2位小数。最高价格49998元 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 商品需要关联的门店id列表,即传入一个或多个shop_id。 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 商品编码,由商家自定义,不可重复,用于商品核销 + /// + [JsonProperty("sku_id")] + public string SkuId { get; set; } + + /// + /// 商品名称,请勿超过40汉字,80个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 商品不可用日期区间。该内容仅用于展示,不影响实际核销。 + /// + [JsonProperty("unavailable_periods")] + + public List UnavailablePeriods { get; set; } + + /// + /// 购买有效期:商品自购买起多长时间内有效,取值范围 + /// 7-360,单位天。举例,如果是7的话,是到第七天晚上23:59:59失效。商品购买后,没有在有效期内核销,则自动退款给用户。举例:买了一个鱼香肉丝杨梅汁套餐的商品,有效期一个月,如果一个月之后,用户没有消费该套餐,则自动退款给用户 + /// + [JsonProperty("validity_period")] + public long ValidityPeriod { get; set; } + + /// + /// 商品顺序权重,必须是整数,不传默认为0,权重数值越大排序越靠前 + /// + [JsonProperty("weight")] + public string Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemModifyModel.cs new file mode 100644 index 0000000..d463ac2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemModifyModel.cs @@ -0,0 +1,172 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringItemModifyModel Data Structure. + /// + [Serializable] + public class KoubeiCateringItemModifyModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 商品可用时段列表。最多添加三条规则。该内容仅用于展示,不影响实际核销。 + /// + [JsonProperty("available_periods")] + + public List AvailablePeriods { get; set; } + + /// + /// 商品购买须知 + /// + [JsonProperty("buyer_notes")] + public BuyerNotesInfo BuyerNotes { get; set; } + + /// + /// 口碑商品所属的后台类目id,ISV可通过开放接口koubei.item.category.children.batchquery来获得后台类目树,并选择叶子类目,作为该值传入 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 商品首图。支持bmp,png,jpeg,jpg,gif格式的图片,建议宽高比16:9,建议宽高:1242*698px + /// 图片大小≤5M。图片大小超过5M,接口会报错。若图片尺寸不对,口碑服务器自身不会做压缩,但是口碑把这些图片放到客户端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪)。 + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 商品生效时间,商品状态有效并且到达生效时间后才可在客户端(消费者端)展示出来,如果商品生效时间小于当前时间,则立即生效。 说明:商品的生效时间不能早于创建当天的0点 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 发布商品库存数量 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 商品详情-菜品图文详情 + /// + [JsonProperty("item_dishes")] + + public List ItemDishes { get; set; } + + /// + /// 口碑体系内部商品的唯一标识 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 商品详情-商品套餐内容 + /// + [JsonProperty("item_packages")] + + public List ItemPackages { get; set; } + + /// + /// 商家公告,最多不超过100个汉字,200个字符 + /// + [JsonProperty("latest_notice")] + public string LatestNotice { get; set; } + + /// + /// 商品备注信息。用于商户内部管理,用户页面不露出。 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 商品详情-商家介绍图文详情 + /// + [JsonProperty("merchant_introduction")] + public IntroductionInfo MerchantIntroduction { get; set; } + + /// + /// 操作人员身份类型。如果是isv代操作,请传入ISV;如果是商户操作请传入MERCHANT;如果是商户员工则传入M_STAFF + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 商品原价。字符串类型,单位元,2位小数。最高价格49998元 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 商品详情-补充说明列表 + /// + [JsonProperty("package_notes")] + + public List PackageNotes { get; set; } + + /// + /// 商品详情图片列表。尺寸大小与商品首图一致,最多5张。C端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪) + /// + [JsonProperty("picture_details")] + + public List PictureDetails { get; set; } + + /// + /// 商品现价。字符串类型,单位元,2位小数。最高价格49998元 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 请求id。支持英文字母和数字,由开发者自行定义(不允许重复)。比如2016102903214476899999999 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 商品关联门店id列表,即传入一个或多个shop_id。 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 商品编码,由商家自定义,不可重复,用于商品核销 + /// + [JsonProperty("sku_id")] + public string SkuId { get; set; } + + /// + /// 商品名称,请勿超过40汉字,80个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 商品不可用日期区间。该内容仅用于展示,不影响实际核销。 + /// + [JsonProperty("unavailable_periods")] + + public List UnavailablePeriods { get; set; } + + /// + /// 购买有效期:商品自购买起多长时间内有效,取值范围 + /// 7-360,单位天。举例,如果是7的话,是到第七天晚上23:59:59失效。商品购买后,没有在有效期内核销,则自动退款给用户。举例:买了一个鱼香肉丝杨梅汁套餐的商品,有效期一个月,如果一个月之后,用户没有消费该套餐,则自动退款给用户 + /// + [JsonProperty("validity_period")] + public long ValidityPeriod { get; set; } + + /// + /// 商品顺序权重,必须是整数,不传默认为0,权重数值越大排序越靠前 + /// + [JsonProperty("weight")] + public string Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemQueryModel.cs new file mode 100644 index 0000000..04289c8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringItemQueryModel Data Structure. + /// + [Serializable] + public class KoubeiCateringItemQueryModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑体系内部商品的唯一标识 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 操作人员身份类型。如果是isv代操作,请传入ISV;如果是商户操作请传入MERCHANT;如果是商户员工则传入M_STAFF + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 请求id。支持英文字母和数字,由开发者自行定义(不允许重复)。比如2016102903214476899999999 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemlistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemlistQueryModel.cs new file mode 100644 index 0000000..359df6b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringItemlistQueryModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringItemlistQueryModel Data Structure. + /// + [Serializable] + public class KoubeiCateringItemlistQueryModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 查询特定状态的商品。状态枚举值为:INIT表示未上架,EFFECTIVE表示已上架,PAUSE表示已暂停, FREEZE表示已冻结, INVALID表示已下架。如果为空则默认查询所有状态商品 + /// + [JsonProperty("item_status")] + public string ItemStatus { get; set; } + + /// + /// 操作人员身份类型。如果是isv代操作,请传入ISV;如果是商户操作请传入MERCHANT;如果是商户员工则传入M_STAFF + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 页码数,整数,表示需要查询第几页数据。 + /// + [JsonProperty("page_no")] + public long PageNo { get; set; } + + /// + /// 列表每页显示商品的条目数,整数 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 请求id。支持英文字母和数字,由开发者自行定义(不允许重复) + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringKbcodeCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringKbcodeCreateModel.cs new file mode 100644 index 0000000..e2096d6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringKbcodeCreateModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringKbcodeCreateModel Data Structure. + /// + [Serializable] + public class KoubeiCateringKbcodeCreateModel : AopObject + { + /// + /// 口碑码绑定的门店或者桌号信息列表 + /// + [JsonProperty("bind_info_list")] + + public List BindInfoList { get; set; } + + /// + /// 请求流水ID,用于幂等控制 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 物料模板(可以不填,系统会根据码类型默认一个模板) + /// + [JsonProperty("stuff_template")] + public string StuffTemplate { get; set; } + + /// + /// 生成码的类型(桌码:TABLE_PASTER,门店码:DOOR_PASTER) + /// + [JsonProperty("stuff_type")] + public string StuffType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringKbcodeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringKbcodeQueryModel.cs new file mode 100644 index 0000000..4b50be4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringKbcodeQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringKbcodeQueryModel Data Structure. + /// + [Serializable] + public class KoubeiCateringKbcodeQueryModel : AopObject + { + /// + /// 创建口碑码时返回的批次号(batch_id和shop_id二者必填其一) + /// + [JsonProperty("batch_id")] + public long BatchId { get; set; } + + /// + /// 当前页码(大于0的整数) + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 每页返回的记录数(0~100的整数) + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 口碑店铺ID(batch_id和shop_id二者必填其一) + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringTablecodeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringTablecodeQueryModel.cs new file mode 100644 index 0000000..a038aaf --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringTablecodeQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringTablecodeQueryModel Data Structure. + /// + [Serializable] + public class KoubeiCateringTablecodeQueryModel : AopObject + { + /// + /// 用户在isv界面通过扫一扫传入的url文本 + /// + [JsonProperty("url_context")] + public string UrlContext { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringTablelistQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringTablelistQueryModel.cs new file mode 100644 index 0000000..a23f0d1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCateringTablelistQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCateringTablelistQueryModel Data Structure. + /// + [Serializable] + public class KoubeiCateringTablelistQueryModel : AopObject + { + /// + /// 门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiContentCommentDataBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiContentCommentDataBatchqueryModel.cs new file mode 100644 index 0000000..b00b4f4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiContentCommentDataBatchqueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiContentCommentDataBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiContentCommentDataBatchqueryModel : AopObject + { + /// + /// 口碑评价id,如果传入评价id则会忽略其他参数。 (口碑评价id、口碑门店id、口碑手艺人id不能同时为空) + /// + [JsonProperty("comment_id")] + public string CommentId { get; set; } + + /// + /// 口碑手艺人id,可通过 koubei.craftsman.data.provider.batchquery 批量查询手艺人信息接口查询。(口碑评价id、口碑门店id、口碑手艺人id不能同时为空) + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 前次查询的最后一条评价id,用于做分页查询的游标。查询时,需要指定从哪一条评价开始往后取,如果上一次该值传空,则从第一页从头取。 + /// + [JsonProperty("last_comment_id")] + public string LastCommentId { get; set; } + + /// + /// 每页的条数,最大20条,不传会报错 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 口碑门店id,如果传入口碑门店id则会忽略手艺人id。(口碑评价id、口碑门店id、口碑手艺人id不能同时为空) + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiContentCommentReplyCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiContentCommentReplyCreateModel.cs new file mode 100644 index 0000000..53bf544 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiContentCommentReplyCreateModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiContentCommentReplyCreateModel Data Structure. + /// + [Serializable] + public class KoubeiContentCommentReplyCreateModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为接口koubei.member.data.oauth.query(口碑业务授权令牌查询)中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑评价id 可通过koubei.content.comment.data.batchquery接口查询 + /// + [JsonProperty("comment_id")] + public string CommentId { get; set; } + + /// + /// 评价回复内容,回复的内容不超过500字,不区分中英文 + /// + [JsonProperty("content")] + public string Content { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderBatchqueryModel.cs new file mode 100644 index 0000000..8bddcac --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderBatchqueryModel.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataProviderBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataProviderBatchqueryModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 手艺人id (如果传入craftsman_ids,会忽略其他参数:注意,不能与shop_id同时为空) + /// + [JsonProperty("craftsman_ids")] + + public List CraftsmanIds { get; set; } + + /// + /// 手艺人外部id(如果没有传craftsman_ids,传了craftsman_external_ids,会忽略其他参数,注意,不能与shop_id 同时为空) + /// + [JsonProperty("out_craftsman_ids")] + + public List OutCraftsmanIds { get; set; } + + /// + /// 页码,大于0,最大为int的最大值 + /// + [JsonProperty("page_no")] + public string PageNo { get; set; } + + /// + /// 每页的条数,大于0,最大不超过100条 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 手艺人码对应的门店,只有指定了码门店字段,才会返回手艺人码信息 + /// + [JsonProperty("qr_code_shop_id")] + public string QrCodeShopId { get; set; } + + /// + /// 是否推荐 (true 返回在c端展示的手艺人,false 返回c端隐藏的手艺人,不传表示不过滤) + /// + [JsonProperty("recommend")] + public bool Recommend { get; set; } + + /// + /// 口碑门店id(不能与craftsman_ids和out_craftsman_ids同时为空) + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderCreateModel.cs new file mode 100644 index 0000000..86acb65 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderCreateModel.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataProviderCreateModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataProviderCreateModel : AopObject + { + /// + /// 手艺人账户名,仅支持小写字母和数字。上限12个小写字母或者数字。举例,若商户在口碑商家的登录账号为 testaop01@alipay.com,手艺人账号名为zhangsan,则手艺人登录口碑商家的账号名为 + /// testaop01@alipay.com#zhangsan,获取登录密码需要扫商户app的员工激活码。从口碑商家app的员工管理进入员工详情页获取登录密码。 + /// + [JsonProperty("account")] + public string Account { get; set; } + + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 手艺人头像,在商家端手艺人管理和用户端手艺人个人简介中展示手艺人头像 (通过 alipay.offline.material.image.upload + /// 接口上传图片获取的资源id),上限最大5M,支持bmp,png,jpeg,jpg,gif格式的图片。 + /// + [JsonProperty("avatar")] + public string Avatar { get; set; } + + /// + /// 从业起始年月日 + /// + [JsonProperty("career_begin")] + public string CareerBegin { get; set; } + + /// + /// 职业。目前只能传支持一个。枚举类型目前有19种,发型师、美甲师、美容师、美睫师、纹绣师、纹身师、摄影师、教练、教师、化妆师、司仪、摄像师、按摩技师、足疗技师、灸疗师、理疗师、修脚师、采耳师、其他。 + /// + [JsonProperty("careers")] + + public List Careers { get; set; } + + /// + /// 手艺人简介,上限300字。 + /// + [JsonProperty("introduction")] + public string Introduction { get; set; } + + /// + /// 手艺人真实姓名,isv生成,由手艺人用户在isv系统填写,展示给商户看。上限40个字。 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 昵称,上限16字,手艺人个人主页名称,展示给消费者看。 + /// + [JsonProperty("nick_name")] + public string NickName { get; set; } + + /// + /// 外部手艺人id,由ISV生成,isv的appId + 外部手艺人id全局唯一 + /// + [JsonProperty("out_craftsman_id")] + public string OutCraftsmanId { get; set; } + + /// + /// 手艺人关联门店 + /// + [JsonProperty("shop_relations")] + + public List ShopRelations { get; set; } + + /// + /// 描述手艺人擅长的技术(如烫染、二分式剪法、足疗、中医推拿、刮痧、火疗、拔罐、婚纱、儿童、写真...)。最多6个标签 每个标签字段上限10个字。 + /// + [JsonProperty("specialities")] + + public List Specialities { get; set; } + + /// + /// 手艺人的手机号,在商家端和用户端展示,不支持座机 + /// + [JsonProperty("tel_num")] + public string TelNum { get; set; } + + /// + /// 头衔,手艺人在店内的职称。上限10个字。 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderModifyModel.cs new file mode 100644 index 0000000..1b76d0f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataProviderModifyModel.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataProviderModifyModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataProviderModifyModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 手艺人头像,在商家端手艺人管理和用户端手艺人个人简介中展示手艺人头像 (通过 alipay.offline.material.image.upload + /// 接口上传图片获取的资源id),上限最大5M,支持bmp,png,jpeg,jpg,gif格式的图片。 + /// + [JsonProperty("avatar")] + public string Avatar { get; set; } + + /// + /// 从业起始年月日 + /// + [JsonProperty("career_begin")] + public string CareerBegin { get; set; } + + /// + /// 职业。目前只能传支持一个。枚举类型目前有19种,发型师、美甲师、美容师、美睫师、纹绣师、纹身师、摄影师、教练、教师、化妆师、司仪、摄像师、按摩技师、足疗技师、灸疗师、理疗师、修脚师、采耳师、其他。 + /// + [JsonProperty("careers")] + + public List Careers { get; set; } + + /// + /// 口碑手艺人id(外部手艺人id和口碑手艺人id二选一,如果都传的话,那么优先使用口碑手艺人id) + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 手艺人简介,上限300字。 + /// + [JsonProperty("introduction")] + public string Introduction { get; set; } + + /// + /// 昵称,上限16字,手艺人个人主页名称,展示给消费者看。 + /// + [JsonProperty("nick_name")] + public string NickName { get; set; } + + /// + /// 外部手艺人id,由ISV生成,isv的appId + 外部手艺人id全局唯一 + /// + [JsonProperty("out_craftsman_id")] + public string OutCraftsmanId { get; set; } + + /// + /// 手艺人关联门店 + /// + [JsonProperty("shop_relations")] + + public List ShopRelations { get; set; } + + /// + /// 描述手艺人擅长的技术(如烫染、二分式剪法、足疗、中医推拿、刮痧、火疗、拔罐、婚纱、儿童、写真...)。最多6个标签 每个标签字段上限10个字。 + /// + [JsonProperty("specialities")] + + public List Specialities { get; set; } + + /// + /// 手艺人的手机号,在商家端和用户端展示,不支持座机 + /// + [JsonProperty("tel_num")] + public string TelNum { get; set; } + + /// + /// 头衔,手艺人在店内的职称。上限10个字。 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkBatchqueryModel.cs new file mode 100644 index 0000000..fab704d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkBatchqueryModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataWorkBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataWorkBatchqueryModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑手艺人id。是创建手艺人接口koubei.craftsman.data.provider.create返回的craftsman_id,或通过查询手艺人信息接口koubei.craftsman.data.provider查询craftsman_id + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 页码,大于0,最大为int的最大值 + /// + [JsonProperty("page_no")] + public string PageNo { get; set; } + + /// + /// 每页的条数,大于0,最大不超过100条 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 手艺人作品id列表,全局唯一,是创建手艺人作品接口koubei.craftsman.data.work.create返回的work_id + /// + [JsonProperty("work_ids")] + + public List WorkIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkCreateModel.cs new file mode 100644 index 0000000..5ccbe19 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkCreateModel.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataWorkCreateModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataWorkCreateModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑手艺人id。是创建手艺人接口koubei.craftsman.data.provider.create返回的craftsman_id,或通过查询手艺人信息接口koubei.craftsman.data.provider查询craftsman_id + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 作品所属门店id列表。可通过批量查询手艺人信息接口koubei.craftsman.data.provider.batchquery,查询手艺人所属的门店的shop_id。 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 作品列表 + /// + [JsonProperty("works")] + + public List Works { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkDeleteModel.cs new file mode 100644 index 0000000..90f182a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkDeleteModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataWorkDeleteModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataWorkDeleteModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑手艺人id。是创建手艺人接口koubei.craftsman.data.provider.create返回的craftsman_id,或通过查询手艺人信息接口koubei.craftsman.data.provider查询craftsman_id + /// + [JsonProperty("craftsman_id")] + public string CraftsmanId { get; set; } + + /// + /// 口碑手艺人作品id列表,通过查询手艺人作品信息接口koubei.craftsman.data.work.batchquery获取work_id + /// + [JsonProperty("work_ids")] + + public List WorkIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkModifyModel.cs new file mode 100644 index 0000000..4fb1d75 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiCraftsmanDataWorkModifyModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiCraftsmanDataWorkModifyModel Data Structure. + /// + [Serializable] + public class KoubeiCraftsmanDataWorkModifyModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 作品标题。不能出现网络敏感词,异步审核,审核不通过会删除作品。不会回调isv + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 口碑手艺人作品id,通过查询手艺人作品信息接口koubei.craftsman.data.work.batchquery获取work_id + /// + [JsonProperty("work_id")] + public string WorkId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemBatchqueryModel.cs new file mode 100644 index 0000000..921c632 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemBatchqueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiItemBatchqueryModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时; + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 商品Id,多个用,分割,最多支持传5个,如果不传递则查询商户下所有商品,但是不返回适用门店字段,使用了该参数,则无需填写page_no和page_size + /// + [JsonProperty("item_ids")] + public string ItemIds { get; set; } + + /// + /// 操作上下文 isv角色操作时必填;其他角色不需填写 + /// + [JsonProperty("operation_context")] + public KoubeiOperationContext OperationContext { get; set; } + + /// + /// 页码,留空标示第一页,默认10个结果为一页 + /// + [JsonProperty("page_no")] + public string PageNo { get; set; } + + /// + /// 每页记录数,默认10,最大20 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemCategoryChildrenBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemCategoryChildrenBatchqueryModel.cs new file mode 100644 index 0000000..ab3f78b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemCategoryChildrenBatchqueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemCategoryChildrenBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiItemCategoryChildrenBatchqueryModel : AopObject + { + /// + /// 根类目ID. 参数非必传,不传该参数时查询所有的一级类目及递归子类目; 传该参数时,根据入参递归查询子类目信息的列表返回 + /// + [JsonProperty("root_category_id")] + public string RootCategoryId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemCreateModel.cs new file mode 100644 index 0000000..193ec26 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemCreateModel.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemCreateModel Data Structure. + /// + [Serializable] + public class KoubeiItemCreateModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,默认有效期24小时;isv自身角色操作的时候,无需传该参数 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑商品所属的后台类目id,ISV可通过开放接口koubei.item.category.children.batchquery来获得后台类目树,并选择叶子类目,作为该值传入 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 商品首图。支持bmp,png,jpeg,jpg,gif格式的图片,建议宽高比16:9,建议宽高:1242*698px + /// 图片大小≤5M。图片大小超过5M,接口会报错。若图片尺寸不对,口碑服务器自身不会做压缩,但是口碑把这些图片放到客户端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪)。 + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 商品描述,列表类型,最多10项,每一项的key,value的描述见下面两行 + /// + [JsonProperty("descriptions")] + + public List Descriptions { get; set; } + + /// + /// 商品生效时间,商品状态有效并且到达生效时间后才可在客户端(消费者端)展示出来,如果商品生效时间小于当前时间,则立即生效。 说明:商品的生效时间不能早于创建当天的0点 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 商品库存数量,标准商品必填;非标准商品不需要填写,不填写则默认为:99999999 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 非标准商品详情页url,用户通过此url跳转到非标准商品的商品详情页,非标准商品必填 + /// + [JsonProperty("item_detail_url")] + public string ItemDetailUrl { get; set; } + + /// + /// 商品类型为交易凭证类型:TRADE_VOUCHER + /// + [JsonProperty("item_type")] + public string ItemType { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 操作上下文 isv角色操作时必填。其他角色不需填写,不填时以auth_code为准。 + /// + [JsonProperty("operation_context")] + public KoubeiOperationContext OperationContext { get; set; } + + /// + /// 标准商品为原价,必填。非标准商品请勿填写,填写无效。价格单位为元 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 商品详情图。尺寸大小与cover一致,最多5张,以英文逗号分隔 端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪) + /// + [JsonProperty("picture_details")] + public string PictureDetails { get; set; } + + /// + /// 标准商品为现价,必填。非标准商品为最小价格(非标商品为xx元起)必填。价格单位为元。如果现价与原价相等时,则会以原价售卖,并且客户端只展示一个价格(原价) + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 标准商品:FIX;非标准商品:FLOAT + /// + [JsonProperty("price_mode")] + public string PriceMode { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 上架门店id列表,即传入一个或多个shop_id。多个ID则以英文分隔 + /// + [JsonProperty("shop_ids")] + public string ShopIds { get; set; } + + /// + /// 商品名称,请勿超过40汉字,80个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 交易凭证类商品模板信息 + /// + [JsonProperty("trade_voucher_item_template")] + public KoubeiTradeVoucherItemTemplete TradeVoucherItemTemplate { get; set; } + + /// + /// 商品顺序权重,必须是整数,不传默认为0,权重数值越大排序越靠前 + /// + [JsonProperty("weight")] + public string Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemDescription.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemDescription.cs new file mode 100644 index 0000000..90427f8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemDescription.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemDescription Data Structure. + /// + [Serializable] + public class KoubeiItemDescription : AopObject + { + /// + /// 标题下的描述列表,列表类型,每项不得超过100个中文字符,最多10项 + /// + [JsonProperty("details")] + + public List Details { get; set; } + + /// + /// 描述标题,不得超过15个中文字符 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemBatchqueryModel.cs new file mode 100644 index 0000000..d1fae00 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemBatchqueryModel.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemExtitemBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiItemExtitemBatchqueryModel : AopObject + { + /// + /// 品牌编码 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 品类编码 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 当前页码。 + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 分页大小。最大50条,超过限制默认50 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 商品名称(仅支持前缀匹配) + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemCategoryQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemCategoryQueryModel.cs new file mode 100644 index 0000000..df4c643 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemCategoryQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemExtitemCategoryQueryModel Data Structure. + /// + [Serializable] + public class KoubeiItemExtitemCategoryQueryModel : AopObject + { + /// + /// 父品类编码. (查询顶级类目时值传0) + /// + [JsonProperty("parent_id")] + public string ParentId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemCreateModel.cs new file mode 100644 index 0000000..7614a7c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemCreateModel.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemExtitemCreateModel Data Structure. + /// + [Serializable] + public class KoubeiItemExtitemCreateModel : AopObject + { + /// + /// 品牌编码 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 品类编码 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 入数,必须为整数 + /// + [JsonProperty("count")] + public long Count { get; set; } + + /// + /// 产地 + /// + [JsonProperty("country")] + public string Country { get; set; } + + /// + /// 商品描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 商品条码 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 商品图片file id + /// + [JsonProperty("picture")] + public string Picture { get; set; } + + /// + /// 参考价格,单位(分),必须为整数 + /// + [JsonProperty("price")] + public long Price { get; set; } + + /// + /// 商品规格 + /// + [JsonProperty("specification")] + public string Specification { get; set; } + + /// + /// 商品名称 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemExistedQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemExistedQueryModel.cs new file mode 100644 index 0000000..a04ad85 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemExistedQueryModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemExtitemExistedQueryModel Data Structure. + /// + [Serializable] + public class KoubeiItemExtitemExistedQueryModel : AopObject + { + /// + /// 商品编码列表, 商品编码数量不超过100条。 + /// + [JsonProperty("code_list")] + + public List CodeList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemQueryModel.cs new file mode 100644 index 0000000..2fe1050 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemExtitemQueryModel Data Structure. + /// + [Serializable] + public class KoubeiItemExtitemQueryModel : AopObject + { + /// + /// 商品编码 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemUpdateModel.cs new file mode 100644 index 0000000..c110dc4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemExtitemUpdateModel.cs @@ -0,0 +1,78 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemExtitemUpdateModel Data Structure. + /// + [Serializable] + public class KoubeiItemExtitemUpdateModel : AopObject + { + /// + /// 品牌编码 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 品类编码 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 入数,必须为整数 + /// + [JsonProperty("count")] + public string Count { get; set; } + + /// + /// 产地 + /// + [JsonProperty("country")] + public string Country { get; set; } + + /// + /// 商品描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 商品id + /// + [JsonProperty("id")] + public string Id { get; set; } + + /// + /// 商品条码 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 商品图片file id + /// + [JsonProperty("picture")] + public string Picture { get; set; } + + /// + /// 参考价格,单位(分),必须为整数 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 商品规格 + /// + [JsonProperty("specification")] + public string Specification { get; set; } + + /// + /// 商品名称 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemModifyModel.cs new file mode 100644 index 0000000..19fa6e7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemModifyModel.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemModifyModel Data Structure. + /// + [Serializable] + public class KoubeiItemModifyModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,有效期24小时; + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑商品所属的后台类目id,ISV可通过开放接口koubei.item.category.children.batchquery来获得后台类目树,并选择叶子类目,作为该值传入 + /// + [JsonProperty("category_id")] + public string CategoryId { get; set; } + + /// + /// 商品首图。支持bmp,png,jpeg,jpg,gif格式的图片,建议宽高比16:9,建议宽高:1242*698px + /// 图片大小≤5M。图片大小超过5M,接口会报错。若图片尺寸不对,口碑服务器自身不会做压缩,但是口碑把这些图片放到客户端上展现时,自己会做性能优化(等比缩放,以图片中心为基准裁剪)。 + /// + [JsonProperty("cover")] + public string Cover { get; set; } + + /// + /// 商品描述,列表类型,每一项的key,value的描述见下面两行 + /// + [JsonProperty("descriptions")] + + public List Descriptions { get; set; } + + /// + /// 商品生效时间,商品状态有效并且到达生效时间后才可在客户端(消费者端)展示出来,如果商品生效时间小于当前时间,则立即生效。 说明: 商品的生效时间不能早于创建当天的0点 + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 商品库存数量,标准商品必填,非标准商品,不需要填写 + /// + [JsonProperty("inventory")] + public long Inventory { get; set; } + + /// + /// 非标准商品详情页url,用户通过此url跳转到非标准商品的商品详情页,非标准商品必填 + /// + [JsonProperty("item_detail_url")] + public string ItemDetailUrl { get; set; } + + /// + /// 口碑体系内部商品的唯一标识,后续的增删改查接口都使用该ID作为主键 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 操作上下文。isv角色操作时必填。其他角色不需填写。 + /// + [JsonProperty("operation_context")] + public KoubeiOperationContext OperationContext { get; set; } + + /// + /// 标准商品为原价,必填。非标准商品请勿填写,填写无效。价格单位为元 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 商品详情图。尺寸大小与cover一致,最多5张,以英文逗号分隔 + /// + [JsonProperty("picture_details")] + public string PictureDetails { get; set; } + + /// + /// 标准商品为现价,必填。非标准商品为最小价格(非标商品为xx元起)必填。价格单位为元。如果标准商品现价不填写,则以原价进行售卖;如果现价与原价相等时,则会以原价售卖,并且客户端只展示一个价格(原价) + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 上架门店id列表,即传入一个或多个shop_id。多个ID则以英文分隔 + /// + [JsonProperty("shop_ids")] + public string ShopIds { get; set; } + + /// + /// 商品名称,请勿超过40汉字,80个字符 + /// + [JsonProperty("subject")] + public string Subject { get; set; } + + /// + /// 交易凭证类商品模板信息 + /// + [JsonProperty("trade_voucher_item_template")] + public KoubeiTradeVoucherItemTemplete TradeVoucherItemTemplate { get; set; } + + /// + /// 商品顺序权重,必须是整数,不传默认为0,权重数值越大排序越靠前 + /// + [JsonProperty("weight")] + public string Weight { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemStateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemStateModel.cs new file mode 100644 index 0000000..689ac5c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiItemStateModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiItemStateModel Data Structure. + /// + [Serializable] + public class KoubeiItemStateModel : AopObject + { + /// + /// 服务商、服务商员工、商户、商户员工等口碑角色操作时必填,对应为《koubei.member.data.oauth.query》中的auth_code,有效期24小时; + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 口碑体系内部商品的唯一标识,后续的增删改查接口都使用该ID作为主键 + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 操作上下文 ISV角色操作时必填;其他角色不需填写 + /// + [JsonProperty("operation_context")] + public KoubeiOperationContext OperationContext { get; set; } + + /// + /// 支持英文字母和数字,由开发者自行定义(不允许重复),在商品notify消息中也会带有该参数,以此标明本次notify消息是对哪个请求的回应 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 控制商品的售卖状态,RESUME:恢复售卖;PAUSE:暂停售卖,C端不可见; + /// + [JsonProperty("state_type")] + public string StateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingCreateModel.cs new file mode 100644 index 0000000..746a314 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingCreateModel.cs @@ -0,0 +1,60 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingAdvertisingCreateModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingAdvertisingCreateModel : AopObject + { + /// + /// 用户点击广告后,跳转URL地址,必须为https协议。广告类型为PIC时,需要设置该值。对于类型为URL不生效。 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 广告位标识码,目前开放的广告位是钱包APP/口碑TAB/商家详情页中,传值:SHOPPING_OPEN_BANNER + /// + [JsonProperty("ad_code")] + public string AdCode { get; set; } + + /// + /// 广告展示规则。该规则用于商家设置对用户是否展示广告的校验条件,目前支持商家店铺规则。按业务要求应用对应规则即可。 + /// + [JsonProperty("ad_rules")] + public string AdRules { get; set; } + + /// + /// 广告内容,目前支持传入图片ID标识。如何获取图片ID参考图片上传接口:alipay.offline.material.image.upload。图片尺寸为1242px*290px。 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 广告类型,目前只支持PIC. + /// + [JsonProperty("content_type")] + public string ContentType { get; set; } + + /// + /// 投放广告结束时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 直接传入的是图片,目前该字段可以先忽略 + /// + [JsonProperty("height")] + public string Height { get; set; } + + /// + /// 投放广告开始时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingModifyModel.cs new file mode 100644 index 0000000..80ccdac --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingModifyModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingAdvertisingModifyModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingAdvertisingModifyModel : AopObject + { + /// + /// 行为地址。用户点击广告后,跳转URL地址, 协议必须为HTTPS。广告类型为PIC时,需要设置该值。 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 广告ID,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + + /// + /// 广告内容,目前只支持图片类型,则传入图片ID标识,如何获取图片ID参考图片上传接口:alipay.offline.material.image.upload,图片尺寸为1242px*290px。 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 投放广告结束时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 目前传入广告类型为图片,该字段可以先忽略。 + /// + [JsonProperty("height")] + public string Height { get; set; } + + /// + /// 投放广告开始时间,使用标准时间格式:yyyy-MM-dd HH:mm:ss,如果不设置,默认投放时间一个月 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingOperateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingOperateModel.cs new file mode 100644 index 0000000..16c17ea --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingOperateModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingAdvertisingOperateModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingAdvertisingOperateModel : AopObject + { + /// + /// 广告ID,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + + /// + /// 操作类型,目前包括上线和下线,分别传入:online(ONLINE)和offline(OFFLINE) + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingQueryModel.cs new file mode 100644 index 0000000..ed47ee6 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingAdvertisingQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingAdvertisingQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingAdvertisingQueryModel : AopObject + { + /// + /// 广告Id,唯一标识一条广告 + /// + [JsonProperty("ad_id")] + public string AdId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityBatchqueryModel.cs new file mode 100644 index 0000000..ff3ad24 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityBatchqueryModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignActivityBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignActivityBatchqueryModel : AopObject + { + /// + /// 操作人id,必须和operator_type配对存在,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 页码,默认为1 + /// + [JsonProperty("page_number")] + public string PageNumber { get; set; } + + /// + /// 页大小,默认为20 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 查询条件 + /// + [JsonProperty("query_criterias")] + + public List QueryCriterias { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityCreateModel.cs new file mode 100644 index 0000000..3e246dc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityCreateModel.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignActivityCreateModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignActivityCreateModel : AopObject + { + /// + /// 是否自动续期活动,默认为N,只有当对应营销工具券有效期为相对有效期时才能设置成Y + /// + [JsonProperty("auto_delay_flag")] + public string AutoDelayFlag { get; set; } + + /// + /// 活动预算(当活动类型为GUESS_SEND且营销工具PromoTool的数量大于1时,即口令随机送活动,活动预算为空,每张券的预算数量落在SendRule里的send_budget) + /// + [JsonProperty("budget_info")] + public BudgetInfo BudgetInfo { get; set; } + + /// + /// 活动限制信息 + /// + [JsonProperty("constraint_info")] + public ConstraintInfo ConstraintInfo { get; set; } + + /// + /// 活动详细说明 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 活动结束时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 活动的扩展信息,无需设置 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 活动名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 操作人id,必须和operator_type配对出现,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 外部批次ID,同一owner创建活动需要换out_biz_no,控制幂等 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 营销工具集 + /// + [JsonProperty("promo_tools")] + + public List PromoTools { get; set; } + + /// + /// 投放渠道集,当活动类型为DIRECT_SEND或者REAL_TIME_SEND时必填,当活动类型为CONSUME_SEND时必须为空,当活动类型为GUESS_SEND时,投放渠道只能有一个且type只能为MERCHANT_CROWD + /// + [JsonProperty("publish_channels")] + + public List PublishChannels { get; set; } + + /// + /// 招商工具信息 + /// + [JsonProperty("recruit_tool")] + public RecruitTool RecruitTool { get; set; } + + /// + /// 活动开始时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 活动类型,目前支持以下类型: CONSUME_SEND:消费送活动 DIRECT_SEND:直发奖活动 REAL_TIME_SEND:实时立减类活动 GUESS_SEND:口令送 RECHARGE_SEND:充值送 + /// POINT_SEND:集点卡活动 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityModifyModel.cs new file mode 100644 index 0000000..9c8e502 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityModifyModel.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignActivityModifyModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignActivityModifyModel : AopObject + { + /// + /// 是否自动续期活动,仅当活动下券的有效期均为相对有效期时才能设置成Y + /// + [JsonProperty("auto_delay_flag")] + public string AutoDelayFlag { get; set; } + + /// + /// 活动预算 + /// + [JsonProperty("budget_info")] + public BudgetInfo BudgetInfo { get; set; } + + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 活动限制信息 + /// + [JsonProperty("constraint_info")] + public ConstraintInfo ConstraintInfo { get; set; } + + /// + /// 活动详细说明 不允许修改,必须与活动详情查询的结果保持一致 + /// + [JsonProperty("desc")] + public string Desc { get; set; } + + /// + /// 活动结束时间 活动结束时间只允许延长 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// 活动的扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 活动名称 不允许修改,必须与活动详情查询的结果保持一致 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 操作人id,必须和operator_type配对出现,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 外部批次ID,用户指定,每次请求保持唯一 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 营销工具集 + /// + [JsonProperty("promo_tools")] + + public List PromoTools { get; set; } + + /// + /// 投放渠道集,当活动类型为DIRECT_SEND或者REAL_TIME_SEND时必填,为CONSUME_SEND时必须为空 + /// + [JsonProperty("publish_channels")] + + public List PublishChannels { get; set; } + + /// + /// 招商工具 + /// + [JsonProperty("recruit_tool")] + public RecruitTool RecruitTool { get; set; } + + /// + /// 活动开始时间 不允许修改,必须与活动详情查询的结果保持一致 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// 活动类型 不允许修改,必须与活动详情查询的结果保持一致 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityOfflineModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityOfflineModel.cs new file mode 100644 index 0000000..69bae46 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityOfflineModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignActivityOfflineModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignActivityOfflineModel : AopObject + { + /// + /// 活动Id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 下架活动的扩展信息,不需要设置 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 操作人id,与operator_type必须配对存在,当不填的时候默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 外部批次ID,每次需传入不同的值 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 下架原因 + /// + [JsonProperty("reason")] + public string Reason { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityQueryModel.cs new file mode 100644 index 0000000..48edc71 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignActivityQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignActivityQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignActivityQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 操作人id,必须和operator_type配对出现,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignAssetDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignAssetDetailQueryModel.cs new file mode 100644 index 0000000..3a87742 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignAssetDetailQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignAssetDetailQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignAssetDetailQueryModel : AopObject + { + /// + /// 用户资产id,配合《用户口碑优惠资产查询接口》使用,返回券资产信息列表中的asset_id则为传递的入参值。 + /// + [JsonProperty("asset_id")] + public string AssetId { get; set; } + + /// + /// 资产类型(VOUCHER:券资产) 配合《用户口碑优惠资产查询接口》使用,返回券资产详情信息,则对应VOUCHER类型 + /// + [JsonProperty("asset_type")] + public string AssetType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignBenefitSendModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignBenefitSendModel.cs new file mode 100644 index 0000000..f87f156 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignBenefitSendModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignBenefitSendModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignBenefitSendModel : AopObject + { + /// + /// 领券渠道 + /// + [JsonProperty("channel")] + public string Channel { get; set; } + + /// + /// 优惠类型 + /// + [JsonProperty("discount_type")] + public string DiscountType { get; set; } + + /// + /// 触发权益的优惠id,当discount_type是ITEM的时候这个内容是商品id + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 外部流水号,用于控制幂等 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 领券的门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 支付宝用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdBatchqueryModel.cs new file mode 100644 index 0000000..f9b6f2c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignCrowdBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignCrowdBatchqueryModel : AopObject + { + /// + /// 人群名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 分页页码,从1开始计数,如果不填写默认为1 + /// + [JsonProperty("page_number")] + public string PageNumber { get; set; } + + /// + /// 分页大小,每页显示的数目,如果不填写默认为20 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdCountModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdCountModel.cs new file mode 100644 index 0000000..9187046 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdCountModel.cs @@ -0,0 +1,35 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignCrowdCountModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignCrowdCountModel : AopObject + { + /// + /// 圈人的条件 + /// op:表示操作符,目前支持EQ相等,GT大于,GTEQ大于等于,LT小于,LTEQ小于等于,NEQ不等,LIKE模糊匹配,IN在枚举范围内,NOTIN不在枚举范围内,BETWEEN范围比较,LEFTDAYS几天以内,RIGHTDAYS几天以外,LOCATE地理位置比较,LBS地图位置数据 + /// tagCode:标签code,详细标签code参见附件。 + /// 标签信息 value:标签值 + /// + [JsonProperty("conditions")] + public string Conditions { get; set; } + + /// + /// crowd_group_id和conditions不能同时为空 + /// 如果crowd_group_id不为空则根据crowd_group_id查询人群分组的信息进行统计,否则以conditions的内容为过滤条件进行统计,如果crowd_group_id和conditions都不为空则优先使用conditions的条件 + /// + [JsonProperty("crowd_group_id")] + public string CrowdGroupId { get; set; } + + /// + /// 画像分析的维度,目前支持:["pam_age","pam_gender","pam_constellation","pam_hometown_code","pam_city_code","pam_occupation","pam_consume_level","pam_have_baby"],以koubei.marketing.campaign.tags.query接口返回的dimensions为准,各个维度标签的详细信息参见附件, + /// 标签信息 + /// + [JsonProperty("dimensions")] + public string Dimensions { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdCreateModel.cs new file mode 100644 index 0000000..0da6849 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdCreateModel.cs @@ -0,0 +1,45 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignCrowdCreateModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignCrowdCreateModel : AopObject + { + /// + /// 圈人的条件 + /// op:表示操作符,目前支持EQ相等,GT大于,GTEQ大于等于,LT小于,LTEQ小于等于,NEQ不等,LIKE模糊匹配,IN在枚举范围内,NOTIN不在枚举范围内,BETWEEN范围比较,LEFTDAYS几天以内,RIGHTDAYS几天以外,LOCATE地理位置比较,LBS地图位置数据 + /// tagCode:标签code,详细标签code参见附件。 + /// 标签信息 value:标签值 + /// + [JsonProperty("conditions")] + public string Conditions { get; set; } + + /// + /// 人群组的名称 + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// 操作人id,必须和operator_type配对出现,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 外部流水号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdDeleteModel.cs new file mode 100644 index 0000000..9a07abe --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignCrowdDeleteModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignCrowdDeleteModel : AopObject + { + /// + /// 人群组的唯一标识ID + /// + [JsonProperty("crowd_group_id")] + public string CrowdGroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdDetailQueryModel.cs new file mode 100644 index 0000000..77d5e9b --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdDetailQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignCrowdDetailQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignCrowdDetailQueryModel : AopObject + { + /// + /// 人群组ID,人群组创建成功时返回的ID + /// + [JsonProperty("crowd_group_id")] + public string CrowdGroupId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdModifyModel.cs new file mode 100644 index 0000000..00725bc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignCrowdModifyModel.cs @@ -0,0 +1,45 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignCrowdModifyModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignCrowdModifyModel : AopObject + { + /// + /// 圈人的条件 + /// op:表示操作符,目前支持EQ相等,GT大于,GTEQ大于等于,LT小于,LTEQ小于等于,NEQ不等,LIKE模糊匹配,IN在枚举范围内,NOTIN不在枚举范围内,BETWEEN范围比较,LEFTDAYS几天以内,RIGHTDAYS几天以外,LOCATE地理位置比较,LBS地图位置数据 + /// tagCode:标签code,详细标签code参见附件。 + /// 标签信息 value:标签值 + /// + [JsonProperty("conditions")] + public string Conditions { get; set; } + + /// + /// 人群组的唯一标识ID + /// + [JsonProperty("crowd_group_id")] + public string CrowdGroupId { get; set; } + + /// + /// 操作人id,必须和operator_type配对出现,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_OPERATOR(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 外部流水号 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignDetailInfoQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignDetailInfoQueryModel.cs new file mode 100644 index 0000000..4be9ea8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignDetailInfoQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignDetailInfoQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignDetailInfoQueryModel : AopObject + { + /// + /// 营销活动id,配合《店铺优惠查询》接口使用,该接口返回camp_list列表中的biz_id则对应该id。 + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 适用门店限制返回数量 + /// + [JsonProperty("shop_limit_count")] + public long ShopLimitCount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignItemBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignItemBatchqueryModel.cs new file mode 100644 index 0000000..cbc55f8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignItemBatchqueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignItemBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignItemBatchqueryModel : AopObject + { + /// + /// 操作人id,必须和operator_type配对存在,不填时默认是商户 + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型,有以下值可填:MER(外部商户),MER_STAFF(外部商户操作员),PROVIDER(外部服务商),PROVIDER_STAFF(外部服务商员工),默认不需要填这个字段,默认为MER + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignItemQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignItemQueryModel.cs new file mode 100644 index 0000000..9b14287 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignItemQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignItemQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignItemQueryModel : AopObject + { + /// + /// 商品id + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 操作人id + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作员类型,MER=商户 + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignQrcodeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignQrcodeQueryModel.cs new file mode 100644 index 0000000..1915a44 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignQrcodeQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignQrcodeQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignQrcodeQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRecruitApplyQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRecruitApplyQueryModel.cs new file mode 100644 index 0000000..085b14f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRecruitApplyQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignRecruitApplyQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignRecruitApplyQueryModel : AopObject + { + /// + /// 运营活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 分页号 + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 分页大小,最大值200 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRecruitShopQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRecruitShopQueryModel.cs new file mode 100644 index 0000000..17cdb79 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRecruitShopQueryModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignRecruitShopQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignRecruitShopQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + + /// + /// 参与的商户Id + /// + [JsonProperty("invitee")] + public string Invitee { get; set; } + + /// + /// 操作人id + /// + [JsonProperty("operator_id")] + public string OperatorId { get; set; } + + /// + /// 操作人类型 + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 页码 + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 每页大小 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmCreateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmCreateModel.cs new file mode 100644 index 0000000..bb55a18 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmCreateModel.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignRetailDmCreateModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignRetailDmCreateModel : AopObject + { + /// + /// 第三方详情页链接:该商品/活动的详细介绍,注意:该字段需要过风控校验,不得传入敏感链接 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 促销结束时间,用于产品详情展示,格式为:2017-02-07 11:11:11。 注意开始时间要求早于结束时间 + /// + [JsonProperty("activity_end_time")] + public string ActivityEndTime { get; set; } + + /// + /// 促销开始时间,在产品详情中展示,格式为:2017-02-01 11:11:11。 注意:开始时间要求早于结束时间 + /// + [JsonProperty("activity_start_time")] + public string ActivityStartTime { get; set; } + + /// + /// 简要的促销说明,用于对促销的内容进行直接明了的说明(如会员价:10元)。注意:该字段需要过风控校验,不得传入敏感词。 + /// + [JsonProperty("brief")] + public string Brief { get; set; } + + /// + /// 活动类型:该活动是属于单品优惠,还是全场活动,单品优惠 SINGLE,全场优惠UNIVERSAL + /// + [JsonProperty("campaign_type")] + public string CampaignType { get; set; } + + /// + /// 优惠类型,全场优惠传入枚举值 比如:DISCOUNT(折扣),OFF(立减),CARD(集点),VOUCHER(代金),REDEMPTION(换购),EXCHANGE(兑换),GIFT(买赠),OTHERS(其他), + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 该活动的活动文案,主要涉及(活动时间、参与方式、活动力度),最多不得超过1024个字,注意:该字段需要过风控校验,不得传入敏感词 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 扩展备用信息,一些其他信息存入该字段 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 常规图片url,用于在展示图片的细节(通过alipay.offline.material.image.upload 接口上传视频/图片获取的资源id) + /// + [JsonProperty("image_id")] + public string ImageId { get; set; } + + /// + /// 品牌:该商品属于哪个牌子/该活动属于哪个商家(比如 海飞丝,统一,徐福记,立白......) + /// + [JsonProperty("item_brand")] + public string ItemBrand { get; set; } + + /// + /// 该商品/活动所属类别(吃的:食品 面膜:个人洗护 拖把:家庭清洁) + /// + [JsonProperty("item_category")] + public string ItemCategory { get; set; } + + /// + /// 商品编码,SKU或店内码,该编码由Isv系统传入 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 商品名称,单品优惠时传入商品名称;全场活动时传入活动名称,注意:该字段需要过风控校验,不得传入敏感词 + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 该商品/活动,是否是会员专享的,TRUE表示会员专享,FALSE表示非会员专享 + /// + [JsonProperty("member_only")] + public string MemberOnly { get; set; } + + /// + /// 适用外部门店id,传入该优惠适用口碑门店id,可以传入多个值,列表类型 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 4:3缩略图url,用于产品在店铺页简单规范的展示。 (通过alipay.offline.material.image.upload 接口上传视频/图片获取的资源id) + /// 注意:本图片会进行图片尺寸校验,不符合4:3尺寸则无法上传。 + /// + [JsonProperty("thumbnail_image_id")] + public string ThumbnailImageId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmModifyModel.cs new file mode 100644 index 0000000..7bfc92e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmModifyModel.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignRetailDmModifyModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignRetailDmModifyModel : AopObject + { + /// + /// 第三方详情页链接:该商品/活动的详细介绍,注意:该字段需要过风控校验,不得传入敏感链接 + /// + [JsonProperty("action_url")] + public string ActionUrl { get; set; } + + /// + /// 促销结束时间,用于产品详情展示,格式为:2017-02-07 11:11:11。 注意开始时间要求早于结束时间 + /// + [JsonProperty("activity_end_time")] + public string ActivityEndTime { get; set; } + + /// + /// 促销开始时间,在产品详情中展示,格式为:2017-02-01 11:11:11。 注意:开始时间要求早于结束时间 + /// + [JsonProperty("activity_start_time")] + public string ActivityStartTime { get; set; } + + /// + /// 简要的促销说明,用于对促销的内容进行直接明了的说明(如会员价:10元)。注意:该字段需要过风控校验,不得传入敏感词。 + /// + [JsonProperty("brief")] + public string Brief { get; set; } + + /// + /// 下架时间,基本格式:yyyy-MM-dd HH:mm:ss,下架时间必须晚于上架时间,下架时间不得早于当前时间,下架状态的内容不能上架,上架状态下架时间不能为空,只有上架状态可以修改下架时间。 + /// + [JsonProperty("campaign_end_time")] + public string CampaignEndTime { get; set; } + + /// + /// 活动类型:该活动是属于单品优惠,还是全场活动,单品优惠 SINGLE,全场优惠UNIVERSAL + /// + [JsonProperty("campaign_type")] + public string CampaignType { get; set; } + + /// + /// 内容ID,调用koubei.marketing.campaign.retail.dm.create创建内容时返回的内容ID + /// + [JsonProperty("content_id")] + public string ContentId { get; set; } + + /// + /// 优惠类型,全场优惠传入枚举值 比如:DISCOUNT(折扣),OFF(立减),CARD(集点),VOUCHER(代金),REDEMPTION(换购),EXCHANGE(兑换),GIFT(买赠),OTHERS(其他) + /// + [JsonProperty("coupon_type")] + public string CouponType { get; set; } + + /// + /// 该活动的活动文案,主要涉及(活动时间、参与方式、活动力度),最多不得超过1024个字,注意:该字段需要过风控校验,不得传入敏感词 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 扩展备用信息,一些其他信息存入该字段 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 图片url,该图片id只有一个,由Isv传入,(通过alipay.offline.material.image.upload 接口上传视频/图片获取的资源id)(图片的宽高比为4:3) + /// + [JsonProperty("image_id")] + public string ImageId { get; set; } + + /// + /// 品牌:该商品属于哪个牌子/该活动属于哪个商家(比如 海飞丝,统一,徐福记,立白......) + /// + [JsonProperty("item_brand")] + public string ItemBrand { get; set; } + + /// + /// 该商品/活动所属类别(吃的:食品 面膜:个人洗护 拖把:家庭清洁) + /// + [JsonProperty("item_category")] + public string ItemCategory { get; set; } + + /// + /// 商品编码,SKU或店内码,该编码由Isv系统传入 + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 商品名称,单品优惠时传入商品名称;全场活动时传入活动名称,注意:该字段需要过风控校验,不得传入敏感词 + /// + [JsonProperty("item_name")] + public string ItemName { get; set; } + + /// + /// 该商品/活动,是否是会员专享的,TRUE表示会员专享,FALSE表示非会员专享 + /// + [JsonProperty("member_only")] + public string MemberOnly { get; set; } + + /// + /// 适用外部门店id,传入该优惠适用口碑门店id,可以传入多个值,列表类型 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + + /// + /// 4:3缩略图url,用于产品在店铺页简单规范的展示。 (通过alipay.offline.material.image.upload 接口上传视频/图片获取的资源id) + /// 注意:本图片会进行图片尺寸校验,不符合4:3尺寸则无法上传。 + /// + [JsonProperty("thumbnail_image_id")] + public string ThumbnailImageId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmQueryModel.cs new file mode 100644 index 0000000..1318fbb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignRetailDmQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignRetailDmQueryModel : AopObject + { + /// + /// 内容id,通过调用koubei.marketing.campaign.retail.dm.create接口创建内容时返回的内容ID + /// + [JsonProperty("content_id")] + public string ContentId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmSetModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmSetModel.cs new file mode 100644 index 0000000..c9d0fd1 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignRetailDmSetModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignRetailDmSetModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignRetailDmSetModel : AopObject + { + /// + /// 下架时间,仅上架操作时使用,必须晚于当前时间 + /// + [JsonProperty("campaign_end_time")] + public string CampaignEndTime { get; set; } + + /// + /// 内容ID,调用koubei.marketing.campaign.retail.dm.create创建内容时返回的内容ID + /// + [JsonProperty("content_id")] + public string ContentId { get; set; } + + /// + /// 上下架操作类型,上架:ONLINE,下架:OFFLINE,注意:请先调用创建内容接口再进行上架操作,下架内容不得再上架。 + /// + [JsonProperty("operate_type")] + public string OperateType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignUserAssetQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignUserAssetQueryModel.cs new file mode 100644 index 0000000..53d14f8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignUserAssetQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignUserAssetQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignUserAssetQueryModel : AopObject + { + /// + /// 页码 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 每页显示数目(最大查询50) + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 查询范围:用户所有资产(USER_ALL_ASSET),用户指定商户可用资产(USER_MERCHANT_ASSET),用户指定门店可用资产(USER_SHOP_ASSET);指定USER_SHOP_ASSET必须传递shopid + /// + [JsonProperty("scope")] + public string Scope { get; set; } + + /// + /// 门店id,如果查询范围是门店,门店id不能为空 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignVoucherDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignVoucherDetailQueryModel.cs new file mode 100644 index 0000000..3e72c94 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingCampaignVoucherDetailQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingCampaignVoucherDetailQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingCampaignVoucherDetailQueryModel : AopObject + { + /// + /// 支付宝用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + + /// + /// 券id + /// + [JsonProperty("voucher_id")] + public string VoucherId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataActivityBillDownloadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataActivityBillDownloadModel.cs new file mode 100644 index 0000000..88edebc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataActivityBillDownloadModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataActivityBillDownloadModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataActivityBillDownloadModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataActivityReportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataActivityReportQueryModel.cs new file mode 100644 index 0000000..615f2a2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataActivityReportQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataActivityReportQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataActivityReportQueryModel : AopObject + { + /// + /// 查询报表数据的业务日期列表,精确到天,格式为yyyymmdd,支持列表格式,数据按天返回 + /// + [JsonProperty("biz_date")] + public string BizDate { get; set; } + + /// + /// 活动id + /// + [JsonProperty("camp_id")] + public string CampId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataAlisisReportBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataAlisisReportBatchqueryModel.cs new file mode 100644 index 0000000..2401127 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataAlisisReportBatchqueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataAlisisReportBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataAlisisReportBatchqueryModel : AopObject + { + /// + /// 当前页码 + /// + [JsonProperty("page")] + public string Page { get; set; } + + /// + /// 每页最大条数,最大为30 + /// + [JsonProperty("size")] + public string Size { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataAlisisReportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataAlisisReportQueryModel.cs new file mode 100644 index 0000000..e536a95 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataAlisisReportQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataAlisisReportQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataAlisisReportQueryModel : AopObject + { + /// + /// 报表查询过滤条件 + /// + [JsonProperty("conditions")] + + public List Conditions { get; set; } + + /// + /// 报表唯一标识 + /// + [JsonProperty("report_uk")] + public string ReportUk { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMemberprofileQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMemberprofileQueryModel.cs new file mode 100644 index 0000000..9ce8f4d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMemberprofileQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataBizadviserMemberprofileQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataBizadviserMemberprofileQueryModel : AopObject + { + /// + /// 会员分层,可传 ALL/4/3/2/1 五个值 传ALL查询所有分层的汇总; 传4查询 流失客层级的; 传3查询 过客层级的; 传2查询 新客层级的; 传1查询 回头客层级的; + /// + [JsonProperty("member_grade")] + public string MemberGrade { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMyddsreportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMyddsreportQueryModel.cs new file mode 100644 index 0000000..5345a9c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMyddsreportQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataBizadviserMyddsreportQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataBizadviserMyddsreportQueryModel : AopObject + { + /// + /// req_parameters是请求参数汇集的一个json串和格式如下; json串里需要传两个参数:shopId:门店Id memberType会员类型,1:会员、2:潜客。 "req_parameters": [{ + /// "paramKey": "shopId", "paramValue": "门店Id 的值" },{ "paramKey": "memberType", + /// "paramValue": "1" }] + /// + [JsonProperty("req_parameters")] + public string ReqParameters { get; set; } + + /// + /// uniq_key 为请求类型,传值为shopMemberHeatmap时查询门店会员/潜在会员 热力图数据; + /// + [JsonProperty("uniq_key")] + public string UniqKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMyreportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMyreportQueryModel.cs new file mode 100644 index 0000000..b6a34bd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataBizadviserMyreportQueryModel.cs @@ -0,0 +1,44 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataBizadviserMyreportQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataBizadviserMyreportQueryModel : AopObject + { + /// + /// 非必须参数,uniq_key不同,参数也不同: 参数格式如下: [ {"paramKey": " campStatus ","paramValue": " campStatusValue"} ] + /// 参数组织方式根据不同的uniqkey进行,规则如下 1、activityList:campStatus ,campStatus值为PROCESSING + /// 2、activityDetail:campId,campId值需要传要查询的活动ID 3、activityTop11ShopList:campId,campId值需要传要查询的活动ID + /// 4、activityTradeTrend:campId,campId值需要传要查询的活动ID 5、activityShopList:campId,campId值需要传要查询的活动ID + /// 6、codeSingleShopInfo:shopId,shopId店铺ID值 7、codeSingleShopTrend:shopId,shopId店铺ID值 7、cardMemberBigData:dimension + /// Dimension 对应关系 1- 性别;2-年龄;3-是否学生;4-是否有小孩;5-消费频率;6-消费金额;7-笔单价; 没有在此列举的uniq_key表示无需传入此参数; + /// + [JsonProperty("req_parameters")] + public string ReqParameters { get; set; } + + /// + /// uniq_key 是每次请求不同数据需要传不同的value,具体区别如下: 当uniq_key 为cardOperateSum时询经营分析卡片总数据; cardActivitySum时查营销活动总数据; + /// cardCodeSum时查营销 商户昨日扫码数据; cardOperateTrend时查经营分析趋势信息; cardOperateCodeTrend时查营销 商户扫码近期趋势 数据; activityList时查 + /// 活动交易明细列表 数据; activityDetail时查 活动交易明细查询 数据; activityTop11ShopList时查 近30天门店交易额排名Top11 数据; + /// activityTradeTrend时查单个活动金额趋势图 数据; tradeShopRank时查 近30天门店交易额排名 数据; activityShopList时查 门店活动交易明细列表 数据; + /// codeAllShopInfo时查 全部门店 活跃门店码数,活跃桌码数,到店非会员数数据; codeAllShopTrend时查 全部门店 扫码近期趋势 扫码次数、优惠领券、买单次数数据; + /// codeSingleShopInfo时查单个门店 活跃门店码数,活跃桌码数,到店非会员数数据; codeSingleShopTrend时查单个门店 扫码近期趋势 扫码次数、优惠领券、买单次数数据; + /// tradeTop11ShopList时查 近30天门店交易额排名Top11 数据; tradeUnitPrice时查 消费笔单价分布 数据; tradeDayTrend时查 按日趋势 数据; + /// tradeWeekTrend时查按周趋势 数据; tradeMonthTrend时查【交易】按月趋势 数据; memberPreTradeCnt时查【会员】上月交易笔数 数据; + /// cardMemberBigData时查会员大数据 数据; cardMemberSum时查会员总; cardMemberTotalMember时查会员数据汇总; cardMemberClassify时查会员分层数据; + /// memberCurTradeCnt时查当月交易笔数 数据; memberHierarchical时查商户会员分层查询; memberDefaultShop时查商户门店数 loginCount时查询登录次数; + /// + [JsonProperty("uniq_key")] + public string UniqKey { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportBatchqueryModel.cs new file mode 100644 index 0000000..52fdef8 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportBatchqueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataCustomreportBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataCustomreportBatchqueryModel : AopObject + { + /// + /// 当前页号,默认为1 + /// + [JsonProperty("page_no")] + public string PageNo { get; set; } + + /// + /// 每页条目数,默认为20,最大为30 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportDeleteModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportDeleteModel.cs new file mode 100644 index 0000000..248d5c4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportDeleteModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataCustomreportDeleteModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataCustomreportDeleteModel : AopObject + { + /// + /// 自定义报表规则的KEY + /// + [JsonProperty("condition_key")] + public string ConditionKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportDetailQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportDetailQueryModel.cs new file mode 100644 index 0000000..72d0d99 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportDetailQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataCustomreportDetailQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataCustomreportDetailQueryModel : AopObject + { + /// + /// 自定义报表的规则KEY + /// + [JsonProperty("condition_key")] + public string ConditionKey { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportQueryModel.cs new file mode 100644 index 0000000..8ad1f4f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportQueryModel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataCustomreportQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataCustomreportQueryModel : AopObject + { + /// + /// 规则KEY + /// + [JsonProperty("condition_key")] + public string ConditionKey { get; set; } + + /// + /// 额外增加的查询过滤条件 + /// + [JsonProperty("filter_tags")] + + public List FilterTags { get; set; } + + /// + /// 一次拉多少条 + /// + [JsonProperty("max_count")] + public string MaxCount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportSaveModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportSaveModel.cs new file mode 100644 index 0000000..9ac7f5a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataCustomreportSaveModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataCustomreportSaveModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataCustomreportSaveModel : AopObject + { + /// + /// 自定义报表规则条件信息 + /// + [JsonProperty("report_condition_info")] + public CustomReportCondition ReportConditionInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataDishdiagnoseBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataDishdiagnoseBatchqueryModel.cs new file mode 100644 index 0000000..25a4740 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataDishdiagnoseBatchqueryModel.cs @@ -0,0 +1,37 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataDishdiagnoseBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataDishdiagnoseBatchqueryModel : AopObject + { + /// + /// 查询菜品类型:001是明星菜品,002是潜力菜品,003是其他菜品(除明星菜品和潜力菜品之外的其他一律作为其他菜品 编号为003)。 2- + /// 如果要查询所有的则传入999。具体的值可以通过koubei.marketing.data.dishdiagnosetype.batchquery来查询,同时会返回类型与说明 + /// + [JsonProperty("item_diagnose_type")] + public string ItemDiagnoseType { get; set; } + + /// + /// 从第一页开始,默认值1 + /// + [JsonProperty("page_no")] + public long PageNo { get; set; } + + /// + /// 每页大小,默认值50,同时page_size*page_no最多条数是300条,查询请注意。超过后不会再返回数据。 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + + /// + /// 查询数据时间,最新数据是昨天的。T-1的数据,最大保留30天,格式:YYYYMMDD。比如20170103 + /// + [JsonProperty("report_date")] + public string ReportDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataEnterpriseStaffinfoUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataEnterpriseStaffinfoUploadModel.cs new file mode 100644 index 0000000..f19ccfa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataEnterpriseStaffinfoUploadModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataEnterpriseStaffinfoUploadModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataEnterpriseStaffinfoUploadModel : AopObject + { + /// + /// 请求流水号,由ISV自定义,在ISV系统内唯一标示一次业务请求。 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 企业名称 (参数说明:一个企业名称只能对应一个crowid,重复上传同一个企业名称,返回的crowid是同一个,upload包含创建和修改逻辑,同一个企业名称第一次上传是创建、后面再上传相同的企业名称就走修改逻辑) + /// + [JsonProperty("enterprise_name")] + public string EnterpriseName { get; set; } + + /// + /// 操作类型: UPLOAD (上传、修改) DEL(删除) 参数说明:DEL删除场景删除的是企业名称对应的用户uid信息 + /// + [JsonProperty("operator_type")] + public string OperatorType { get; set; } + + /// + /// 上传的企业员工信息列表,单次做多上传500个 + /// + [JsonProperty("staff_info")] + + public List StaffInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataIndicatorQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataIndicatorQueryModel.cs new file mode 100644 index 0000000..d41a562 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataIndicatorQueryModel.cs @@ -0,0 +1,49 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataIndicatorQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataIndicatorQueryModel : AopObject + { + /// + /// 开始日期,格式:yyyyMMdd + /// + [JsonProperty("begin_date")] + public string BeginDate { get; set; } + + /// + /// 业务类型,可选值有六个 1,MemberQuery 商户会员数据查询 2,MemberQueryByStore 门店会员数据查询 3,TradeQuery 商户交易数据查询 4,TradeQueryByStore + /// 门店交易数据查询 5,CampaignQuery 商户活动数据查询 6,CampaignQueryByStore 门店活动数据查询 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 结束日期 格式:yyyyMMdd + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// camp_id:为活动ID sort_field:为排序指标KEY sort_type:ASC表示升序,DESC表示降序 store_Ids:为门店ID,多个门店使用逗号分隔 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 当前页数,默认为1 + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 每页记录数,不能超过50,默认为20 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataIsvShopQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataIsvShopQueryModel.cs new file mode 100644 index 0000000..88fdbdb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataIsvShopQueryModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataIsvShopQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataIsvShopQueryModel : AopObject + { + /// + /// 门店ID列表(单次最多查询100个门店) + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMallDiscountQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMallDiscountQueryModel.cs new file mode 100644 index 0000000..aba253a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMallDiscountQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataMallDiscountQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataMallDiscountQueryModel : AopObject + { + /// + /// 商圈id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMallIndicatorQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMallIndicatorQueryModel.cs new file mode 100644 index 0000000..1d4aa6e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMallIndicatorQueryModel.cs @@ -0,0 +1,50 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataMallIndicatorQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataMallIndicatorQueryModel : AopObject + { + /// + /// 开始日期,格式:yyyyMMdd + /// + [JsonProperty("begin_date")] + public string BeginDate { get; set; } + + /// + /// 业务类型,目前可选值有5个 1,mallIndustryMemberStatistics 商户会员统计信息 2,mallIndustryTradeStatistics 行业交易统计信息 + /// 3,mallIndustryEventStatistics 行业活动统计信息 4,mallIndustryInfo 最新的行业维表信息 5,mallIndustryConsumptionStatistics + /// MALL消费能力统计信息 + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 结束日期,格式:yyyyMMdd + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } + + /// + /// camp_id:为活动ID order_by:为排序指标KEY,目前只支持文档中给出的例子字段 order_type:ASC表示升序,DESC表示降序 cate_1_ids:为门店ID,多个门店使用逗号分隔 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 当前页数,默认为1 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 每页记录数,不能超过50。默认为20 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMemberReportQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMemberReportQueryModel.cs new file mode 100644 index 0000000..b88fa4d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMemberReportQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataMemberReportQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataMemberReportQueryModel : AopObject + { + /// + /// 查询报表数据的业务日期,精确到天,格式为yyyymmdd,数据按天返回 + /// + [JsonProperty("biz_date")] + public string BizDate { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMessageDeliverModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMessageDeliverModel.cs new file mode 100644 index 0000000..eed045a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataMessageDeliverModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataMessageDeliverModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataMessageDeliverModel : AopObject + { + /// + /// 消息内容,json格式, KEY值编号递增 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 扩展信息, json格式, key值: REDIRECT_URL跳转地址; CHANNEL发送渠道,对应value值为:MSGBOX消息盒子,PUSH手机消息通知 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 消息业务类型 活动推荐消息:PROMO_RECOMMEND; 活动效果消息: PROMO_STAT + /// + [JsonProperty("msg_type")] + public string MsgType { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataRetailDmQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataRetailDmQueryModel.cs new file mode 100644 index 0000000..7be959e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataRetailDmQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataRetailDmQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataRetailDmQueryModel : AopObject + { + /// + /// 内容ID,调用koubei.marketing.campaign.retail.dm.create创建内容时返回的内容ID + /// + [JsonProperty("content_id")] + public string ContentId { get; set; } + + /// + /// 门店ID + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataSmartactivityConfigModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataSmartactivityConfigModel.cs new file mode 100644 index 0000000..81dc841 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataSmartactivityConfigModel.cs @@ -0,0 +1,20 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataSmartactivityConfigModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataSmartactivityConfigModel : AopObject + { + /// + /// 诊断结果CODE,目前有如下四个值 TRADE_RATE 流失会员占比高 USER_COUNT 会员数量少 REPAY_RATE 复购率低 SUPER_ITEM 建议打造单品爆款(适用于菜品营销) + /// 注意:当入参的诊断码为SUPER_ITEM表示菜品营销的诊断时,下面的返回结果中如果有多个菜品时,下面各活动配置的参数使用竖线|来将各个值分隔。例如:菜品名称item_name的值:剁椒鱼头|鱼香茄子,使用横线-表示为空的数据,例如:领券门槛min_cost的值如果没有则返回 + /// -|-,返回和item_id数量一致的横线 + /// + [JsonProperty("diagnose_code")] + public string DiagnoseCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataSmartactivityForecastModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataSmartactivityForecastModel.cs new file mode 100644 index 0000000..83784cc --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataSmartactivityForecastModel.cs @@ -0,0 +1,34 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataSmartactivityForecastModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataSmartactivityForecastModel : AopObject + { + /// + /// 活动配置CODE + /// + [JsonProperty("config_code")] + public string ConfigCode { get; set; } + + /// + /// 诊断结果CODE,目前有如下四个值 TRADE_RATE 流失会员占比高 USER_COUNT 会员数量少 REPAY_RATE 复购率低 COMPOSED_ACTIVITY 方案组诊断 + /// 当入参为TRADE_RATE和USER_COUNT时暂时不支持预测,会返回错误码UNSUPPORT_PARAMETER + /// + [JsonProperty("diagnose_code")] + public string DiagnoseCode { get; set; } + + /// + /// 可选参数有如下几个: worth_value:奖品面额,可以阶梯送数据(示例:10|20|30)单位:分 min_consume:门槛,可以阶梯送数据(示例:100|200|300)单位:分 + /// voucher_valid_days:券有效期天数 activity_valid_days:活动有效期天数 min_cost:领券门槛,可以阶梯送数据(示例:100|200|300)单位:分 + /// unconsume_days:会员流失天数 crowd_group:人群对象 consume_code:消费送活动形式包含 commission_rate:口碑客分佣比例 + /// 注意:对于消费送数据,min_consume/min_cost/worth_value是必填的且必须成组出现,对于诊断码为COMPOSED_ACTIVITY的预测,必须传入全量数据,并且各个参数使用竖线分隔多个值的场景 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataTradeHabbitQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataTradeHabbitQueryModel.cs new file mode 100644 index 0000000..9b1642c --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingDataTradeHabbitQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingDataTradeHabbitQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingDataTradeHabbitQueryModel : AopObject + { + /// + /// 业务日期 + /// + [JsonProperty("biz_date")] + public string BizDate { get; set; } + + /// + /// 门店列表,门店用逗号分割,最多支持10个门店。 不填时,则为商户维度汇总数据 + /// + [JsonProperty("store_ids")] + public string StoreIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingMallShoppromoinfoQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingMallShoppromoinfoQueryModel.cs new file mode 100644 index 0000000..bd700f0 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingMallShoppromoinfoQueryModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingMallShoppromoinfoQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingMallShoppromoinfoQueryModel : AopObject + { + /// + /// 商圈id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + + /// + /// 商圈下店铺id列表 + /// + [JsonProperty("shop_ids")] + + public List ShopIds { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingMallTradeSubscribeModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingMallTradeSubscribeModel.cs new file mode 100644 index 0000000..bb3b87a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingMallTradeSubscribeModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingMallTradeSubscribeModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingMallTradeSubscribeModel : AopObject + { + /// + /// 卡模版id + /// + [JsonProperty("card_template_id")] + public string CardTemplateId { get; set; } + + /// + /// 商圈id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolIsvMerchantQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolIsvMerchantQueryModel.cs new file mode 100644 index 0000000..3ab479e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolIsvMerchantQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingToolIsvMerchantQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingToolIsvMerchantQueryModel : AopObject + { + /// + /// 页码 + /// + [JsonProperty("page_num")] + public string PageNum { get; set; } + + /// + /// 每页大小 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolMallPointsSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolMallPointsSyncModel.cs new file mode 100644 index 0000000..47a8945 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolMallPointsSyncModel.cs @@ -0,0 +1,72 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingToolMallPointsSyncModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingToolMallPointsSyncModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("activity_id")] + public string ActivityId { get; set; } + + /// + /// 业务类型(目前只有点卡) + /// + [JsonProperty("biz_type")] + public string BizType { get; set; } + + /// + /// 渲染截止时间 + /// + [JsonProperty("gmt_end")] + public string GmtEnd { get; set; } + + /// + /// 卡片展示内容,卡片如果没有集的count设置为0,本次交易获取的卡片需设置is_new的值为true + /// + [JsonProperty("json_content")] + public string JsonContent { get; set; } + + /// + /// 商圈id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + + /// + /// trade|lottery|system,表示为交易|领取礼包|系统调整 + /// + [JsonProperty("operate")] + public string Operate { get; set; } + + /// + /// 外部幂等id + /// + [JsonProperty("out_biz_id")] + public string OutBizId { get; set; } + + /// + /// collecting|collectSuccess|finish字段中的一种 + /// + [JsonProperty("state")] + public string State { get; set; } + + /// + /// 支付宝交易号 + /// + [JsonProperty("trade_id")] + public string TradeId { get; set; } + + /// + /// 用户id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPointsQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPointsQueryModel.cs new file mode 100644 index 0000000..c1089e7 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPointsQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingToolPointsQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingToolPointsQueryModel : AopObject + { + /// + /// 活动积分帐户 + /// + [JsonProperty("activity_account")] + public string ActivityAccount { get; set; } + + /// + /// 用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPointsUpdateModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPointsUpdateModel.cs new file mode 100644 index 0000000..4f41538 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPointsUpdateModel.cs @@ -0,0 +1,66 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingToolPointsUpdateModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingToolPointsUpdateModel : AopObject + { + /// + /// 活动集点帐户ID, 开发者通过查询集点活动详情获取 + /// + [JsonProperty("activity_account")] + public string ActivityAccount { get; set; } + + /// + /// 业务流水号,集点交易类型为 DEPOSIT, 传入支付交易号; CANCEL/COMMIT, 传入冻结集点的集点流水号; CONSUME/FREEZE, 不允许传入biz_no; + /// + [JsonProperty("biz_no")] + public string BizNo { get; set; } + + /// + /// 扩展信息 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 交易备注 + /// + [JsonProperty("memo")] + public string Memo { get; set; } + + /// + /// 外部流水号, 由开发者提供, 用于控制业务幂等 + /// + [JsonProperty("req_id")] + public string ReqId { get; set; } + + /// + /// 门店ID,集点交易类型为DEPOSIT时填写 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 集点交易数量,必须为正整数字符串 + /// + [JsonProperty("trans_amount")] + public string TransAmount { get; set; } + + /// + /// 集点交易类型,目前支持: DEPOSIT,增加集点 FREEZE,冻结集点 COMMIT,提交冻结集点 CANCEL,取消冻结集点 CONSUME, 消费集点 + /// + [JsonProperty("trans_type")] + public string TransType { get; set; } + + /// + /// 用户ID, 开发者通过用户信息授权产品获取 + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPrizesendAuthModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPrizesendAuthModel.cs new file mode 100644 index 0000000..42bd575 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMarketingToolPrizesendAuthModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMarketingToolPrizesendAuthModel Data Structure. + /// + [Serializable] + public class KoubeiMarketingToolPrizesendAuthModel : AopObject + { + /// + /// 奖品ID + /// + [JsonProperty("prize_id")] + public string PrizeId { get; set; } + + /// + /// 外部流水号,保证业务幂等性 + /// + [JsonProperty("req_id")] + public string ReqId { get; set; } + + /// + /// 发奖用户ID + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMemberDataOauthQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMemberDataOauthQueryModel.cs new file mode 100644 index 0000000..1cb1f83 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiMemberDataOauthQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiMemberDataOauthQueryModel Data Structure. + /// + [Serializable] + public class KoubeiMemberDataOauthQueryModel : AopObject + { + /// + /// 授权业务类型,目前统一只有pay_member + /// + [JsonProperty("auth_type")] + public string AuthType { get; set; } + + /// + /// 授权码,用于换取授权信息如操作人id等.获取方式:跳转isv地址中会带有此code参数。auth_code一次有效,auth_code有效期为3分钟到24小时(开放平台规则会根据具体的业务场景动态调整auth_code的有效期,但是不会低于3分钟,同时也不会超过24小时),超过有效期的auth_code即使未使用也将无法使用。用户的每次授权动作都会生成一个新的auth_code。 + /// + [JsonProperty("code")] + public string Code { get; set; } + + /// + /// 扩展参数,目前保留未用,开发者请忽略此参数 + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiOperationContext.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiOperationContext.cs new file mode 100644 index 0000000..f3945b2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiOperationContext.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiOperationContext Data Structure. + /// + [Serializable] + public class KoubeiOperationContext : AopObject + { + /// + /// 如果是isv代操作,请传入ISV;如果是其他角色(商户MERCHANT、服务商PROVIDER、服务商员工S_STAFF、商户员工M_STAFF)操作,不用填写。 + /// + [JsonProperty("op_role")] + public string OpRole { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptActivityQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptActivityQueryModel.cs new file mode 100644 index 0000000..ff97355 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptActivityQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiQualityTestCloudacptActivityQueryModel Data Structure. + /// + [Serializable] + public class KoubeiQualityTestCloudacptActivityQueryModel : AopObject + { + /// + /// partener id + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// user id + /// + [JsonProperty("uid")] + public string Uid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptBatchQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptBatchQueryModel.cs new file mode 100644 index 0000000..c15980d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptBatchQueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiQualityTestCloudacptBatchQueryModel Data Structure. + /// + [Serializable] + public class KoubeiQualityTestCloudacptBatchQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("activity_id")] + public string ActivityId { get; set; } + + /// + /// partener id + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// user id + /// + [JsonProperty("uid")] + public string Uid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptCheckresultSubmitModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptCheckresultSubmitModel.cs new file mode 100644 index 0000000..f6088bb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptCheckresultSubmitModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiQualityTestCloudacptCheckresultSubmitModel Data Structure. + /// + [Serializable] + public class KoubeiQualityTestCloudacptCheckresultSubmitModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("activity_id")] + public string ActivityId { get; set; } + + /// + /// 付款码 + /// + [JsonProperty("auth_code")] + public string AuthCode { get; set; } + + /// + /// 批次ID + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 结束时间 + /// + [JsonProperty("end_time")] + public string EndTime { get; set; } + + /// + /// partenter id + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// 开始时间 + /// + [JsonProperty("start_time")] + public string StartTime { get; set; } + + /// + /// user id + /// + [JsonProperty("uid")] + public string Uid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptItemQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptItemQueryModel.cs new file mode 100644 index 0000000..c63b89a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiQualityTestCloudacptItemQueryModel.cs @@ -0,0 +1,36 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiQualityTestCloudacptItemQueryModel Data Structure. + /// + [Serializable] + public class KoubeiQualityTestCloudacptItemQueryModel : AopObject + { + /// + /// 活动id + /// + [JsonProperty("activity_id")] + public string ActivityId { get; set; } + + /// + /// 批次id + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// partener id + /// + [JsonProperty("pid")] + public string Pid { get; set; } + + /// + /// user id + /// + [JsonProperty("uid")] + public string Uid { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailInstanceQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailInstanceQueryModel.cs new file mode 100644 index 0000000..31b3d37 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailInstanceQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiRetailInstanceQueryModel Data Structure. + /// + [Serializable] + public class KoubeiRetailInstanceQueryModel : AopObject + { + /// + /// 当前页码,最小1 + /// + [JsonProperty("page_num")] + public long PageNum { get; set; } + + /// + /// 一次请求返回的数据量,最小1~50整数 + /// + [JsonProperty("page_size")] + public long PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailInstanceTransferModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailInstanceTransferModel.cs new file mode 100644 index 0000000..1f94149 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailInstanceTransferModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiRetailInstanceTransferModel Data Structure. + /// + [Serializable] + public class KoubeiRetailInstanceTransferModel : AopObject + { + /// + /// json格式的置顶的券id列表信息,id的顺序指定置顶的券的顺序 + /// + [JsonProperty("instance_id_list")] + public string InstanceIdList { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemBatchqueryModel.cs new file mode 100644 index 0000000..b3af4bb --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemBatchqueryModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiRetailShopitemBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiRetailShopitemBatchqueryModel : AopObject + { + /// + /// 查询店铺商品查询入参 + /// + [JsonProperty("shop_items")] + + public List ShopItems { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemModifyModel.cs new file mode 100644 index 0000000..41a01aa --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemModifyModel.cs @@ -0,0 +1,54 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiRetailShopitemModifyModel Data Structure. + /// + [Serializable] + public class KoubeiRetailShopitemModifyModel : AopObject + { + /// + /// 店铺商品的品牌名称 + /// + [JsonProperty("brand_code")] + public string BrandCode { get; set; } + + /// + /// 店铺商品的商品类别 + /// + [JsonProperty("category_code")] + public string CategoryCode { get; set; } + + /// + /// 商品描述 + /// + [JsonProperty("description")] + public string Description { get; set; } + + /// + /// 店铺商品SKU + /// + [JsonProperty("item_code")] + public string ItemCode { get; set; } + + /// + /// 口碑门店id + /// + [JsonProperty("kb_shop_id")] + public string KbShopId { get; set; } + + /// + /// 参考价格 + /// + [JsonProperty("price")] + public string Price { get; set; } + + /// + /// 店铺商品的名称 + /// + [JsonProperty("title")] + public string Title { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemUploadModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemUploadModel.cs new file mode 100644 index 0000000..158355f --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiRetailShopitemUploadModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiRetailShopitemUploadModel Data Structure. + /// + [Serializable] + public class KoubeiRetailShopitemUploadModel : AopObject + { + /// + /// 上传的商品集合 + /// + [JsonProperty("shop_items")] + + public List ShopItems { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffOrdersresultSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffOrdersresultSyncModel.cs new file mode 100644 index 0000000..9b9f97a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffOrdersresultSyncModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiSalesKbassetStuffOrdersresultSyncModel Data Structure. + /// + [Serializable] + public class KoubeiSalesKbassetStuffOrdersresultSyncModel : AopObject + { + /// + /// 物料单据反馈列表,最大200条 + /// + [JsonProperty("orders_feedback")] + + public List OrdersFeedback { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffProduceorderBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffProduceorderBatchqueryModel.cs new file mode 100644 index 0000000..a9f2e4e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffProduceorderBatchqueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiSalesKbassetStuffProduceorderBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiSalesKbassetStuffProduceorderBatchqueryModel : AopObject + { + /// + /// 每页容量:最小1,最大100 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffProduceqrcodeBatchqueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffProduceqrcodeBatchqueryModel.cs new file mode 100644 index 0000000..ab6ca31 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffProduceqrcodeBatchqueryModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiSalesKbassetStuffProduceqrcodeBatchqueryModel Data Structure. + /// + [Serializable] + public class KoubeiSalesKbassetStuffProduceqrcodeBatchqueryModel : AopObject + { + /// + /// 口碑批次号 + /// + [JsonProperty("batch_id")] + public string BatchId { get; set; } + + /// + /// 每页容量,最小1,最大100 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + + /// + /// 生产单号 + /// + [JsonProperty("produce_order_id")] + public string ProduceOrderId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffPurchaseorderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffPurchaseorderQueryModel.cs new file mode 100644 index 0000000..b196f46 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffPurchaseorderQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiSalesKbassetStuffPurchaseorderQueryModel Data Structure. + /// + [Serializable] + public class KoubeiSalesKbassetStuffPurchaseorderQueryModel : AopObject + { + /// + /// 每页大小:最小1,最大100 + /// + [JsonProperty("page_size")] + public string PageSize { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffPurordersendSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffPurordersendSyncModel.cs new file mode 100644 index 0000000..9130df5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffPurordersendSyncModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiSalesKbassetStuffPurordersendSyncModel Data Structure. + /// + [Serializable] + public class KoubeiSalesKbassetStuffPurordersendSyncModel : AopObject + { + /// + /// 供应商同步的发货信息及物流信息记录(最多100条) + /// + [JsonProperty("purchase_order_sends")] + + public List PurchaseOrderSends { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffQrcodereturnSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffQrcodereturnSyncModel.cs new file mode 100644 index 0000000..d82333a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiSalesKbassetStuffQrcodereturnSyncModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiSalesKbassetStuffQrcodereturnSyncModel Data Structure. + /// + [Serializable] + public class KoubeiSalesKbassetStuffQrcodereturnSyncModel : AopObject + { + /// + /// 供应商回传码物料码值记录(最多200条) + /// + [JsonProperty("return_qrcodes")] + + public List ReturnQrcodes { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopExternalDataSyncModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopExternalDataSyncModel.cs new file mode 100644 index 0000000..a5a6786 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopExternalDataSyncModel.cs @@ -0,0 +1,49 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiShopExternalDataSyncModel Data Structure. + /// + [Serializable] + public class KoubeiShopExternalDataSyncModel : AopObject + { + /// + /// 操作类型:Bind:建立口碑门店和饿了么外卖关系 unBind:解除口碑门店和饿了么外卖关系 sync:同步门店营业时间、营业状态、店铺状态 + /// + [JsonProperty("action")] + public string Action { get; set; } + + /// + /// shop_status:OPEN(生效)||CLOSE(失效) ,饿了么签约状态 business_time:08:00-11:30,13:00-20:30,营业时间,多个逗号分隔 + /// business_status:OPEN(营业)||CLOSE(歇业) 饿了么营业状态。 + /// + [JsonProperty("content")] + public string Content { get; set; } + + /// + /// 数据来源。固定值:elm + /// + [JsonProperty("data_source")] + public string DataSource { get; set; } + + /// + /// 数据版本(时间戳)。用于判断请求是否乱序。 + /// + [JsonProperty("data_version")] + public long DataVersion { get; set; } + + /// + /// 外部的门店id + /// + [JsonProperty("external_shop_id")] + public string ExternalShopId { get; set; } + + /// + /// 口碑店铺Id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallAuditQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallAuditQueryModel.cs new file mode 100644 index 0000000..3fe7948 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallAuditQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiShopMallAuditQueryModel Data Structure. + /// + [Serializable] + public class KoubeiShopMallAuditQueryModel : AopObject + { + /// + /// koubei.shop.mall.page.modify(商圈主页地址创建修改接口)中 返回的工单id + /// + [JsonProperty("order_flow_id")] + public string OrderFlowId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallPageModifyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallPageModifyModel.cs new file mode 100644 index 0000000..9412b6a --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallPageModifyModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiShopMallPageModifyModel Data Structure. + /// + [Serializable] + public class KoubeiShopMallPageModifyModel : AopObject + { + /// + /// 商圈id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + + /// + /// 商圈访问地址 + /// + [JsonProperty("mall_url")] + public string MallUrl { get; set; } + + /// + /// 废弃!,务传。 + /// + [JsonProperty("out_biz_id")] + public string OutBizId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallPageQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallPageQueryModel.cs new file mode 100644 index 0000000..5b75a94 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiShopMallPageQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiShopMallPageQueryModel Data Structure. + /// + [Serializable] + public class KoubeiShopMallPageQueryModel : AopObject + { + /// + /// 商圈id + /// + [JsonProperty("mall_id")] + public string MallId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeItemBuyModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeItemBuyModel.cs new file mode 100644 index 0000000..82f1fd4 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeItemBuyModel.cs @@ -0,0 +1,84 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiTradeItemBuyModel Data Structure. + /// + [Serializable] + public class KoubeiTradeItemBuyModel : AopObject + { + /// + /// 预定用户的联系号码。要求合法的手机号码或者座机;该字段仅用于商品预定,商品预定场景为必填字段。如:0579-XXXXXXX;1526XXXXXXX + /// + [JsonProperty("buyer_phone_number")] + public string BuyerPhoneNumber { get; set; } + + /// + /// 预定的买家用户名称;该字段仅用于商品预定,商品预定场景下为必填字段 + /// + [JsonProperty("buyer_user_name")] + public string BuyerUserName { get; set; } + + /// + /// 若无现价则此值传商品原价,交易创建将根据此价格进行售卖。 传入的价格最多可有两位小数,最大值不可超过5000,超过则会报错。 + /// + [JsonProperty("current_price")] + public string CurrentPrice { get; set; } + + /// + /// 额外描述信息,比如预定时间信息,需要以“字段1:描述1;字段2:描述2;....“方式传入。标点符号限制集如下,不能传下列标点之外的标点符号:..!.{},:()"[],。!!,/>"{},:",??。!!\[\]]=+_@#$%* + /// + [JsonProperty("ext_info")] + public string ExtInfo { get; set; } + + /// + /// 商品ID + /// + [JsonProperty("item_id")] + public string ItemId { get; set; } + + /// + /// 原价,传入的价格最多可有两位小数,超过则会报错 + /// + [JsonProperty("original_price")] + public string OriginalPrice { get; set; } + + /// + /// 外部业务流水编号,推荐:yyyymmddhhmmssSSS99999999(年月日时分秒+8位随机码),开发者可根据该编号与口碑订单一一对应。本订单创建行为的流水ID,用于平台做幂等控制 + /// + [JsonProperty("out_biz_no")] + public string OutBizNo { get; set; } + + /// + /// 商户pid + /// + [JsonProperty("partner_id")] + public string PartnerId { get; set; } + + /// + /// 购买数量,最大传入20,否则下单页会报错 + /// + [JsonProperty("quantity")] + public long Quantity { get; set; } + + /// + /// 预定结束时间;该字段仅用于商品预定,商品预定场景下为非必填字段。 格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("reserve_end_time")] + public string ReserveEndTime { get; set; } + + /// + /// 预定开始时间;该字段仅用于商品预定,商品预定场景下为必填字段 格式:yyyy-MM-dd HH:mm:ss + /// + [JsonProperty("reserve_start_time")] + public string ReserveStartTime { get; set; } + + /// + /// 店铺ID,用于后续统计商家各门店的售卖,需传入口碑店铺id,取值规则见FAQ常见问题。https://doc.open.alipay.com/docs/doc.htm?&docType=1&articleId=105746 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeOrderConsultModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeOrderConsultModel.cs new file mode 100644 index 0000000..837e1df --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeOrderConsultModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiTradeOrderConsultModel Data Structure. + /// + [Serializable] + public class KoubeiTradeOrderConsultModel : AopObject + { + /// + /// 商品明细列表。注意:单品总金额不能大于订单金额 + /// + [JsonProperty("goods_info")] + + public List GoodsInfo { get; set; } + + /// + /// 唯一请求id,开放者请确保每次请求的唯一性 + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 支付宝门店编号 + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 订单总金额,单位元,精确到小数点后两位,取值范围[0.01,999999999] 如果同时传入了【不可打折金额】,【订单总金额】两者,则必须满足【不可打折金额】<=【订单总金额】 + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + + /// + /// 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0,999999999] 如果同时传入了【不可打折金额】、【订单总金额】,则必须满足【不可打折金额】<=【订单总金额】 + /// + [JsonProperty("undiscountable_amount")] + public string UndiscountableAmount { get; set; } + + /// + /// 支付宝用户Id + /// + [JsonProperty("user_id")] + public string UserId { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeOrderQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeOrderQueryModel.cs new file mode 100644 index 0000000..e9b8dcd --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeOrderQueryModel.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiTradeOrderQueryModel Data Structure. + /// + [Serializable] + public class KoubeiTradeOrderQueryModel : AopObject + { + /// + /// 口碑订单号 + /// + [JsonProperty("order_no")] + public string OrderNo { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeTicketTicketcodeQueryModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeTicketTicketcodeQueryModel.cs new file mode 100644 index 0000000..3d546e3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeTicketTicketcodeQueryModel.cs @@ -0,0 +1,24 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiTradeTicketTicketcodeQueryModel Data Structure. + /// + [Serializable] + public class KoubeiTradeTicketTicketcodeQueryModel : AopObject + { + /// + /// 口碑门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 12位的券码,券码为纯数字,且唯一不重复 + /// + [JsonProperty("ticket_code")] + public string TicketCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeTicketTicketcodeUseModel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeTicketTicketcodeUseModel.cs new file mode 100644 index 0000000..91ce258 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeTicketTicketcodeUseModel.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiTradeTicketTicketcodeUseModel Data Structure. + /// + [Serializable] + public class KoubeiTradeTicketTicketcodeUseModel : AopObject + { + /// + /// 外部请求号,支持英文字母和数字,由开发者自行定义(不允许重复) + /// + [JsonProperty("request_id")] + public string RequestId { get; set; } + + /// + /// 口碑门店id + /// + [JsonProperty("shop_id")] + public string ShopId { get; set; } + + /// + /// 12位的券码,券码为纯数字,且唯一不重复 + /// + [JsonProperty("ticket_code")] + public string TicketCode { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeVoucherItemTemplete.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeVoucherItemTemplete.cs new file mode 100644 index 0000000..52654b5 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/KoubeiTradeVoucherItemTemplete.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// KoubeiTradeVoucherItemTemplete Data Structure. + /// + [Serializable] + public class KoubeiTradeVoucherItemTemplete : AopObject + { + /// + /// 购买须知,列表类型,最多10项 + /// + [JsonProperty("buyer_notes")] + + public List BuyerNotes { get; set; } + + /// + /// 表示是否支持预定,支持“T”, 不支持“F” + /// + [JsonProperty("support_book")] + public string SupportBook { get; set; } + + /// + /// 购买有效期:商品自购买起多长时间内有效,取值范围 + /// 7-360,单位天。举例,如果是7的话,是到第七天晚上23:59:59失效。商品购买后,没有在有效期内核销,则自动退款给用户。举例:买了一个高级造型师洗剪吹的商品,有效期一个月,如果一个月之后,用户没有使用商品来进行洗剪吹的服务,则自动退款给用户。 + /// + [JsonProperty("validity_period")] + public string ValidityPeriod { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelContext.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelContext.cs new file mode 100644 index 0000000..8951156 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelContext.cs @@ -0,0 +1,18 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LabelContext Data Structure. + /// + [Serializable] + public class LabelContext : AopObject + { + /// + /// 标签组发圈人的单个过滤器信息 + /// + [JsonProperty("a")] + public LabelFilter A { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelFilter.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelFilter.cs new file mode 100644 index 0000000..61ad1d2 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelFilter.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LabelFilter Data Structure. + /// + [Serializable] + public class LabelFilter : AopObject + { + /// + /// 标签组名,商户自定义的标签固定为label_id_list,支付宝开放的标签详见 + /// 支付宝开放标签 + /// + [JsonProperty("column_name")] + public string ColumnName { get; set; } + + /// + /// 操作符,支持=、!=、in三个操作符;其中in表示是某几个标签中的一个 + /// + [JsonProperty("op")] + public string Op { get; set; } + + /// + /// 标签数组,用于组装最后的表达式 + /// + [JsonProperty("values")] + + public List Values { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelRule.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelRule.cs new file mode 100644 index 0000000..c7e3268 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LabelRule.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LabelRule Data Structure. + /// + [Serializable] + public class LabelRule : AopObject + { + /// + /// 标签id + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 标签值,当有多个取值时用英文","分隔,不允许传入下划线"_"、竖线"|"或者空格" "和方括号"["、"]" + /// + [JsonProperty("label_value")] + public string LabelValue { get; set; } + + /// + /// 目前支持EQ(等于)、BETWEEN(范围)、IN(包含)三种操作符;每个标签支持的运算符可以通过查询接口获得。该字段允许为空,默认运算符为IN + /// + [JsonProperty("operator")] + public string Operator { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LegalRepresentativeInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LegalRepresentativeInfo.cs new file mode 100644 index 0000000..463e348 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LegalRepresentativeInfo.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LegalRepresentativeInfo Data Structure. + /// + [Serializable] + public class LegalRepresentativeInfo : AopObject + { + /// + /// 法人证件有效期,YYYY-MM-DD格式 + /// + [JsonProperty("legal_representative_cert_indate")] + public string LegalRepresentativeCertIndate { get; set; } + + /// + /// 法人证件号码 + /// + [JsonProperty("legal_representative_cert_no")] + public string LegalRepresentativeCertNo { get; set; } + + /// + /// 法人证件背面照片(如证件为身份证则上传身份证国徽面图片) + /// + [JsonProperty("legal_representative_cert_pic_back")] + public string LegalRepresentativeCertPicBack { get; set; } + + /// + /// 法人证件正面照片(如证件为身份证则上传身份证头像面图片) + /// + [JsonProperty("legal_representative_cert_pic_front")] + public string LegalRepresentativeCertPicFront { get; set; } + + /// + /// 法人证件类型,支持传入的类型为:RESIDENT(居民身份证)括号中为每种类型的释义,不需要将括号中的内容当参数内容传入。 + /// + [JsonProperty("legal_representative_cert_type")] + public string LegalRepresentativeCertType { get; set; } + + /// + /// 法人姓名 + /// + [JsonProperty("legal_representative_name")] + public string LegalRepresentativeName { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LendingRecords.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LendingRecords.cs new file mode 100644 index 0000000..3c85da3 --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LendingRecords.cs @@ -0,0 +1,30 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LendingRecords Data Structure. + /// + [Serializable] + public class LendingRecords : AopObject + { + /// + /// 放款时间,精确到天 + /// + [JsonProperty("date")] + public string Date { get; set; } + + /// + /// 放款流水描述 + /// + [JsonProperty("remark")] + public string Remark { get; set; } + + /// + /// 放款额度,精确到小数点2位,单位(元) + /// + [JsonProperty("total_amount")] + public string TotalAmount { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LicenseInfo.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LicenseInfo.cs new file mode 100644 index 0000000..274694d --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LicenseInfo.cs @@ -0,0 +1,70 @@ +using System; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LicenseInfo Data Structure. + /// + [Serializable] + public class LicenseInfo : AopObject + { + /// + /// 证书的认证机构 + /// + [JsonProperty("agency")] + public string Agency { get; set; } + + /// + /// 证照过期时间,格式:yyyy-MM-dd + /// + [JsonProperty("gmt_expire")] + public string GmtExpire { get; set; } + + /// + /// 证照的起始时间:证件生效的开始时间,格式:yyyy-MM-dd + /// + [JsonProperty("gmt_start")] + public string GmtStart { get; set; } + + /// + /// 证书id + /// + [JsonProperty("license_id")] + public string LicenseId { get; set; } + + /// + /// 证照名称,当type为OTHER时,必填 + /// + [JsonProperty("license_name")] + public string LicenseName { get; set; } + + /// + /// 证书照片的url + /// + [JsonProperty("pic_url")] + public string PicUrl { get; set; } + + /// + /// 技能或者能力的认证结果,如“高级” + /// + [JsonProperty("result")] + public string Result { get; set; } + + /// + /// 服务者的证书编号,由证书机构颁发的证书编号 + /// + [JsonProperty("sequence")] + public string Sequence { get; set; } + + /// + /// 证照类型,允许以下值: TOUR_GUIDE:导游证 LEGAL:法律职业资格证书 COUNSELOR:心理咨询师 DRIVER_TRAIN:机动车驾驶员培训许可证 CHEF:厨师证 TEACHER:教师资格证 + /// LIFE_SAVING:救生证 FINANCIAL_PLANNER:理财规划师 FINANCIAL_MANAGEMENT:金融理财师 BANK:银行从业资格 SECURITIES:证券从业资格 + /// INSURANCE:保险从业资格 FUTURES:期货从业资格 FUND:基金从业资格 SPECIAL:特种经营许可证 POLICE_REGISTER:公安备案登记证明 + /// LOCKS_REPAIR:锁具修理服务卡(公安印章) HEALTH:健康证 BEAUTY:美容相关证件 MASSAGE:按摩师职业证书 TRANSPORT:道路运输证 DRIVING:驾驶证 + /// TRANSPORT_PERMIT:道路运输经营许可 OTHER:其他 + /// + [JsonProperty("type")] + public string Type { get; set; } + } +} \ No newline at end of file diff --git a/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LifeLabel.cs b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LifeLabel.cs new file mode 100644 index 0000000..c104f6e --- /dev/null +++ b/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Domain/LifeLabel.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Alipay.AopSdk.Core.Domain +{ + /// + /// LifeLabel Data Structure. + /// + [Serializable] + public class LifeLabel : AopObject + { + /// + /// 该标签支持的业务列表,menu表示个性化菜单,extension表示个性化扩展区,message表示消息触达 + /// + [JsonProperty("biz")] + public string Biz { get; set; } + + /// + /// 标签类目 + /// + [JsonProperty("category")] + public string Category { get; set; } + + /// + /// 标签值数据类型 + /// + [JsonProperty("data_type")] + public string DataType { get; set; } + + /// + /// 标签英文代码 + /// + [JsonProperty("label_code")] + public string LabelCode { get; set; } + + /// + /// 标签id,唯一标识一个标签 + /// + [JsonProperty("label_id")] + public string LabelId { get; set; } + + /// + /// 标签名 + /// + [JsonProperty("label_name")] + public string LabelName { get; set; } + + /// + /// 该标签支持的运算符 + /// + [JsonProperty("operator")] + public string Operator { get; set; } + + /// + /// 每个取值的业务含义 + /// + [JsonProperty("options")] + + public List