初始化
This commit is contained in:
215
BLWWS/BLWWS.csproj
Normal file
215
BLWWS/BLWWS.csproj
Normal file
@@ -0,0 +1,215 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{3D1C2418-8F29-4D2F-B7E9-BDBCD0FE021E}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BLWWS</RootNamespace>
|
||||
<AssemblyName>BLWWS</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>4.0</OldToolsVersion>
|
||||
<Use64BitIISExpress />
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=3.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Common.Logging.3.3.1\lib\net40\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging.Core, Version=3.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Common.Logging.Core.3.3.1\lib\net40\Common.Logging.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="MySql.Data, Version=6.7.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MySql.Data.6.7.9\lib\net40\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.6.0.1\lib\net35\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Quartz, Version=2.6.2.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Quartz.2.6.2\lib\net40\Quartz.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RestSharp, Version=112.1.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>RestSharp\RestSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SqlSugar, Version=4.9.9.11, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\sqlSugar.4.9.9.11\lib\SqlSugar.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Messaging" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="blwws.asmx" />
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="syncstatus.asmx" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\WebReference\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\WebReference\WebService1.disco" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="blwws.asmx.cs">
|
||||
<DependentUpon>blwws.asmx</DependentUpon>
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Common.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HttpSendData.cs" />
|
||||
<Compile Include="Id_G.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="syncstatus.asmx.cs">
|
||||
<DependentUpon>syncstatus.asmx</DependentUpon>
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Web References\WebReference\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BLWWS_BLL\BLWWS_BLL.csproj">
|
||||
<Project>{CF2AB5DE-C3AF-4388-B6C4-EFA14BAF3316}</Project>
|
||||
<Name>BLWWS_BLL</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="job_scheduling_data_2_0.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<Content Include="nlog.config">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Web References\WebReference\WebService1.wsdl" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Connected Services\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferences Include="Web References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferenceUrl Include="http://47.119.147.104:9007/WebService1.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\WebReference\</RelPath>
|
||||
<UpdateFromURL>http://47.119.147.104:9007/WebService1.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>BLWWS_WebReference_WebService1</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>22346</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>
|
||||
</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
37
BLWWS/Common.cs
Normal file
37
BLWWS/Common.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
|
||||
namespace BLWWS
|
||||
{
|
||||
public class Common
|
||||
{
|
||||
public static string MD5Encrypt(string str)
|
||||
{
|
||||
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
|
||||
byte[] hashedDataBytes;
|
||||
hashedDataBytes = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(str));
|
||||
StringBuilder tmp = new StringBuilder();
|
||||
foreach (byte i in hashedDataBytes)
|
||||
{
|
||||
tmp.Append(i.ToString("x2"));
|
||||
}
|
||||
return tmp.ToString();
|
||||
}
|
||||
public static long GetCurrentTimeStamp(DateTime dt)
|
||||
{
|
||||
TimeSpan ts = dt - new DateTime(1970, 1, 1, 8, 0, 0, DateTimeKind.Local);
|
||||
long current_timestamp = Convert.ToInt64(ts.TotalSeconds);
|
||||
return current_timestamp;
|
||||
}
|
||||
public static DateTime GetCurrentDateTime(long timestampseconds)
|
||||
{
|
||||
DateTime epoch = new DateTime(1970, 1, 1, 8, 0, 0, DateTimeKind.Local);
|
||||
DateTime utcTime = epoch.AddSeconds(timestampseconds);
|
||||
return utcTime;
|
||||
}
|
||||
}
|
||||
}
|
||||
1
BLWWS/Global.asax
Normal file
1
BLWWS/Global.asax
Normal file
@@ -0,0 +1 @@
|
||||
<%@ Application Codebehind="Global.asax.cs" Inherits="BLWWS.Global" Language="C#" %>
|
||||
50
BLWWS/Global.asax.cs
Normal file
50
BLWWS/Global.asax.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using BLWWS_BLL;
|
||||
using Quartz;
|
||||
using Quartz.Impl;
|
||||
|
||||
namespace BLWWS
|
||||
{
|
||||
public class Global : System.Web.HttpApplication
|
||||
{
|
||||
|
||||
|
||||
protected void Application_Start(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void Session_Start(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Application_BeginRequest(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Application_AuthenticateRequest(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Application_Error(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Session_End(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void Application_End(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
89
BLWWS/HttpSendData.cs
Normal file
89
BLWWS/HttpSendData.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using Newtonsoft.Json;
|
||||
using RestSharp;
|
||||
namespace BLWWS
|
||||
{
|
||||
public class HttpSendData
|
||||
{
|
||||
//public static readonly string BaseURL = "http://www.higmkj.com:8056";
|
||||
public static readonly string BaseURL = ConfigurationManager.AppSettings["BaoJing_BaseUrl"];
|
||||
private static readonly NLog.Logger _logger = NLog.LogManager.GetCurrentClassLogger();
|
||||
public static void SendData(PMSDataBase data)
|
||||
{
|
||||
//ssl 协议不兼容
|
||||
//var A = (SecurityProtocolType)48;
|
||||
//var B = (SecurityProtocolType)192;
|
||||
//var C = (SecurityProtocolType)768;
|
||||
//var D = (SecurityProtocolType)3072;
|
||||
//var E = (SecurityProtocolType)12288;
|
||||
//ServicePointManager.SecurityProtocol = A | B | C | D | E;
|
||||
var a = Newtonsoft.Json.JsonConvert.SerializeObject(data);
|
||||
_logger.Error("宝镜推送CheckIn数据:" + a);
|
||||
//var client1 = new RestClient(BaseURL);
|
||||
//var request1 = new RestRequest("/order/checkIn", Method.POST);
|
||||
//request1.AddJsonBody(data);
|
||||
//var Response = client1.Execute(request1).Content;
|
||||
//string content = Response;
|
||||
WebReference.WebService1 w = new WebReference.WebService1();
|
||||
var Response = w.HelloWorld("C24cAfK", a, "/order/checkIn");
|
||||
_logger.Error("宝镜推送CheckIn结果:" + Response);
|
||||
}
|
||||
public static void SendData_CheckOut(PMSDataBase data)
|
||||
{
|
||||
|
||||
//ssl 协议不兼容
|
||||
//var A = (SecurityProtocolType)48;
|
||||
//var B = (SecurityProtocolType)192;
|
||||
//var C = (SecurityProtocolType)768;
|
||||
//var D = (SecurityProtocolType)3072;
|
||||
//var E = (SecurityProtocolType)12288;
|
||||
//ServicePointManager.SecurityProtocol = A | B | C | D | E;
|
||||
var a = Newtonsoft.Json.JsonConvert.SerializeObject(data);
|
||||
_logger.Error("宝镜推送SendData_CheckOut数据:" + a);
|
||||
//var client1 = new RestClient(BaseURL);
|
||||
//var request1 = new RestRequest("/order/checkOut", Method.POST);
|
||||
//request1.AddJsonBody(data);
|
||||
//var Response = client1.Execute(request1).Content;
|
||||
|
||||
WebReference.WebService1 w = new WebReference.WebService1();
|
||||
var Response = w.HelloWorld("C24cAfK", a, "/order/checkOut");
|
||||
_logger.Error("宝镜推送CheckOut:" + Response);
|
||||
}
|
||||
}
|
||||
public class PMSDataBase
|
||||
{
|
||||
public string hotel_code { get; set; } = "";
|
||||
public string time { get; set; } = "";
|
||||
public string sign { get; set; } = "";
|
||||
public string hotel_id { get; set; } = "";
|
||||
public string order_no { get; set; } = "";
|
||||
public string room_no { get; set; } = "";
|
||||
public string check_out_original { get; set; }
|
||||
}
|
||||
|
||||
public class PMSData : PMSDataBase
|
||||
{
|
||||
public string checkIn { get; set; }
|
||||
public string checkOut { get; set; }
|
||||
public ushort is_breakfast { get; set; }
|
||||
public ushort breakfast { get; set; }
|
||||
public string rateCode { get; set; }
|
||||
public string amount { get; set; }
|
||||
public string order_original { get; set; }
|
||||
public List<Info> infos { get; set; }
|
||||
}
|
||||
public class Info
|
||||
{
|
||||
public string name { get; set; }
|
||||
public string mobile { get; set; }
|
||||
public int type { get; set; }
|
||||
public string idcard { get; set; }
|
||||
public int sex { get; set; }
|
||||
public string address { get; set; }
|
||||
}
|
||||
}
|
||||
93
BLWWS/Id_G.cs
Normal file
93
BLWWS/Id_G.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Common
|
||||
{
|
||||
public class IdWorker
|
||||
{
|
||||
//起始的时间戳
|
||||
private static long START_STMP = 1480166465631L;
|
||||
|
||||
//每一部分占用的位数
|
||||
private static int SEQUENCE_BIT = 12; //序列号占用的位数
|
||||
private static int MACHINE_BIT = 5; //机器标识占用的位数
|
||||
private static int DATACENTER_BIT = 5;//数据中心占用的位数
|
||||
|
||||
//每一部分的最大值
|
||||
private static long MAX_DATACENTER_NUM = -1L ^ (-1L << DATACENTER_BIT);
|
||||
private static long MAX_MACHINE_NUM = -1L ^ (-1L << MACHINE_BIT);
|
||||
private static long MAX_SEQUENCE = -1L ^ (-1L << SEQUENCE_BIT);
|
||||
|
||||
//每一部分向左的位移
|
||||
private static int MACHINE_LEFT = SEQUENCE_BIT;
|
||||
private static int DATACENTER_LEFT = SEQUENCE_BIT + MACHINE_BIT;
|
||||
private static int TIMESTMP_LEFT = DATACENTER_LEFT + DATACENTER_BIT;
|
||||
|
||||
private long datacenterId = 1; //数据中心
|
||||
private long machineId = 1; //机器标识
|
||||
private long sequence = 0L; //序列号
|
||||
private long lastStmp = -1L;//上一次时间戳
|
||||
|
||||
#region 单例:完全懒汉
|
||||
private static readonly Lazy<IdWorker> lazy = new Lazy<IdWorker>(() => new IdWorker());
|
||||
public static IdWorker Singleton { get { return lazy.Value; } }
|
||||
private IdWorker() { }
|
||||
#endregion
|
||||
|
||||
public IdWorker(long cid, long mid)
|
||||
{
|
||||
if (cid > MAX_DATACENTER_NUM || cid < 0) throw new Exception($"中心Id应在(0,{MAX_DATACENTER_NUM})之间");
|
||||
if (mid > MAX_MACHINE_NUM || mid < 0) throw new Exception($"机器Id应在(0,{MAX_MACHINE_NUM})之间");
|
||||
datacenterId = cid;
|
||||
machineId = mid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 产生下一个ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public long nextId()
|
||||
{
|
||||
long currStmp = getNewstmp();
|
||||
if (currStmp < lastStmp) throw new Exception("时钟倒退,Id生成失败!");
|
||||
|
||||
if (currStmp == lastStmp)
|
||||
{
|
||||
//相同毫秒内,序列号自增
|
||||
sequence = (sequence + 1) & MAX_SEQUENCE;
|
||||
//同一毫秒的序列数已经达到最大
|
||||
if (sequence == 0L) currStmp = getNextMill();
|
||||
}
|
||||
else
|
||||
{
|
||||
//不同毫秒内,序列号置为0
|
||||
sequence = 0L;
|
||||
}
|
||||
|
||||
lastStmp = currStmp;
|
||||
|
||||
return (currStmp - START_STMP) << TIMESTMP_LEFT //时间戳部分
|
||||
| datacenterId << DATACENTER_LEFT //数据中心部分
|
||||
| machineId << MACHINE_LEFT //机器标识部分
|
||||
| sequence; //序列号部分
|
||||
}
|
||||
|
||||
private long getNextMill()
|
||||
{
|
||||
long mill = getNewstmp();
|
||||
while (mill <= lastStmp)
|
||||
{
|
||||
mill = getNewstmp();
|
||||
}
|
||||
return mill;
|
||||
}
|
||||
|
||||
private long getNewstmp()
|
||||
{
|
||||
return (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
|
||||
}
|
||||
}
|
||||
}
|
||||
35
BLWWS/Properties/AssemblyInfo.cs
Normal file
35
BLWWS/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过以下特性集
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("BLWWS")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("BLWWS")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2015")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("eaa13017-f626-4924-9f79-79c079ff2100")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 内部版本号
|
||||
// 修订号
|
||||
//
|
||||
// 您可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
36
BLWWS/Properties/Settings.Designer.cs
generated
Normal file
36
BLWWS/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,36 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BLWWS.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.12.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://47.119.147.104:9007/WebService1.asmx")]
|
||||
public string BLWWS_WebReference_WebService1 {
|
||||
get {
|
||||
return ((string)(this["BLWWS_WebReference_WebService1"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
BLWWS/Properties/Settings.settings
Normal file
9
BLWWS/Properties/Settings.settings
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="BLWWS.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="BLWWS_WebReference_WebService1" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://47.119.147.104:9007/WebService1.asmx</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
BIN
BLWWS/RestSharp/RestSharp.dll
Normal file
BIN
BLWWS/RestSharp/RestSharp.dll
Normal file
Binary file not shown.
2897
BLWWS/RestSharp/RestSharp.xml
Normal file
2897
BLWWS/RestSharp/RestSharp.xml
Normal file
File diff suppressed because it is too large
Load Diff
154
BLWWS/Web References/WebReference/Reference.cs
Normal file
154
BLWWS/Web References/WebReference/Reference.cs
Normal file
@@ -0,0 +1,154 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// 此源代码是由 Microsoft.VSDesigner 4.0.30319.42000 版自动生成。
|
||||
//
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace BLWWS.WebReference {
|
||||
using System.Diagnostics;
|
||||
using System;
|
||||
using System.Xml.Serialization;
|
||||
using System.ComponentModel;
|
||||
using System.Web.Services.Protocols;
|
||||
using System.Web.Services;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Web.Services.WebServiceBindingAttribute(Name="WebService1Soap", Namespace="http://tempuri.org/")]
|
||||
public partial class WebService1 : System.Web.Services.Protocols.SoapHttpClientProtocol {
|
||||
|
||||
private System.Threading.SendOrPostCallback HelloWorldOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public WebService1() {
|
||||
this.Url = global::BLWWS.Properties.Settings.Default.BLWWS_WebReference_WebService1;
|
||||
if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
|
||||
this.UseDefaultCredentials = true;
|
||||
this.useDefaultCredentialsSetExplicitly = false;
|
||||
}
|
||||
else {
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new string Url {
|
||||
get {
|
||||
return base.Url;
|
||||
}
|
||||
set {
|
||||
if ((((this.IsLocalFileSystemWebService(base.Url) == true)
|
||||
&& (this.useDefaultCredentialsSetExplicitly == false))
|
||||
&& (this.IsLocalFileSystemWebService(value) == false))) {
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials {
|
||||
get {
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set {
|
||||
base.UseDefaultCredentials = value;
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event HelloWorldCompletedEventHandler HelloWorldCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/HelloWorld", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public string HelloWorld(string key, string data, string url) {
|
||||
object[] results = this.Invoke("HelloWorld", new object[] {
|
||||
key,
|
||||
data,
|
||||
url});
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void HelloWorldAsync(string key, string data, string url) {
|
||||
this.HelloWorldAsync(key, data, url, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void HelloWorldAsync(string key, string data, string url, object userState) {
|
||||
if ((this.HelloWorldOperationCompleted == null)) {
|
||||
this.HelloWorldOperationCompleted = new System.Threading.SendOrPostCallback(this.OnHelloWorldOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("HelloWorld", new object[] {
|
||||
key,
|
||||
data,
|
||||
url}, this.HelloWorldOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnHelloWorldOperationCompleted(object arg) {
|
||||
if ((this.HelloWorldCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.HelloWorldCompleted(this, new HelloWorldCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url) {
|
||||
if (((url == null)
|
||||
|| (url == string.Empty))) {
|
||||
return false;
|
||||
}
|
||||
System.Uri wsUri = new System.Uri(url);
|
||||
if (((wsUri.Port >= 1024)
|
||||
&& (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
|
||||
public delegate void HelloWorldCompletedEventHandler(object sender, HelloWorldCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class HelloWorldCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal HelloWorldCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 1591
|
||||
7
BLWWS/Web References/WebReference/Reference.map
Normal file
7
BLWWS/Web References/WebReference/Reference.map
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DiscoveryClientResultsFile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Results>
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://47.119.147.104:9007/WebService1.asmx?wsdl" filename="WebService1.wsdl" />
|
||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://47.119.147.104:9007/WebService1.asmx?disco" filename="WebService1.disco" />
|
||||
</Results>
|
||||
</DiscoveryClientResultsFile>
|
||||
6
BLWWS/Web References/WebReference/WebService1.disco
Normal file
6
BLWWS/Web References/WebReference/WebService1.disco
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://47.119.147.104:9007/WebService1.asmx?wsdl" docRef="http://47.119.147.104:9007/WebService1.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://47.119.147.104:9007/WebService1.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WebService1Soap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://47.119.147.104:9007/WebService1.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WebService1Soap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
||||
67
BLWWS/Web References/WebReference/WebService1.wsdl
Normal file
67
BLWWS/Web References/WebReference/WebService1.wsdl
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://tempuri.org/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
|
||||
<s:element name="HelloWorld">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="url" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="HelloWorldResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="HelloWorldSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorld" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="HelloWorldSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorldResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="WebService1Soap">
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<wsdl:input message="tns:HelloWorldSoapIn" />
|
||||
<wsdl:output message="tns:HelloWorldSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="WebService1Soap" type="tns:WebService1Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="WebService1Soap12" type="tns:WebService1Soap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap12:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="WebService1">
|
||||
<wsdl:port name="WebService1Soap" binding="tns:WebService1Soap">
|
||||
<soap:address location="http://47.119.147.104:9007/WebService1.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="WebService1Soap12" binding="tns:WebService1Soap12">
|
||||
<soap12:address location="http://47.119.147.104:9007/WebService1.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
54
BLWWS/Web.config
Normal file
54
BLWWS/Web.config
Normal file
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="BLWWS.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.0" />
|
||||
<httpRuntime executionTimeout="90" maxRequestLength="20000" useFullyQualifiedRedirectUrl="false" requestLengthDiskThreshold="8192" />
|
||||
<sessionState timeout="120" />
|
||||
<pages controlRenderingCompatibilityVersion="4.0" />
|
||||
</system.web>
|
||||
<appSettings>
|
||||
<add key="connectionString" value="Data Source=pms.boonlive-rcu.com;Initial Catalog=RICS_WS;User ID=sa;Password=pass@123$%^;" />
|
||||
<add key="key" value="blw_ws@2015" />
|
||||
<add key="face_url" value="http://face.blv-oa.com/Interface" />
|
||||
<add key="face_url_new" value="http://face.blv-oa.com" />
|
||||
<add key="BaoJing_username" value="" />
|
||||
<add key="BaoJing_password" value="" />
|
||||
<!--<add key="BaoJing_BaseUrl" value="https://f.blv-oa.com/rcu_pms_api/v1" />-->
|
||||
<add key="BaoJing_BaseUrl" value="https://f.blv-oa.com:8099/rcu_pms_api/v1" />
|
||||
|
||||
<add key="ImageMaxHeight" value="2000" />
|
||||
<add key="ImageMaxWidth" value="2400" />
|
||||
<add key="ImageMinHeight" value="320" />
|
||||
<add key="ImageMinWidth" value="480" />
|
||||
</appSettings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.7.9.0" newVersion="6.7.9.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="MySql.Data.MySqlClient" />
|
||||
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<applicationSettings>
|
||||
<BLWWS.Properties.Settings>
|
||||
<setting name="BLWWS_WebReference_WebService1" serializeAs="String">
|
||||
<value>http://47.119.147.104:9007/WebService1.asmx</value>
|
||||
</setting>
|
||||
</BLWWS.Properties.Settings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
||||
1
BLWWS/blwws.asmx
Normal file
1
BLWWS/blwws.asmx
Normal file
@@ -0,0 +1 @@
|
||||
<%@ WebService Language="C#" CodeBehind="blwws.asmx.cs" Class="BLWWS.blwws" %>
|
||||
1282
BLWWS/blwws.asmx.cs
Normal file
1282
BLWWS/blwws.asmx.cs
Normal file
File diff suppressed because it is too large
Load Diff
364
BLWWS/job_scheduling_data_2_0.xsd
Normal file
364
BLWWS/job_scheduling_data_2_0.xsd
Normal file
@@ -0,0 +1,364 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
|
||||
targetNamespace="http://quartznet.sourceforge.net/JobSchedulingData"
|
||||
elementFormDefault="qualified"
|
||||
version="2.0">
|
||||
|
||||
<xs:element name="job-scheduling-data">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Root level node</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element name="pre-processing-commands" type="pre-processing-commandsType" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Commands to be executed before scheduling the jobs and triggers in this file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="processing-directives" type="processing-directivesType" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Directives to be followed while scheduling the jobs and triggers in this file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="schedule" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element name="job" type="job-detailType" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element name="trigger" type="triggerType" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="version" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Version of the XML Schema instance</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:complexType name="pre-processing-commandsType">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element name="delete-jobs-in-group" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Delete all jobs, if any, in the identified group. "*" can be used to identify all groups. Will also result in deleting all triggers related to the jobs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="delete-triggers-in-group" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Delete all triggers, if any, in the identified group. "*" can be used to identify all groups. Will also result in deletion of related jobs that are non-durable.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="delete-job" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Delete the identified job if it exists (will also result in deleting all triggers related to it).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="group" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="delete-trigger" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Delete the identified trigger if it exists (will also result in deletion of related jobs that are non-durable).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="group" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="processing-directivesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="overwrite-existing-data" type="xs:boolean" minOccurs="0" default="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Whether the existing scheduling data (with same identifiers) will be overwritten. If false, and ignore-duplicates is not false, and jobs or triggers with the same names already exist as those in the file, an error will occur.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ignore-duplicates" type="xs:boolean" minOccurs="0" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If true (and overwrite-existing-data is false) then any job/triggers encountered in this file that have names that already exist in the scheduler will be ignored, and no error will be produced.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="schedule-trigger-relative-to-replaced-trigger" type="xs:boolean" minOccurs="0" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If true trigger's start time is calculated based on earlier run time instead of fixed value. Trigger's start time must be undefined for this to work.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="job-detailType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a JobDetail</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="group" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="description" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="job-type" type="xs:string" />
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element name="durable" type="xs:boolean" />
|
||||
<xs:element name="recover" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
<xs:element name="job-data-map" type="job-data-mapType" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="job-data-mapType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a JobDataMap</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="entry" type="entryType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="entryType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a JobDataMap entry</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="key" type="xs:string" />
|
||||
<xs:element name="value" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="triggerType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a Trigger</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:choice>
|
||||
<xs:element name="simple" type="simpleTriggerType" />
|
||||
<xs:element name="cron" type="cronTriggerType" />
|
||||
<xs:element name="calendar-interval" type="calendarIntervalTriggerType" />
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="abstractTriggerType" abstract="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Common Trigger definitions</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="group" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="description" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="job-name" type="xs:string" />
|
||||
<xs:element name="job-group" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="priority" type="xs:nonNegativeInteger" minOccurs="0" />
|
||||
<xs:element name="calendar-name" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="job-data-map" type="job-data-mapType" minOccurs="0" />
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:choice>
|
||||
<xs:element name="start-time" type="xs:dateTime" />
|
||||
<xs:element name="start-time-seconds-in-future" type="xs:nonNegativeInteger" />
|
||||
</xs:choice>
|
||||
<xs:element name="end-time" type="xs:dateTime" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="simpleTriggerType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a SimpleTrigger</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="abstractTriggerType">
|
||||
<xs:sequence>
|
||||
<xs:element name="misfire-instruction" type="simple-trigger-misfire-instructionType" minOccurs="0" />
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element name="repeat-count" type="repeat-countType" />
|
||||
<xs:element name="repeat-interval" type="xs:nonNegativeInteger" />
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="cronTriggerType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a CronTrigger</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="abstractTriggerType">
|
||||
<xs:sequence>
|
||||
<xs:element name="misfire-instruction" type="cron-trigger-misfire-instructionType" minOccurs="0" />
|
||||
<xs:element name="cron-expression" type="cron-expressionType" />
|
||||
<xs:element name="time-zone" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="calendarIntervalTriggerType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Define a DateIntervalTrigger</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="abstractTriggerType">
|
||||
<xs:sequence>
|
||||
<xs:element name="misfire-instruction" type="date-interval-trigger-misfire-instructionType" minOccurs="0" />
|
||||
<xs:element name="repeat-interval" type="xs:nonNegativeInteger" />
|
||||
<xs:element name="repeat-interval-unit" type="interval-unitType" />
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="cron-expressionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Cron expression (see JavaDoc for examples)
|
||||
|
||||
Special thanks to Chris Thatcher (thatcher@butterfly.net) for the regular expression!
|
||||
|
||||
Regular expressions are not my strong point but I believe this is complete,
|
||||
with the caveat that order for expressions like 3-0 is not legal but will pass,
|
||||
and month and day names must be capitalized.
|
||||
If you want to examine the correctness look for the [\s] to denote the
|
||||
seperation of individual regular expressions. This is how I break them up visually
|
||||
to examine them:
|
||||
|
||||
SECONDS:
|
||||
(
|
||||
((([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?,)*([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?)
|
||||
| (([\*]|[0-9]|[0-5][0-9])/([0-9]|[0-5][0-9]))
|
||||
| ([\?])
|
||||
| ([\*])
|
||||
) [\s]
|
||||
MINUTES:
|
||||
(
|
||||
((([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?,)*([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?)
|
||||
| (([\*]|[0-9]|[0-5][0-9])/([0-9]|[0-5][0-9]))
|
||||
| ([\?])
|
||||
| ([\*])
|
||||
) [\s]
|
||||
HOURS:
|
||||
(
|
||||
((([0-9]|[0-1][0-9]|[2][0-3])(-([0-9]|[0-1][0-9]|[2][0-3]))?,)*([0-9]|[0-1][0-9]|[2][0-3])(-([0-9]|[0-1][0-9]|[2][0-3]))?)
|
||||
| (([\*]|[0-9]|[0-1][0-9]|[2][0-3])/([0-9]|[0-1][0-9]|[2][0-3]))
|
||||
| ([\?])
|
||||
| ([\*])
|
||||
) [\s]
|
||||
DAY OF MONTH:
|
||||
(
|
||||
((([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])(-([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1]))?,)*([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])(-([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1]))?(C)?)
|
||||
| (([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])/([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])(C)?)
|
||||
| (L(-[0-9])?)
|
||||
| (L(-[1-2][0-9])?)
|
||||
| (L(-[3][0-1])?)
|
||||
| (LW)
|
||||
| ([1-9]W)
|
||||
| ([1-3][0-9]W)
|
||||
| ([\?])
|
||||
| ([\*])
|
||||
)[\s]
|
||||
MONTH:
|
||||
(
|
||||
((([1-9]|0[1-9]|1[0-2])(-([1-9]|0[1-9]|1[0-2]))?,)*([1-9]|0[1-9]|1[0-2])(-([1-9]|0[1-9]|1[0-2]))?)
|
||||
| (([1-9]|0[1-9]|1[0-2])/([1-9]|0[1-9]|1[0-2]))
|
||||
| (((JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(-(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?,)*(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(-(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?)
|
||||
| ((JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)/(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))
|
||||
| ([\?])
|
||||
| ([\*])
|
||||
)[\s]
|
||||
DAY OF WEEK:
|
||||
(
|
||||
(([1-7](-([1-7]))?,)*([1-7])(-([1-7]))?)
|
||||
| ([1-7]/([1-7]))
|
||||
| (((MON|TUE|WED|THU|FRI|SAT|SUN)(-(MON|TUE|WED|THU|FRI|SAT|SUN))?,)*(MON|TUE|WED|THU|FRI|SAT|SUN)(-(MON|TUE|WED|THU|FRI|SAT|SUN))?(C)?)
|
||||
| ((MON|TUE|WED|THU|FRI|SAT|SUN)/(MON|TUE|WED|THU|FRI|SAT|SUN)(C)?)
|
||||
| (([1-7]|(MON|TUE|WED|THU|FRI|SAT|SUN))(L|LW)?)
|
||||
| (([1-7]|MON|TUE|WED|THU|FRI|SAT|SUN)#([1-7])?)
|
||||
| ([\?])
|
||||
| ([\*])
|
||||
)
|
||||
YEAR (OPTIONAL):
|
||||
(
|
||||
[\s]?
|
||||
([\*])?
|
||||
| ((19[7-9][0-9])|(20[0-9][0-9]))?
|
||||
| (((19[7-9][0-9])|(20[0-9][0-9]))/((19[7-9][0-9])|(20[0-9][0-9])))?
|
||||
| ((((19[7-9][0-9])|(20[0-9][0-9]))(-((19[7-9][0-9])|(20[0-9][0-9])))?,)*((19[7-9][0-9])|(20[0-9][0-9]))(-((19[7-9][0-9])|(20[0-9][0-9])))?)?
|
||||
)
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern
|
||||
value="(((([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?,)*([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?)|(([\*]|[0-9]|[0-5][0-9])/([0-9]|[0-5][0-9]))|([\?])|([\*]))[\s](((([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?,)*([0-9]|[0-5][0-9])(-([0-9]|[0-5][0-9]))?)|(([\*]|[0-9]|[0-5][0-9])/([0-9]|[0-5][0-9]))|([\?])|([\*]))[\s](((([0-9]|[0-1][0-9]|[2][0-3])(-([0-9]|[0-1][0-9]|[2][0-3]))?,)*([0-9]|[0-1][0-9]|[2][0-3])(-([0-9]|[0-1][0-9]|[2][0-3]))?)|(([\*]|[0-9]|[0-1][0-9]|[2][0-3])/([0-9]|[0-1][0-9]|[2][0-3]))|([\?])|([\*]))[\s](((([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])(-([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1]))?,)*([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])(-([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1]))?(C)?)|(([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])/([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])(C)?)|(L(-[0-9])?)|(L(-[1-2][0-9])?)|(L(-[3][0-1])?)|(LW)|([1-9]W)|([1-3][0-9]W)|([\?])|([\*]))[\s](((([1-9]|0[1-9]|1[0-2])(-([1-9]|0[1-9]|1[0-2]))?,)*([1-9]|0[1-9]|1[0-2])(-([1-9]|0[1-9]|1[0-2]))?)|(([1-9]|0[1-9]|1[0-2])/([1-9]|0[1-9]|1[0-2]))|(((JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(-(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?,)*(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(-(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?)|((JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)/(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))|([\?])|([\*]))[\s]((([1-7](-([1-7]))?,)*([1-7])(-([1-7]))?)|([1-7]/([1-7]))|(((MON|TUE|WED|THU|FRI|SAT|SUN)(-(MON|TUE|WED|THU|FRI|SAT|SUN))?,)*(MON|TUE|WED|THU|FRI|SAT|SUN)(-(MON|TUE|WED|THU|FRI|SAT|SUN))?(C)?)|((MON|TUE|WED|THU|FRI|SAT|SUN)/(MON|TUE|WED|THU|FRI|SAT|SUN)(C)?)|(([1-7]|(MON|TUE|WED|THU|FRI|SAT|SUN))?(L|LW)?)|(([1-7]|MON|TUE|WED|THU|FRI|SAT|SUN)#([1-7])?)|([\?])|([\*]))([\s]?(([\*])?|(19[7-9][0-9])|(20[0-9][0-9]))?| (((19[7-9][0-9])|(20[0-9][0-9]))/((19[7-9][0-9])|(20[0-9][0-9])))?| ((((19[7-9][0-9])|(20[0-9][0-9]))(-((19[7-9][0-9])|(20[0-9][0-9])))?,)*((19[7-9][0-9])|(20[0-9][0-9]))(-((19[7-9][0-9])|(20[0-9][0-9])))?)?)" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="repeat-countType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Number of times to repeat the Trigger (-1 for indefinite)</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="-1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
|
||||
<xs:simpleType name="simple-trigger-misfire-instructionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Simple Trigger Misfire Instructions</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="SmartPolicy" />
|
||||
<xs:pattern value="RescheduleNextWithExistingCount" />
|
||||
<xs:pattern value="RescheduleNextWithRemainingCount" />
|
||||
<xs:pattern value="RescheduleNowWithExistingRepeatCount" />
|
||||
<xs:pattern value="RescheduleNowWithRemainingRepeatCount" />
|
||||
<xs:pattern value="FireNow" />
|
||||
<xs:pattern value="IgnoreMisfirePolicy" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cron-trigger-misfire-instructionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Cron Trigger Misfire Instructions</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="SmartPolicy" />
|
||||
<xs:pattern value="DoNothing" />
|
||||
<xs:pattern value="FireOnceNow" />
|
||||
<xs:pattern value="IgnoreMisfirePolicy" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="date-interval-trigger-misfire-instructionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Date Interval Trigger Misfire Instructions</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="SmartPolicy" />
|
||||
<xs:pattern value="DoNothing" />
|
||||
<xs:pattern value="FireOnceNow" />
|
||||
<xs:pattern value="IgnoreMisfirePolicy" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="interval-unitType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Interval Units</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="Day" />
|
||||
<xs:pattern value="Hour" />
|
||||
<xs:pattern value="Minute" />
|
||||
<xs:pattern value="Month" />
|
||||
<xs:pattern value="Second" />
|
||||
<xs:pattern value="Week" />
|
||||
<xs:pattern value="Year" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
35
BLWWS/nlog.config
Normal file
35
BLWWS/nlog.config
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<!-- enable asp.net core layout renderers -->
|
||||
<targets>
|
||||
<!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
|
||||
<target name="info_file" xsi:type="File"
|
||||
fileName="${basedir}/Logs/${shortdate}/info_${shortdate}.txt"
|
||||
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${exception:format=ToString} ${newline} ${stacktrace} ${newline}"
|
||||
archiveFileName="${basedir}/archives/info_${shortdate}-{#####}.txt"
|
||||
archiveAboveSize="102400"
|
||||
archiveNumbering="Sequence"
|
||||
concurrentWrites="true"
|
||||
keepFileOpen="false" />
|
||||
<target name="error_file" xsi:type="File"
|
||||
fileName="${basedir}/Logs/${shortdate}/error_${shortdate}.txt"
|
||||
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${exception:format=ToString} ${newline} ${stacktrace} ${newline}"
|
||||
archiveFileName="${basedir}/archives/error_${shortdate}-{#####}.txt"
|
||||
archiveAboveSize="102400"
|
||||
archiveNumbering="Sequence"
|
||||
concurrentWrites="true"
|
||||
keepFileOpen="false" />
|
||||
</targets>
|
||||
|
||||
<!--规则配置,final - 最终规则匹配后不处理任何规则-->
|
||||
<!--规则配置,final - 最终规则匹配后不处理任何规则-->
|
||||
<!--定义使用哪个target输出-->
|
||||
<rules>
|
||||
<!-- 优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL -->
|
||||
<!-- 将所有日志输出到文件 -->
|
||||
<logger name="*" minlevel="FATAL" maxlevel="FATAL" writeTo="info_file" />
|
||||
<logger name="*" minlevel="Error" writeTo="error_file" />
|
||||
</rules>
|
||||
</nlog>
|
||||
10
BLWWS/packages.config
Normal file
10
BLWWS/packages.config
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Common.Logging" version="3.3.1" targetFramework="net40" />
|
||||
<package id="Common.Logging.Core" version="3.3.1" targetFramework="net40" />
|
||||
<package id="MySql.Data" version="6.7.9" targetFramework="net40" requireReinstallation="true" />
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net40" requireReinstallation="true" />
|
||||
<package id="NLog" version="6.0.1" targetFramework="net40" />
|
||||
<package id="Quartz" version="2.6.2" targetFramework="net40" />
|
||||
<package id="sqlSugar" version="4.9.9.11" targetFramework="net40" />
|
||||
</packages>
|
||||
1
BLWWS/syncstatus.asmx
Normal file
1
BLWWS/syncstatus.asmx
Normal file
@@ -0,0 +1 @@
|
||||
<%@ WebService Language="C#" CodeBehind="syncstatus.asmx.cs" Class="BLWWS.syncstatus" %>
|
||||
311
BLWWS/syncstatus.asmx.cs
Normal file
311
BLWWS/syncstatus.asmx.cs
Normal file
@@ -0,0 +1,311 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Services;
|
||||
using System.Data;
|
||||
using BLWWS_BLL;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BLWWS
|
||||
{
|
||||
/// <summary>
|
||||
/// syncstatus 的摘要说明
|
||||
/// </summary>
|
||||
[WebService(Namespace = "http://www.blw.com/")]
|
||||
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
|
||||
[System.ComponentModel.ToolboxItem(false)]
|
||||
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
|
||||
[System.Web.Script.Services.ScriptService]
|
||||
public class syncstatus : System.Web.Services.WebService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取客户记录
|
||||
/// </summary>
|
||||
/// <param name="code"></param>
|
||||
/// <param name="roomNumber"></param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataSet GetRoomRecord(string code, string roomNumber, string tableName)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetRoomRecords(code, roomNumber, tableName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据酒店ID,房号获取当前入住人信息
|
||||
/// </summary>
|
||||
/// <param name="hotelID">酒店ID</param>
|
||||
/// <param name="roomNumber">房号</param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public string GetRoomCustomerByHotelID(int hotelID, string roomNumber, ref string phoneNumber)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetRoomCustomer(hotelID, roomNumber, ref phoneNumber);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return "";
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取入住人信息
|
||||
/// </summary>
|
||||
/// <param name="checkInID"></param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataSet GetRoomCustomer(long checkInID)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetRoomCustomer(checkInID);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取酒店编码
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataSet GetHotelCode()
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetHotelCode();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取酒店编码
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataTable GetHotelByCode(string code)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetHotelCode(code);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 定时获取酒店新的开房/退房/待租记录
|
||||
/// </summary>
|
||||
/// <param name="code">酒店编码</param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataSet GetCheckInOrOutRecord(string code)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetCheckInOrOutRecord(code);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取人脸机设备信息
|
||||
/// </summary>
|
||||
/// <param name="code"></param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataSet GetDevices(string code)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetDevices(code);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 人脸机绑定房号
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="hotelCode"></param>
|
||||
/// <param name="roomNumber"></param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public int SaveDevice(long id, string hotelCode, string roomNumber)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.SaveDevice(id, hotelCode, roomNumber);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新已同步的新开房/退房/待租状态
|
||||
/// </summary>
|
||||
/// <param name="code">酒店编码</param>
|
||||
/// <param name="id">记录ID</param>
|
||||
/// <param name="flag">0开房,1退房,2待租</param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public int UpdateCheckInOrOutRecord(string code, Int64 id, int flag)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.UpdateCheckInOrOutRecord(code, id, flag);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// 判断验证码是否正确
|
||||
/// </summary>
|
||||
/// <param name="hotelID">酒店ID</param>
|
||||
/// <param name="roomNumber">房号</param>
|
||||
/// <param name="validateCode">用户输入验证码</param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public bool ValidateNumber(int hotelID, string roomNumber, string validateCode)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.ValidateNumber(hotelID, roomNumber, validateCode);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// 判断验证码是否正确
|
||||
/// </summary>
|
||||
/// <param name="code">酒店编码</param>
|
||||
/// <param name="roomNumber">房号</param>
|
||||
/// <param name="validateCode">用户输入验证码</param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public bool ValidateNumberByCode(string code, string roomNumber, string validateCode)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.ValidateNumberByCode(code, roomNumber, validateCode);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据手机号获取当前入住记录信息
|
||||
/// </summary>
|
||||
/// <param name="phone"></param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public DataTable GetCodeAndRoomNumberByPhone(string phone)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.GetCodeAndRoomNumberByPhone(phone);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 上传/变更图像及信息
|
||||
/// </summary>
|
||||
/// <param name="idType">证件类型:0身份证,1护照</param>
|
||||
/// <param name="idCard">证件号码</param>
|
||||
/// <param name="name">姓名</param>
|
||||
/// <param name="sex">性别:0女,1男</param>
|
||||
/// <param name="photo">图像</param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public bool UploadPhoto(int idType, string idCard, string name, int sex, string birthday, byte[] photo)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (BLL.UploadPhoto(idType, idCard, name, sex, birthday, photo) > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// 人脸识别
|
||||
/// </summary>
|
||||
/// <param name="photo"></param>
|
||||
/// <param name="idType"></param>
|
||||
/// <param name="idCard"></param>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="sex"></param>
|
||||
/// <param name="matchPhoto"></param>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public bool FaceMatch(byte[] photo, ref int idType, ref string idCard, ref string name, ref int sex, ref byte[] matchPhoto)
|
||||
{
|
||||
try
|
||||
{
|
||||
return BLL.FaceMatch(photo, ref idType, ref idCard, ref name, ref sex, ref matchPhoto);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLog(ex.ToString());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//[WebMethod]
|
||||
//public int SendSMS(string phoneNumber)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// string validateCode = Tools.CreateValidateCode(4);
|
||||
// //发送短信验证码
|
||||
// AliyunSMSHelper.SendVerifySMS(phoneNumber, validateCode);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// LogHelper.WriteLog(ex.ToString());
|
||||
// }
|
||||
// return 0;
|
||||
//}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user