初始化

This commit is contained in:
2025-11-20 15:56:30 +08:00
commit ab6e620f8e
154 changed files with 29677 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace MyQianLiMa
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
// Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}

View File

@@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using CSRedis;
namespace BLWWS.PMS.Common
{
/// <summary>
/// Redis缓存辅助类
/// </summary>
public class CSRedisCacheHelper
{
public static CSRedisClient redis;
private static int SessionExpireMinutes = 60 * 24 * 60;
public static string pwd = ConfigurationManager.AppSettings["redis_pwd"];
static CSRedisCacheHelper()
{
//var redisHostStr = "127.0.0.1:7555,poolsize=20";
var redisHostStr = "127.0.0.1:6379,poolsize=20";
if (!string.IsNullOrEmpty(redisHostStr))
{
//redis = new CSRedisClient(redisHostStr + ",password=cw_oy_lsh,defaultDatabase=1");
string str = string.Format(",password={0},defaultDatabase=1", pwd);
redis = new CSRedisClient(redisHostStr + str);
}
}
/// <summary>
/// 添加缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public static void Set<T>(string key, T value)
{
redis.Set(key, value, SessionExpireMinutes * 60);
}
public static T Get<T>(string key)
{
return redis.Get<T>(key);
}
public static void Forever<T>(string key, T value)
{
redis.Set(key, value, -1);
}
public static void Del(string key)
{
redis.Del(key);
}
/// <summary>
/// 判断是否存在
/// </summary>
/// <param name="key"></param>
/// <param name="mac"></param>
/// <returns></returns>
public static bool Contains(string key, string mac)
{
bool result = redis.Exists(mac);
if (!result)
{
result = redis.Exists(key);
}
return result;
}
public static bool Contains(string key)
{
bool result = redis.Exists(key);
return result;
}
/// <summary>
/// 添加Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public static void HMSet<T>(string key, T value)
{
redis.HMSet(key, value);
}
/// <summary>
/// 获取Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static T[] HMGet<T>(string key)
{
return redis.HMGet<T>(key);
}
/// <summary>
/// 删除Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static long HDel<T>(string key)
{
return redis.HDel(key);
}
}
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="AddHotelInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.AddHotelInfoResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="ChangePhoneNumberResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.ChangePhoneNumberResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="CheckIn2Response" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.CheckIn2Response, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="CheckInResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.CheckInResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="CheckOutResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.CheckOutResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="GetPushBaoJing_IsEnableResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.GetPushBaoJing_IsEnableResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PushBaoJing_IsEnableResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.PushBaoJing_IsEnableResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="RentRoomResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.RentRoomResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="UploadPhotoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>MyQianLiMa.ServiceReference1.UploadPhotoResponse, Connected Services.ServiceReference1.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<ReferenceGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="1bef9fb7-1054-4e4e-b35b-e56b53a82dba" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
<ClientOptions>
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
<EnableDataBinding>true</EnableDataBinding>
<ExcludedTypes />
<ImportXmlTypes>false</ImportXmlTypes>
<GenerateInternalTypes>false</GenerateInternalTypes>
<GenerateMessageContracts>false</GenerateMessageContracts>
<NamespaceMappings />
<CollectionMappings />
<GenerateSerializableTypes>true</GenerateSerializableTypes>
<Serializer>Auto</Serializer>
<UseSerializerForFaults>true</UseSerializerForFaults>
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
<ReferencedAssemblies />
<ReferencedDataContractTypes />
<ServiceContractMappings />
</ClientOptions>
<MetadataSources>
<MetadataSource Address="http://pms.boonlive-rcu.com:89/blwws.asmx" Protocol="http" SourceId="1" />
</MetadataSources>
<Metadata>
<MetadataFile FileName="blwws.disco" MetadataType="Disco" ID="5358c26b-177c-45b7-8158-1fbbaeac2912" SourceId="1" SourceUrl="http://pms.boonlive-rcu.com:89/blwws.asmx?disco" />
<MetadataFile FileName="blwws.wsdl" MetadataType="Wsdl" ID="c33dd4cb-6121-4f50-a047-8676ba1c3efc" SourceId="1" SourceUrl="http://pms.boonlive-rcu.com:89/blwws.asmx?wsdl" />
</Metadata>
<Extensions>
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
</Extensions>
</ReferenceGroup>

View 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://pms.boonlive-rcu.com:89/blwws.asmx?wsdl" docRef="http://pms.boonlive-rcu.com:89/blwws.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
<soap address="http://pms.boonlive-rcu.com:89/blwws.asmx" xmlns:q1="http://www.blw.com/" binding="q1:blwwsSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
<soap address="http://pms.boonlive-rcu.com:89/blwws.asmx" xmlns:q2="http://www.blw.com/" binding="q2:blwwsSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery>

View File

@@ -0,0 +1,456 @@
<?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://www.blw.com/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://www.blw.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.blw.com/">
<s:element name="CheckIn">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="roomNumber" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="checkInDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="xmlString" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="phoneNumber" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="idNumber" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CheckInResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="CheckInResult" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CheckIn2">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="roomNumber" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="checkInDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="xmlString" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="checkInID" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="phoneNumber" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="idNumber" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CheckIn2Response">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="CheckIn2Result" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="checkInID" type="s:long" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="UploadPhoto">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="checkInID" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="idType" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="idCard" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="sex" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="birthday" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="photoUrl" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="photo" type="s:base64Binary" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="UploadPhotoResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="UploadPhotoResult" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ChangePhoneNumber">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="roomNumber" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="phoneNumber" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="idNumber" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ChangePhoneNumberResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ChangePhoneNumberResult" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CheckOut">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="roomNumber" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="checkOutDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CheckOutResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="CheckOutResult" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RentRoom">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="roomNumber" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="rentDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RentRoomResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="RentRoomResult" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="errorMsg" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PushBaoJing_IsEnable">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="isable" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PushBaoJing_IsEnableResponse">
<s:complexType />
</s:element>
<s:element name="GetPushBaoJing_IsEnable">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="code" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetPushBaoJing_IsEnableResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="GetPushBaoJing_IsEnableResult" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddHotelInfo">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HotelName" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="HotelId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddHotelInfoResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="AddHotelInfoResult" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="CheckInSoapIn">
<wsdl:part name="parameters" element="tns:CheckIn" />
</wsdl:message>
<wsdl:message name="CheckInSoapOut">
<wsdl:part name="parameters" element="tns:CheckInResponse" />
</wsdl:message>
<wsdl:message name="CheckIn2SoapIn">
<wsdl:part name="parameters" element="tns:CheckIn2" />
</wsdl:message>
<wsdl:message name="CheckIn2SoapOut">
<wsdl:part name="parameters" element="tns:CheckIn2Response" />
</wsdl:message>
<wsdl:message name="UploadPhotoSoapIn">
<wsdl:part name="parameters" element="tns:UploadPhoto" />
</wsdl:message>
<wsdl:message name="UploadPhotoSoapOut">
<wsdl:part name="parameters" element="tns:UploadPhotoResponse" />
</wsdl:message>
<wsdl:message name="ChangePhoneNumberSoapIn">
<wsdl:part name="parameters" element="tns:ChangePhoneNumber" />
</wsdl:message>
<wsdl:message name="ChangePhoneNumberSoapOut">
<wsdl:part name="parameters" element="tns:ChangePhoneNumberResponse" />
</wsdl:message>
<wsdl:message name="CheckOutSoapIn">
<wsdl:part name="parameters" element="tns:CheckOut" />
</wsdl:message>
<wsdl:message name="CheckOutSoapOut">
<wsdl:part name="parameters" element="tns:CheckOutResponse" />
</wsdl:message>
<wsdl:message name="RentRoomSoapIn">
<wsdl:part name="parameters" element="tns:RentRoom" />
</wsdl:message>
<wsdl:message name="RentRoomSoapOut">
<wsdl:part name="parameters" element="tns:RentRoomResponse" />
</wsdl:message>
<wsdl:message name="PushBaoJing_IsEnableSoapIn">
<wsdl:part name="parameters" element="tns:PushBaoJing_IsEnable" />
</wsdl:message>
<wsdl:message name="PushBaoJing_IsEnableSoapOut">
<wsdl:part name="parameters" element="tns:PushBaoJing_IsEnableResponse" />
</wsdl:message>
<wsdl:message name="GetPushBaoJing_IsEnableSoapIn">
<wsdl:part name="parameters" element="tns:GetPushBaoJing_IsEnable" />
</wsdl:message>
<wsdl:message name="GetPushBaoJing_IsEnableSoapOut">
<wsdl:part name="parameters" element="tns:GetPushBaoJing_IsEnableResponse" />
</wsdl:message>
<wsdl:message name="AddHotelInfoSoapIn">
<wsdl:part name="parameters" element="tns:AddHotelInfo" />
</wsdl:message>
<wsdl:message name="AddHotelInfoSoapOut">
<wsdl:part name="parameters" element="tns:AddHotelInfoResponse" />
</wsdl:message>
<wsdl:portType name="blwwsSoap">
<wsdl:operation name="CheckIn">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">开房&lt;br/&gt;key验证码我方提供code编码我方提供roomNumber房号checkInDate入住日期xmlString客人信息errorMsg返回错误信息phoneNumber手机号码多个以英文逗号,隔开idNumber身份证号多个以英文逗号,隔开):获取微信登录验证码</wsdl:documentation>
<wsdl:input message="tns:CheckInSoapIn" />
<wsdl:output message="tns:CheckInSoapOut" />
</wsdl:operation>
<wsdl:operation name="CheckIn2">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">开房&lt;br/&gt;key验证码我方提供code编码我方提供roomNumber房号checkInDate入住日期xmlString客人信息errorMsg返回错误信息checkInID返回入住记录IDphoneNumber手机号码多个以英文逗号,隔开idNumber身份证号多个以英文逗号,隔开):获取微信登录验证码</wsdl:documentation>
<wsdl:input message="tns:CheckIn2SoapIn" />
<wsdl:output message="tns:CheckIn2SoapOut" />
</wsdl:operation>
<wsdl:operation name="UploadPhoto">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">上传入住人信息&lt;br/&gt;key验证码我方提供code编码我方提供checkInID入住记录IDidType证件类型(0身份证1护照2军官证3其他)idCard证件号码name姓名sex性别(0女1男2其他)birthday出生日期(1999-01-01)photoUrl图片路径与photo二选一photo图片二进制errorMsg错误信息</wsdl:documentation>
<wsdl:input message="tns:UploadPhotoSoapIn" />
<wsdl:output message="tns:UploadPhotoSoapOut" />
</wsdl:operation>
<wsdl:operation name="ChangePhoneNumber">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">变更手机号&lt;br/&gt;key验证码我方提供code编码我方提供roomNumber房号errorMsg错误信息phoneNumber手机号码多个以英文逗号,隔开idNumber身份证号获取验证码</wsdl:documentation>
<wsdl:input message="tns:ChangePhoneNumberSoapIn" />
<wsdl:output message="tns:ChangePhoneNumberSoapOut" />
</wsdl:operation>
<wsdl:operation name="CheckOut">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">退房&lt;br/&gt;key验证码我方提供code编码我方提供roomNumber房号checkOutDate退房日期errorMsg错误信息</wsdl:documentation>
<wsdl:input message="tns:CheckOutSoapIn" />
<wsdl:output message="tns:CheckOutSoapOut" />
</wsdl:operation>
<wsdl:operation name="RentRoom">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">待租&lt;br/&gt;key验证码我方提供code编码我方提供roomNumber房号rentDate变更待租日期errorMsg错误信息</wsdl:documentation>
<wsdl:input message="tns:RentRoomSoapIn" />
<wsdl:output message="tns:RentRoomSoapOut" />
</wsdl:operation>
<wsdl:operation name="PushBaoJing_IsEnable">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">推送数据到宝镜</wsdl:documentation>
<wsdl:input message="tns:PushBaoJing_IsEnableSoapIn" />
<wsdl:output message="tns:PushBaoJing_IsEnableSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetPushBaoJing_IsEnable">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">获取是否推送PMS数据到宝镜</wsdl:documentation>
<wsdl:input message="tns:GetPushBaoJing_IsEnableSoapIn" />
<wsdl:output message="tns:GetPushBaoJing_IsEnableSoapOut" />
</wsdl:operation>
<wsdl:operation name="AddHotelInfo">
<wsdl:input message="tns:AddHotelInfoSoapIn" />
<wsdl:output message="tns:AddHotelInfoSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="blwwsSoap" type="tns:blwwsSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CheckIn">
<soap:operation soapAction="http://www.blw.com/CheckIn" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckIn2">
<soap:operation soapAction="http://www.blw.com/CheckIn2" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UploadPhoto">
<soap:operation soapAction="http://www.blw.com/UploadPhoto" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ChangePhoneNumber">
<soap:operation soapAction="http://www.blw.com/ChangePhoneNumber" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckOut">
<soap:operation soapAction="http://www.blw.com/CheckOut" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RentRoom">
<soap:operation soapAction="http://www.blw.com/RentRoom" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PushBaoJing_IsEnable">
<soap:operation soapAction="http://www.blw.com/PushBaoJing_IsEnable" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetPushBaoJing_IsEnable">
<soap:operation soapAction="http://www.blw.com/GetPushBaoJing_IsEnable" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AddHotelInfo">
<soap:operation soapAction="http://www.blw.com/AddHotelInfo" 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="blwwsSoap12" type="tns:blwwsSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CheckIn">
<soap12:operation soapAction="http://www.blw.com/CheckIn" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckIn2">
<soap12:operation soapAction="http://www.blw.com/CheckIn2" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UploadPhoto">
<soap12:operation soapAction="http://www.blw.com/UploadPhoto" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ChangePhoneNumber">
<soap12:operation soapAction="http://www.blw.com/ChangePhoneNumber" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckOut">
<soap12:operation soapAction="http://www.blw.com/CheckOut" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RentRoom">
<soap12:operation soapAction="http://www.blw.com/RentRoom" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PushBaoJing_IsEnable">
<soap12:operation soapAction="http://www.blw.com/PushBaoJing_IsEnable" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetPushBaoJing_IsEnable">
<soap12:operation soapAction="http://www.blw.com/GetPushBaoJing_IsEnable" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AddHotelInfo">
<soap12:operation soapAction="http://www.blw.com/AddHotelInfo" 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="blwws">
<wsdl:port name="blwwsSoap" binding="tns:blwwsSoap">
<soap:address location="http://pms.boonlive-rcu.com:89/blwws.asmx" />
</wsdl:port>
<wsdl:port name="blwwsSoap12" binding="tns:blwwsSoap12">
<soap12:address location="http://pms.boonlive-rcu.com:89/blwws.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings>
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;blwwsSoap&quot; /&gt;" bindingType="basicHttpBinding" name="blwwsSoap" />
</bindings>
<endpoints>
<endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://pms.boonlive-rcu.com:89/blwws.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;blwwsSoap&quot; contract=&quot;ServiceReference1.blwwsSoap&quot; name=&quot;blwwsSoap&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://pms.boonlive-rcu.com:89/blwws.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;blwwsSoap&quot; contract=&quot;ServiceReference1.blwwsSoap&quot; name=&quot;blwwsSoap&quot; /&gt;" contractName="ServiceReference1.blwwsSoap" name="blwwsSoap" />
</endpoints>
</configurationSnapshot>

View File

@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="JnvezQfYz7ntN+hp84vGGVcVeG+SY3Pd5I8mFkPfhoY=">
<bindingConfigurations>
<bindingConfiguration bindingType="basicHttpBinding" name="blwwsSoap">
<properties>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>blwwsSoap</serializedValue>
</property>
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>StrongWildcard</serializedValue>
</property>
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>65536</serializedValue>
</property>
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
</property>
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Text.UTF8Encoding</serializedValue>
</property>
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Buffered</serializedValue>
</property>
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Text</serializedValue>
</property>
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
</property>
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
</property>
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Never</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>TransportSelected</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>(集合)</serializedValue>
</property>
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
</property>
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>UserName</serializedValue>
</property>
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Default</serializedValue>
</property>
</properties>
</bindingConfiguration>
</bindingConfigurations>
<endpoints>
<endpoint name="blwwsSoap" contract="ServiceReference1.blwwsSoap" bindingType="basicHttpBinding" address="http://pms.boonlive-rcu.com:89/blwws.asmx" bindingConfiguration="blwwsSoap">
<properties>
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>http://pms.boonlive-rcu.com:89/blwws.asmx</serializedValue>
</property>
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>basicHttpBinding</serializedValue>
</property>
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>blwwsSoap</serializedValue>
</property>
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>ServiceReference1.blwwsSoap</serializedValue>
</property>
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
</property>
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>&lt;Header /&gt;</serializedValue>
</property>
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
</property>
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
</property>
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
</property>
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
</property>
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
</property>
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
</property>
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
</property>
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>My</serializedValue>
</property>
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>LocalMachine</serializedValue>
</property>
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
</property>
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>False</serializedValue>
</property>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>blwwsSoap</serializedValue>
</property>
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
</properties>
</endpoint>
</endpoints>
</SavedWcfConfigurationInformation>

View File

@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
using BLWWS.PMS;
namespace MoNi_QianLiMa.Controller
{
public class ValuesController : ApiController
{
[HttpPost()]
public string PostData(string hotelcode, string add_or_remove)
{
string msg = "";
try
{
var q = HttpContext.Current.Application["config"];
var D = (ConfigData)q;
if (add_or_remove.Equals("add"))
{
D.DuiJieInfos.RemoveAll(A=>A.hotel_code.Equals(hotelcode));
DuiJieInfo ddd = new DuiJieInfo();
ddd.hotel_code = hotelcode;
D.DuiJieInfos.Add(ddd);
}
else if (add_or_remove.Equals("remove"))
{
D.DuiJieInfos.RemoveAll(A => A.hotel_code.Equals(hotelcode));
}
string str = Newtonsoft.Json.JsonConvert.SerializeObject(D);
//var filepath = Path.Combine(Directory.GetCurrentDirectory(), "config.json");
string filepath1 = HttpContext.Current.Server.MapPath("~/config.json");
File.WriteAllText(filepath1, str);
msg = "sucess";
}
catch (Exception ex)
{
msg = ex.Message;
}
return msg;
}
[HttpPost()]
public string PostDataOne()
{
return "hello";
}
public void SaveData2File()
{
}
}
}

1
MyQianLiMa/Global.asax Normal file
View File

@@ -0,0 +1 @@
<%@ Application Codebehind="Global.asax.cs" Inherits="MyQianLiMa.Global" Language="C#" %>

401
MyQianLiMa/Global.asax.cs Normal file
View File

@@ -0,0 +1,401 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Routing;
using System.Web.Security;
using System.Web.SessionState;
using System.Web.Http;
using System.Xml.Linq;
using System.Threading.Tasks;
using RestSharp;
using System.Configuration;
using Newtonsoft.Json;
using BLWWS.PMS;
using System.Collections.Concurrent;
using BLWWS.PMS.Common;
using Microsoft.Extensions.Logging;
using NLog;
using System.IO;
using System.Text;
using Quartz.Impl;
using Quartz;
using MoNi_QianLiMa.Job;
namespace MyQianLiMa
{
public class Global : HttpApplication
{
private readonly Logger _logger = LogManager.GetCurrentClassLogger();
public static ConcurrentDictionary<string, string> GlobalData { get; }
= new ConcurrentDictionary<string, string>();
System.Timers.Timer timer;
System.Timers.Timer token_timer;
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
GlobalConfiguration.Configure(WebApiConfig.Register);
try
{
string filepath = Server.MapPath("config.json");
string str = File.ReadAllText(filepath, Encoding.UTF8);
var d = JsonConvert.DeserializeObject<ConfigData>(str);
Application.Add("config", d);
//获取token数据
//token_timer = new System.Timers.Timer();
//token_timer.Interval = 30 * 60 * 1000;
//token_timer.Elapsed += Token_timer_Elapsed; ;
//token_timer.Start();
GetTokenData().Wait();
//获取实际上的数据
timer = new System.Timers.Timer();
timer.Interval = 30 * 1000;
timer.Elapsed += Timer_Elapsed;
timer.Start();
}
catch (Exception ex)
{
_logger.Error("Application_start: " + ex.Message);
}
try
{
StdSchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = factory.GetScheduler().Result;//Scheduler:调度程序
// 启动任务调度器
scheduler.Start().Wait();
string jobKey = "Get_Token";
IJobDetail jobDetail = JobBuilder.Create<GetTokenJob>()
.WithIdentity(jobKey)
.UsingJobData("RequestUrl", "nouser")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("GetTokenData")
.StartNow()
.WithSimpleSchedule(x =>
{
x.WithIntervalInMinutes(20).RepeatForever();
//x.WithIntervalInSeconds(5).RepeatForever();
//x.WithIntervalInHours(1).RepeatForever();
})
.Build();
scheduler.ScheduleJob(jobDetail, trigger).Wait();
}
catch (Exception ex)
{
_logger.Error("Application_start: " + ex.Message);
}
}
public static string BaseUrl = ConfigurationManager.AppSettings["qianlima_httpurl"];
public static string UserCode = ConfigurationManager.AppSettings["UserCode"];
public static string UserKey = ConfigurationManager.AppSettings["UserKey"];
private static readonly string _key = ConfigurationManager.AppSettings["key"];
public static string qianlima_orgUnitNo = ConfigurationManager.AppSettings["qianlima_orgUnitNo"];
private async void Token_timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
await GetTokenData();
}
catch (Exception ex)
{
_logger.Error("GetToken: " + ex.Message);
}
}
public static string QianLiMa_LoginToken = "qianlima_token";
public static string QianLiMa_DingDan = "qianlima_order";
public async Task GetTokenData()
{
//Dictionary<string, string> Params = new Dictionary<string, string>();
//Params.Add("userCode", UserCode);
//Params.Add("key", UserKey);
//var tokenstr = await Send_Http_Request_Params("/iPMSAPI/iPMSApiService/api/applySecurityToken", Params);
//if (!string.IsNullOrEmpty(tokenstr))
//{
// var dic = JsonConvert.DeserializeObject<Dictionary<string, string>>(tokenstr);
// string token = dic["securityToken"];
// Application.Add(QianLiMa_LoginToken, token);
//}
string token = await GetToken_G();
if (!string.IsNullOrEmpty(token))
{
GlobalData.AddOrUpdate(QianLiMa_LoginToken, token, (k, v) =>
{
return token;
});
//Application.Add(QianLiMa_LoginToken, token);
}
}
public static async Task<string> GetToken_G()
{
Dictionary<string, string> Params = new Dictionary<string, string>();
Params.Add("userCode", UserCode);
Params.Add("key", UserKey);
var tokenstr = await Send_Http_Request_Params("/iPMSAPI/iPMSApiService/api/applySecurityToken", Params);
if (!string.IsNullOrEmpty(tokenstr))
{
var dic = JsonConvert.DeserializeObject<Dictionary<string, string>>(tokenstr);
string token = dic["securityToken"];
return token;
}
return "";
}
/// <summary>
/// 获取千里马的数据
/// </summary>
/// <returns></returns>
public async Task GetHotelData()
{
try
{
ConfigData data = null;
object OOO = Application["config"];
if (OOO != null)
{
data = OOO as ConfigData;
}
if (data == null)
{
return;
}
foreach (var HHH in data.DuiJieInfos)
{
string code = HHH.hotel_code;
RData r = new RData();
QHotelData h = new QHotelData();
h.hostName = "Stephen-PC";
h.lang = "zh-CN";
h.optCode = UserCode;
h.userCode = UserCode;
h.orgUnitNo = qianlima_orgUnitNo;
h.productCode = "zh-CN";
//object ooo = Application[QianLiMa_LoginToken];
string ooo = "";
GlobalData.TryGetValue(QianLiMa_LoginToken, out ooo);
if (string.IsNullOrEmpty(ooo))
{
return;
}
h.securityToken = ooo;
ParamsData paramsData = new ParamsData();
//paramsData.gstStat = "默认查在住状态";
r.@params = paramsData;
r.integratedRequest = h;
var tokenstr = await Send_Http_Request_Json("iPMSAPI/iPMSApiService/api/queryInHouseList", r);
_logger.Error("获取到千里马酒店的数据为:" + tokenstr);
if (!string.IsNullOrEmpty(tokenstr))
{
var dic = JsonConvert.DeserializeObject<QianLiMaReturnInfo>(tokenstr);
var ll = dic.resultList;
var T = new List<Tuple<int, string, string, string, string, string>>();
foreach (CustomerData item in ll)
{
var tu = new Tuple<int, string, string, string, string, string>(
item.accid,
item.docno,
item.doctype,
item.gstTel,
item.gstname,
item.rmno
);
T.Add(tu);
}
var U = CSRedisCacheHelper.Get<List<Tuple<int, string, string, string, string, string>>>(QianLiMa_DingDan);
if (U == null)
{
CSRedisCacheHelper.Set(QianLiMa_DingDan, T);
}
else
{
var Take_T = U as List<Tuple<int, string, string, string, string, string>>;
//开房的
var NewAdd = T.Except(Take_T);
string errormsg = "";
if (NewAdd.Count() > 0)
{
foreach (var item in NewAdd)
{
//item.accid,
//item.docno,
//item.doctype,
//item.gstTel,
//item.gstname,
//item.rmno
string ti = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string tj = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss");
string Item2 = item.Item2;
if (string.IsNullOrEmpty(item.Item2))
{
Item2 = "";
}
string Item5 = item.Item5;
if (string.IsNullOrEmpty(item.Item5))
{
Item5 = "";
}
string xmldata = XmlGenerate(item.Item1, Item2, Item5, ti, tj);
_logger.Error("检测到开房:" + item.Item1 + " RoomNo:" + item.Item6);
b.CheckIn(_key, code, item.Item6, DateTime.Now, xmldata, ref errormsg, "", Item2);
_logger.Error("检测到开房errormsg: " + errormsg);
}
}
//退房的
var CheckOut = Take_T.Except(T);
if (CheckOut.Count() > 0)
{
foreach (var item in CheckOut)
{
_logger.Error("检测到退房,RoomNo:" + item.Item6);
b.CheckOut(_key, code, item.Item6, DateTime.Now, ref errormsg);
_logger.Error("检测到退房,error:" + errormsg);
}
}
CSRedisCacheHelper.Set(QianLiMa_DingDan, T);
}
}
}
}
catch (Exception ex)
{
_logger.Error("GetHotelData: " + ex.Message);
_logger.Error("GetHotelData: " + ex.StackTrace);
}
}
/// <summary>
/// 发送json数据
/// </summary>
/// <param name="Url"></param>
/// <param name="json"></param>
/// <returns></returns>
public static async Task<string> Send_Http_Request_Json(string Url, object json)
{
var client1 = new RestClient(BaseUrl);
//var client1 = new RestClient("http://localhost:5132");
var request1 = new RestRequest(Url, Method.POST);
request1.AddJsonBody(json);
var response = client1.Execute(request1);
var content = response.Content;
return content;
}
/// <summary>
/// 发送url编码数据
/// </summary>
/// <param name="Url"></param>
/// <param name="Params"></param>
/// <returns></returns>
public static async Task<string> Send_Http_Request_Params(string Url, Dictionary<string, string> Params)
{
var client1 = new RestClient(BaseUrl);
var request1 = new RestRequest(Url, Method.POST);
foreach (KeyValuePair<string, string> item in Params)
{
request1.AddParameter(item.Key, item.Value);
}
var response = client1.Execute(request1);
var content = response.Content;
return content;
}
private ServiceReference1.blwwsSoapClient b = new ServiceReference1.blwwsSoapClient();
private async void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
timer.Stop();
await GetHotelData();
timer.Start();
}
catch (Exception ex)
{
_logger.Error("GetHotelData: " + ex.Message);
}
}
//<interface orderno= 入 住 单 号
// cost= 费 用
// roomtype= 房 型
// breakfast=1(是否含早) occupancy=入住人数 deposit=押金 >
// <item
// idtype="0" //0 身份证1 护照2 军官证3 其他
// idcard="441323xxxxxxxxxxxx" //证件号
// customer="张三" //姓名
// sex="男" //性别:男、女
// country="0" //0 国内1 国际
// checkindate="2015-07-01 13:45:20" /> //入住日期
// checkoutdate="2015-07-02 13:45:20" /> //离店日期
//</interface>
public string XmlGenerate(decimal orderno, string idcardno, string customername, string checkintdatetime, string checkoutdatetime)
{
XElement xelement = new XElement("interface",
new XAttribute[]
{
new XAttribute("orderno",orderno),
new XAttribute("cost","100"),
new XAttribute("roomtype",""),
new XAttribute("breakfast",""),
new XAttribute("occupancy",""),
new XAttribute("deposit","")
},
new XElement("item",
new XAttribute[]
{
new XAttribute("idtype", "0"),
new XAttribute("idcard", idcardno),
new XAttribute("customer", customername),
new XAttribute("sex", "1"),
new XAttribute("country", "1"),
new XAttribute("checkindate", checkintdatetime),
new XAttribute("checkoutdate",checkoutdatetime)
})
);
string hhh = xelement.ToString();
return hhh;
}
}
}

17
MyQianLiMa/Index.aspx Normal file
View File

@@ -0,0 +1,17 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MyQianLiMa.Index" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
hello
</div>
</form>
</body>
</html>

17
MyQianLiMa/Index.aspx.cs Normal file
View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MyQianLiMa
{
public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}

26
MyQianLiMa/Index.aspx.designer.cs generated Normal file
View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MyQianLiMa
{
public partial class Index
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
using MyQianLiMa;
using Quartz;
namespace MoNi_QianLiMa.Job
{
public class GetTokenJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
string token = await MyQianLiMa.Global.GetToken_G();
Global.GlobalData.AddOrUpdate(Global.QianLiMa_LoginToken,token,(k,v)=>
{
return token;
});
}
}
}

View File

@@ -0,0 +1,242 @@
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<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>{D7F82DA5-DC79-4308-BA3E-304287123032}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MyQianLiMa</RootNamespace>
<AssemblyName>MyQianLiMa</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</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>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CSRedisCore, Version=3.8.804.0, Culture=neutral, PublicKeyToken=9aa6a3079358d437, processorArchitecture=MSIL">
<HintPath>..\packages\CSRedisCore.3.8.804\lib\net45\CSRedisCore.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.6.0.0\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.14.0.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.14.0\lib\net462\Quartz.dll</HintPath>
</Reference>
<Reference Include="RestSharp">
<HintPath>..\BLWWS\RestSharp\RestSharp.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
</ItemGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="config.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Index.aspx" />
<Content Include="WebForm1.aspx" />
<None Include="Connected Services\ServiceReference1\blwws.disco" />
<None Include="Connected Services\ServiceReference1\configuration91.svcinfo" />
<None Include="Connected Services\ServiceReference1\configuration.svcinfo" />
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.AddHotelInfoResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.ChangePhoneNumberResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.CheckIn2Response.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.CheckInResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.CheckOutResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.GetPushBaoJing_IsEnableResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.PushBaoJing_IsEnableResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.RentRoomResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<Content Include="Connected Services\ServiceReference1\MyQianLiMa.ServiceReference1.UploadPhotoResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</Content>
<None Include="Connected Services\ServiceReference1\Reference.svcmap">
<Generator>WCF Proxy Generator</Generator>
<LastGenOutput>Reference.cs</LastGenOutput>
</None>
<Content Include="Global.asax" />
<Content Include="Web.config" />
<None Include="Connected Services\ServiceReference1\blwws.wsdl" />
<Content Include="nlog.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Common\CSRedisCacheHelper.cs" />
<Compile Include="Connected Services\ServiceReference1\Reference.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Reference.svcmap</DependentUpon>
</Compile>
<Compile Include="Controllers\ValuesController.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Index.aspx.cs">
<DependentUpon>Index.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Index.aspx.designer.cs">
<DependentUpon>Index.aspx</DependentUpon>
</Compile>
<Compile Include="Job\GetTokenJob.cs" />
<Compile Include="PMS\ConfigData.cs" />
<Compile Include="PMS\QHotelData.cs" />
<Compile Include="PMS\QianLiMaReturnInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="WebForm1.aspx.cs">
<DependentUpon>WebForm1.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebForm1.aspx.designer.cs">
<DependentUpon>WebForm1.aspx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="NLog.xsd">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
<Folder Include="Models\" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup>
<WCFMetadataStorage Include="Connected Services\ServiceReference1\" />
</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>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>15081</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:15081/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('..\packages\NLog.Schema.6.0.0\build\NLog.Schema.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NLog.Schema.6.0.0\build\NLog.Schema.targets'))" />
</Target>
<Import Project="..\packages\NLog.Schema.6.0.0\build\NLog.Schema.targets" Condition="Exists('..\packages\NLog.Schema.6.0.0\build\NLog.Schema.targets')" />
<!-- 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>

5039
MyQianLiMa/NLog.xsd Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BLWWS.PMS
{
public class ConfigData
{
public int Interval { get; set; }
public List<DuiJieInfo> DuiJieInfos { get; set; }
}
public class DuiJieInfo
{
public string zuzhi_code { get; set; } = "";
public string hotel_code { get; set; }
}
}

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BLWWS.PMS
{
public class RData
{
public QHotelData integratedRequest { get; set; }
public ParamsData @params { get; set; }
}
public class QHotelData
{
public string hostName { get; set; }
public string lang { get; set; }
public string optCode { get; set; }
public string orgUnitNo { get; set; }
public string productCode { get; set; }
public string securityToken { get; set; }
public string userCode { get; set; }
}
public class ParamsData
{
public string gstStat { get; set; }
public string mixParam { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BLWWS.PMS
{
public class QianLiMaReturnInfo
{
public int? count { get; set; }
public int? curPage { get; set; }
public int? errCode { get; set; }
public string errText { get; set; }
public List<CustomerData> resultList { get; set; }
}
public class CustomerData
{
public int accid { get; set; }
/// <summary>
/// 证件号
/// </summary>
public string docno { get; set; }
public string doctype { get; set; }
/// <summary>
///
/// </summary>
public string gstTel { get; set; }
/// <summary>
///
/// </summary>
public string gstname { get; set; }
/// <summary>
/// 房间号
/// </summary>
public string rmno { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过下列特性集
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MyQianLiMa")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MyQianLiMa")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
// 对 COM 组件不可见。如果需要
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
[assembly: Guid("d7f82da5-dc79-4308-ba3e-304287123032")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订版本
//
// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 有关使用 web.config 转换的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
在下例中“SetAttributes”转换将更改
“connectionString”的值以仅在“Match”定位器
找到值为“MyDB”的特性“name”时使用“ReleaseSQLServer”。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<!--
在下例中“Replace”转换将替换
web.config 文件的整个 <customErrors> 节。
请注意,由于
在 <system.web> 节点下仅有一个 customErrors 节因此不需要使用“xdt:Locator”特性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 有关使用 web.config 转换的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
在下例中“SetAttributes”转换将更改
“connectionString”的值以仅在“Match”定位器
找到值为“MyDB”的特性“name”时使用“ReleaseSQLServer”。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
在下例中“Replace”转换将替换
web.config 文件的整个 <customErrors> 节。
请注意,由于
在 <system.web> 节点下仅有一个 customErrors 节因此不需要使用“xdt:Locator”特性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>

82
MyQianLiMa/Web.config Normal file
View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<appSettings>
<add key="qianlima_httpurl" value="https://armitage-ipms.shijicloud.com"/>
<add key="UserCode" value="KKJK"/>
<add key="UserKey" value="KKJK0428"/>
<add key="qianlima_orgUnitNo" value="00013137"/>
<add key="key" value="blw_ws@2015"/>
<add key="redis_pwd" value=""/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.2" />
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.Infrastructure" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="blwwsSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://pms.boonlive-rcu.com:89/blwws.asmx"
binding="basicHttpBinding" bindingConfiguration="blwwsSoap"
contract="ServiceReference1.blwwsSoap" name="blwwsSoap" />
</client>
</system.serviceModel>
</configuration>

62
MyQianLiMa/WebForm1.aspx Normal file
View File

@@ -0,0 +1,62 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MyQianLiMa.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<span style="text-align: center">
<asp:Label ID="Label1" runat="server" Text="千里马请求时间"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="更改" />
<br />
<br />
</span>
<asp:Label ID="Label12" runat="server" Text=""></asp:Label>
<br />
<br />
<asp:Panel ID="Panel1" runat="server">
<asp:Label ID="Label11" runat="server" Text="酒店编码:"></asp:Label>
<asp:TextBox ID="txthotelcode" runat="server"></asp:TextBox>
<asp:Button ID="Button3" runat="server" Text="添加酒店信息" OnClick="Button3_Click" />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="193px" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowCommand="GridView1_RowCommand">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:BoundField DataField="hotel_code" HeaderText="酒店编码">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="btnDelete" runat="server" Text="删除" CommandName="Delete" CommandArgument='<%# Eval("hotel_code") %>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
</asp:Panel>
<br />
<br />
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLWWS.PMS;
namespace MyQianLiMa
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var q = Application["config"];
var D = (ConfigData)q;
int v = D.Interval;
this.TextBox1.Text = v.ToString();
this.GridView1.DataSource = D.DuiJieInfos;
this.GridView1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
var q = Application["config"];
var D = (ConfigData)q;
int a = 10;
int.TryParse(this.TextBox1.Text, out a);
D.Interval = a;
SaveData2File(D);
this.Label12.Text = "保存成功";
}
catch (Exception ex)
{
this.Label12.Text = "保存失败。原因: " + ex.Message;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
}
protected void Button3_Click(object sender, EventArgs e)
{
var q = Application["config"];
var D = (ConfigData)q;
DuiJieInfo ddd = new DuiJieInfo();
ddd.hotel_code = this.txthotelcode.Text;
D.DuiJieInfos.Add(ddd);
SaveData2File(D);
this.GridView1.DataSource = D.DuiJieInfos;
this.GridView1.DataBind();
}
private void SaveData2File(ConfigData D)
{
string str = Newtonsoft.Json.JsonConvert.SerializeObject(D);
string filepath = Server.MapPath("config.json");
File.WriteAllText(filepath, str);
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
var q = Application["config"];
var D = (ConfigData)q;
var d = D.DuiJieInfos.FirstOrDefault(A => A.hotel_code == e.CommandArgument.ToString());
D.DuiJieInfos.Remove(d);
SaveData2File(D);
this.GridView1.DataSource = D.DuiJieInfos;
this.GridView1.DataBind();
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
}
}
public struct VVV
{
public string name;
}
}

107
MyQianLiMa/WebForm1.aspx.designer.cs generated Normal file
View File

@@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MyQianLiMa
{
public partial class WebForm1
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// TextBox1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox TextBox1;
/// <summary>
/// Button1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Button Button1;
/// <summary>
/// Label12 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label12;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// Label11 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label11;
/// <summary>
/// txthotelcode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txthotelcode;
/// <summary>
/// Button3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Button Button3;
/// <summary>
/// GridView1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView GridView1;
}
}

1
MyQianLiMa/config.json Normal file
View File

@@ -0,0 +1 @@
{"Interval":20,"DuiJieInfos":[{"zuzhi_code":"","hotel_code":"1002"},{"zuzhi_code":"","hotel_code":"1003"}]}

35
MyQianLiMa/nlog.config Normal file
View 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" maxlevel="ERROR" writeTo="error_file" />
</rules>
</nlog>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CSRedisCore" version="3.8.804" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client.zh-Hans" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Core.zh-Hans" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.9" targetFramework="net462" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="2.1.1" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="6.0.0" targetFramework="net462" />
<package id="NLog.Schema" version="6.0.0" targetFramework="net462" />
<package id="Quartz" version="3.14.0" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
</packages>