using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Web.Services;
using HighWay = DataTransferService.Model.HighWay;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using OperatingData.SDK;
using HZQR.Common;
namespace DataTransferService
{
///
/// Service 的摘要说明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
protected static string _OracleConnStr = ConfigurationManager.AppSettings["OracleConnStr"];
protected static string _OracleConnStrEx = ConfigurationManager.AppSettings["OracleConnStrEx"];
///
/// 本地连接
///
OracleHelper LocalOracle { get; set; }
#region 方法 -> 数据上传
///
/// 数据上传
///
/// 机器授权码
/// 上传数据表名
/// 传输数据内容,json字符串格式
/// json字符串,存储服务区编码、门店编码、门店内码、收银机号、MAC地址、收银机上传时间(预留字段,暂不使用)
/// redis数据库判断数据表的唯一标识
/// 是否只进行缓存数据更新,默认为false,进行正常的数据传输
/// error:-1【代码执行异常】,1【代码执行正常】,2【redis数据库存储异常】
/// tableName:HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW 日结报表
/// HIGHWAY_EXCHANGE.T_PERSONSELL_NEW 收银交班表
[WebMethod]
public string UploadTableData(string code, string tableName, string jsonString,
string orderString, string UniqueCode, string redisInsert = "false")
{
//获取本地收银数据库连接
if (LocalOracle == null)
{
LocalOracle = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
}
if (!string.IsNullOrWhiteSpace(orderString))
{
//设置文本日志记录的地址:log/日期
string LogPath = "Log\\" + DateTime.Now.ToString("yyyyMMdd");
try
{
#region 判断orderString中必填项参数传入的值是否正常,并将对应的值赋予codes数组中
JObject _OrderString = JObject.Parse(orderString);
//判断orderString中是否缺失必填项【服务区编码、门店编码、收银机号】
if (_OrderString.Property("SERVERPARTCODE") == null || _OrderString.Property("SHOPCODE") == null ||
_OrderString.Property("MACHINECODE") == null)
{
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON参数解析异常!\",\"rows\":[]}";
}
//服务区编码
string _SERVERPARTCODE = _OrderString.Property("SERVERPARTCODE").Value.ToString();
//门店编码
string _SHOPCODE = _OrderString.Property("SHOPCODE").Value.ToString();
//门店ID
string _SERVERPARTSHOP_ID = _OrderString.Property("SERVERPARTSHOP_ID") == null ? "" :
_OrderString.Property("SERVERPARTSHOP_ID").Value.ToString();
//收银机编码
string _MACHINECODE = _OrderString.Property("MACHINECODE").Value.ToString();
//Mac地址
string _MACADDRESS = _OrderString.Property("MACADDRESS") == null ? "" :
_OrderString.Property("MACADDRESS").Value.ToString();
//收银机上传时间,预留字段,暂不使用
string _ENDDATE = _OrderString.Property("ENDDATE") == null ? "" :
_OrderString.Property("ENDDATE").Value.ToString();
//必填项“服务区编码、门店内码、门店编码”不可为空
if (string.IsNullOrWhiteSpace(_SERVERPARTCODE) || string.IsNullOrWhiteSpace(_SHOPCODE) ||
string.IsNullOrWhiteSpace(_MACHINECODE))
{
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON缺少必要参数:" +
"SERVERPARTCODE、SHOPCODE、MACHINECODE \",\"rows\":[]}";
}
string[] codes = new string[6];
codes[0] = _SERVERPARTCODE; //服务区编码
codes[1] = _SHOPCODE; //门店编码
codes[2] = _SERVERPARTSHOP_ID; //门店内码
codes[3] = _MACHINECODE; //机器编码
codes[4] = _ENDDATE; //收银机上传时间,预留字段,暂不使用
codes[5] = _MACADDRESS; //MAC地址
#endregion
//记录数据到本地数据库,返回数据上传结果
string Result = Method.UploadMethod.DataUploading(LocalOracle, tableName, jsonString, codes, UniqueCode, redisInsert);
//匹配需要异步上传数据的服务区
if (!string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings[_SERVERPARTCODE]))
{
Task task = Task.Factory.StartNew(() =>
{
//根据服务区编码获取数据转发地址
string TransmitUrl = ConfigurationManager.AppSettings[_SERVERPARTCODE];
try
{
//将传输报文转换成has格式
Hashtable hashtable = new Hashtable();
hashtable["code"] = code;
hashtable["tableName"] = tableName;
hashtable["jsonString"] = jsonString;
hashtable["orderString"] = orderString;
hashtable["UniqueCode"] = UniqueCode;
hashtable["redisInsert"] = redisInsert;
WebService.SDK.LogHelper.WriteLog("数据转发地址:" + TransmitUrl +
";发送报文:" + JsonConvert.SerializeObject(hashtable), LogPath);
//传输结果
string transmitRes = WebService.SDK.SoapWSHelper.QuerySoapWebServiceString(
TransmitUrl, "UploadTableData", hashtable);
WebService.SDK.LogHelper.WriteLog("数据转发结果:" + transmitRes, LogPath);
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteLog(ex.Message, LogPath);
}
});
}
return Result;
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteLog(ex.Message, LogPath);
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON参数解析异常!\",\"rows\":[]}";
}
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:发生异常!\",\"rows\":[]}";
}
#endregion
#region 营收数据传输相关接口
#region 方法 -> 商品信息
///
/// 商品信息
///
///
///
[WebMethod]
public string AddGoodsInfo(string code, string jsonString)
{
OracleHelper _OracleExHelper = new OracleHelper(
_OracleConnStrEx.Split(',')[0], _OracleConnStrEx.Split(',')[1],
_OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"Commodity_Name","Commodity_BarCode",
"Commodity_Unit","Commodity_Rule",
"Commodity_RetailPrice","Commodity_State"
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
List list_CommodityInfo =
Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString);
if (list_CommodityInfo == null || list_CommodityInfo.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < list_CommodityInfo.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
//检查必填参数是否未传入
if (list_CommodityInfo[i][str_ColumnName] == null ||
string.IsNullOrWhiteSpace(list_CommodityInfo[i][str_ColumnName].ToString()))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
list_CommodityInfo[i].Serverpart_Code = codes[0];
list_CommodityInfo[i].ShopCode = codes[1];
}
#endregion
//定义需要更新的数据集
List CommodityInfoUpdateList = new List();
//逐条插入数据到数据库
for (int i = 0; i < list_CommodityInfo.Count; i++)
{
//判断商品数据是否存在,若存在则加入到更新列表中
//判断条件:服务区编码+门店编码+商品条码
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_STORAGE.T_COMMODITYINFO WHERE SERVERPART_CODE = '" +
list_CommodityInfo[i].Serverpart_Code + "' AND SHOPCODE = '" + list_CommodityInfo[i].ShopCode +
"' AND COMMODITY_BARCODE = '" + list_CommodityInfo[i].Commodity_Barcode + "'").Tables[0].Rows.Count > 0)
{
CommodityInfoUpdateList.Add(list_CommodityInfo[i]);
}
else
{
OperationDataHelper.InsertTableData(
_OracleHelper, list_CommodityInfo[i], "HIGHWAY_STORAGE.T_COMMODITYINFO",
"COMMODITYINFO_ID", "HIGHWAY_STORAGE.SEQ_COMMODITYINFO.NEXTVAL");
}
}
//执行商品信息更新操作
if (CommodityInfoUpdateList.Count > 0)
{
string[] WhereName = { "SERVERPART_CODE", "SHOPCODE", "COMMODITY_BARCODE" };
OperationDataHelper.UpdateTableData(
_OracleHelper, CommodityInfoUpdateList, "HIGHWAY_STORAGE.T_COMMODITYINFO", WhereName);
}
//返回保存结果
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"商品数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 结账报表
///
/// 结账报表
///
///
///
[WebMethod]
public string AddEndaccountData(string code, string jsonString)
{
OracleHelper _OracleExHelper = new OracleHelper(
_OracleConnStrEx.Split(',')[0], _OracleConnStrEx.Split(',')[1],
_OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"Endaccount_StartDate","Endaccount_EndDate",
"Endaccount_UniqueCode","Cashier_Name",
"TicketCount","TotalCount","TotalSellAmount",
"TotalOffAmount","CashPay","CreditcardPay",
"WechatPay","AliPay","VIPCardPay","CostBillPay",
"OtherPay","Different_Amount","Endaccount_State"
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
List list_EndaccountData =
Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString);
if (list_EndaccountData == null || list_EndaccountData.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < list_EndaccountData.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
if (list_EndaccountData[i][str_ColumnName] == null || string.IsNullOrWhiteSpace(list_EndaccountData[i][str_ColumnName].ToString()))
{
//检查必填参数是否未传入
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
list_EndaccountData[i].Serverpart_Code = codes[0];
list_EndaccountData[i].ShopCode = codes[1];
}
#endregion
//定义需要更新的数据集
List EndaccountDataUpdateList = new List();
//逐条插入数据到数据库
for (int i = 0; i < list_EndaccountData.Count; i++)
{
//判断商品数据是否存在,若存在则加入到更新列表中
//判断条件:服务区编码+门店编码+账期唯一标识
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_SELLDATA.T_ENDACCOUNTDATA WHERE SERVERPART_CODE = '" +
list_EndaccountData[i].Serverpart_Code + "' AND SHOPCODE = '" + list_EndaccountData[i].ShopCode +
"' AND ENDACCOUNT_UNIQUECODE = '" + list_EndaccountData[i].Endaccount_UniqueCode + "'").Tables[0].Rows.Count > 0)
{
EndaccountDataUpdateList.Add(list_EndaccountData[i]);
}
else
{
OperationDataHelper.InsertTableData(
_OracleHelper, list_EndaccountData[i], "HIGHWAY_SELLDATA.T_ENDACCOUNTDATA",
"ENDACCOUNTDATA_ID", "HIGHWAY_SELLDATA.SEQ_ENDACCOUNTDATA.NEXTVAL");
}
}
//执行日结账单更新操作
if (EndaccountDataUpdateList.Count > 0)
{
string[] WhereName = { "SERVERPART_CODE", "SHOPCODE", "ENDACCOUNT_UNIQUECODE" };
OperationDataHelper.UpdateTableData(
_OracleHelper, EndaccountDataUpdateList, "HIGHWAY_SELLDATA.T_ENDACCOUNTDATA", WhereName);
}
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"日结数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 收银报表
///
/// 收银报表
///
///
///
[WebMethod]
public string AddPersonsellData(string code, string jsonString)
{
OracleHelper _OracleExHelper = new OracleHelper(
_OracleConnStrEx.Split(',')[0], _OracleConnStrEx.Split(',')[1],
_OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"Personsell_StartDate","Personsell_EndDate",
"Endaccount_UniqueCode","Cashier_Name",
"TicketCount","TotalCount","TotalSellAmount",
"TotalOffAmount","CashPay","CreditcardPay",
"WeChatPay","AliPay","VIPCardPay","CostBillPay",
"OtherPay","Personsell_State"
};
#endregion
#region 解析并检查传入的数据集合
List list_PersonsellData =
Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString);
if (list_PersonsellData == null || list_PersonsellData.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < list_PersonsellData.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
if (list_PersonsellData[i][str_ColumnName] == null || string.IsNullOrWhiteSpace(list_PersonsellData[i][str_ColumnName].ToString()))
{
//检查必填参数是否未传入
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
list_PersonsellData[i].Serverpart_Code = codes[0];
list_PersonsellData[i].ShopCode = codes[1];
}
#endregion
//逐条插入数据到数据库
for (int i = 0; i < list_PersonsellData.Count; i++)
{
OperationDataHelper.InsertTableData(
_OracleHelper, list_PersonsellData[i], "HIGHWAY_SELLDATA.T_PERSONSELLDATA",
"PERSONSELLDATA_ID", "HIGHWAY_SELLDATA.SEQ_PERSONSELLDATA.NEXTVAL");
}
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"交班数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 单品报表
///
/// 单品报表
///
///
///
[WebMethod]
public string AddCommoditySaleData(string code, string jsonString)
{
OracleHelper _OracleExHelper = new OracleHelper(
_OracleConnStrEx.Split(',')[0], _OracleConnStrEx.Split(',')[1],
_OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"StartDate","EndDate","Endaccount_UniqueCode",
"Commodity_Code","Commodity_Name",
"TotalCount","TotalSellAmount","TotalOffAmount",
"CommoditySale_State"
};
#endregion
#region 解析并检查传入的数据集合
List list_CommoditySaleData =
Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString);
if (list_CommoditySaleData == null || list_CommoditySaleData.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < list_CommoditySaleData.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
if (list_CommoditySaleData[i][str_ColumnName] == null || string.IsNullOrWhiteSpace(list_CommoditySaleData[i][str_ColumnName].ToString()))
{
//检查必填参数是否未传入
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
list_CommoditySaleData[i].Serverpart_Code = codes[0];
list_CommoditySaleData[i].ShopCode = codes[1];
}
#endregion
//逐条插入数据到数据库
for (int i = 0; i < list_CommoditySaleData.Count; i++)
{
OperationDataHelper.InsertTableData(
_OracleHelper, list_CommoditySaleData[i], "HIGHWAY_SELLDATA.T_COMMODITYSALEDATA",
"COMMODITYSALEDATA_ID", "HIGHWAY_SELLDATA.SEQ_COMMODITYSALEDATA.NEXTVAL");
}
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"单品数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 销售流水
///
/// 销售流水
///
///
///
[WebMethod]
public string AddSaleData(string code, string jsonString)
{
OracleHelper _OracleExHelper = new OracleHelper(
_OracleConnStrEx.Split(',')[0], _OracleConnStrEx.Split(',')[1],
_OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"SaleData_Date","MachineCode","TicketCode",
"CashierName","SellCount","SellAmount",
"SellOffAmount","SellDetail","SellData_State"
};
#endregion
#region 解析并检查传入的数据集合
List list_SaleData =
Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString);
if (list_SaleData == null || list_SaleData.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < list_SaleData.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
if (list_SaleData[i][str_ColumnName] == null || string.IsNullOrWhiteSpace(list_SaleData[i][str_ColumnName].ToString()))
{
//检查必填参数是否未传入
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
list_SaleData[i].Serverpart_Code = codes[0];
list_SaleData[i].ShopCode = codes[1];
}
#endregion
//逐条插入数据到数据库
for (int i = 0; i < list_SaleData.Count; i++)
{
OperationDataHelper.InsertTableData(
_OracleHelper, list_SaleData[i], "HIGHWAY_SELLDATA.T_SALEDATA",
"SALEDATA_ID", "HIGHWAY_SELLDATA.SEQ_SALEDATA.NEXTVAL");
}
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"流水数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 查询数据
///
/// 查询数据
///
/// 授权码
/// 要查询的数据类型
/// 收银机号
/// 商品条码
/// 开始时间
/// 结束时间
///
[WebMethod]
public string SearchData(string code, string DataType, string MachineCode, string CommodityBarcode, string StartDate, string EndDate)
{
OracleHelper _OracleExHelper = new OracleHelper(
_OracleConnStrEx.Split(',')[0], _OracleConnStrEx.Split(',')[1],
_OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
string SqlString = "";
if (codes == null)
{
return "{\"ResultCode\": 201,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
//必填项
if (string.IsNullOrWhiteSpace(DataType))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
DataTable _DataTable = new DataTable();
switch (DataType)
{
case "Endaccount":
#region 结账报表
if (!string.IsNullOrWhiteSpace(StartDate))
{
SqlString += " AND ENDACCOUNT_ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD')";
}
if (!string.IsNullOrWhiteSpace(EndDate))
{
SqlString += " AND ENDACCOUNT_ENDDATE < TO_DATE('" + EndDate + "','YYYY/MM/DD') + 1";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT SERVERPART_CODE,SHOPCODE,ENDACCOUNT_STARTDATE,
ENDACCOUNT_ENDDATE,ENDACCOUNT_UNIQUECODE,CASHIER_NAME,
TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
CASHPAY,CREDITCARDPAY,WECHATPAY,ALIPAY,VIPCARDPAY,COSTBILLPAY,
OTHERPAY,DIFFERENT_AMOUNT,ROUND(ENDACCOUNT_STATE,0) AS ENDACCOUNT_STATE
FROM HIGHWAY_SELLDATA.T_ENDACCOUNTDATA
WHERE SERVERPART_CODE = '{codes[0]}' AND SHOPCODE = '{codes[1]}' {SqlString}
ORDER BY ENDACCOUNT_ENDDATE,SERVERPART_CODE,SHOPCODE").Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":" +
Newtonsoft.Json.JsonConvert.SerializeObject(
Newtonsoft.Json.JsonConvert.DeserializeObject>(
Newtonsoft.Json.JsonConvert.SerializeObject(_DataTable))) + "}";
}
else
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":[]}";
}
#endregion
case "Personsell":
#region 收银员报表
if (!string.IsNullOrWhiteSpace(StartDate))
{
SqlString += " AND PERSONSELL_ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD')";
}
if (!string.IsNullOrWhiteSpace(EndDate))
{
SqlString += " AND PERSONSELL_ENDDATE < TO_DATE('" + EndDate + "','YYYY/MM/DD') + 1";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT SERVERPART_CODE,SHOPCODE,PERSONSELL_STARTDATE,
PERSONSELL_ENDDATE,ENDACCOUNT_UNIQUECODE,CASHIER_NAME,
TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
CASHPAY,CREDITCARDPAY,WECHATPAY,ALIPAY,VIPCARDPAY,COSTBILLPAY,
OTHERPAY,ROUND(PERSONSELL_STATE,0) AS PERSONSELL_STATE
FROM HIGHWAY_SELLDATA.T_PERSONSELLDATA
WHERE SERVERPART_CODE = '{codes[0]}' AND SHOPCODE = '{codes[1]}' {SqlString}
ORDER BY PERSONSELL_ENDDATE,SERVERPART_CODE,SHOPCODE").Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":" +
Newtonsoft.Json.JsonConvert.SerializeObject(
Newtonsoft.Json.JsonConvert.DeserializeObject>(
Newtonsoft.Json.JsonConvert.SerializeObject(_DataTable))) + "}";
}
else
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":[]}";
}
#endregion
case "CommoditySale":
#region 单品报表
if (!string.IsNullOrWhiteSpace(StartDate))
{
SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD')";
}
if (!string.IsNullOrWhiteSpace(EndDate))
{
SqlString += " AND ENDDATE < TO_DATE('" + EndDate + "','YYYY/MM/DD') + 1";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT SERVERPART_CODE,SHOPCODE,STARTDATE,ENDDATE,
ENDACCOUNT_UNIQUECODE,COMMODITY_TYPE,COMMODITY_CODE,
COMMODITY_NAME,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
ROUND(COMMODITYSALE_STATE,0) AS COMMODITYSALE_STATE
FROM HIGHWAY_SELLDATA.T_COMMODITYSALEDATA
WHERE SERVERPART_CODE = '{codes[0]}' AND SHOPCODE = '{codes[1]}'{SqlString}
ORDER BY SERVERPART_CODE,SHOPCODE,ENDDATE").Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":" +
Newtonsoft.Json.JsonConvert.SerializeObject(
Newtonsoft.Json.JsonConvert.DeserializeObject>(
Newtonsoft.Json.JsonConvert.SerializeObject(_DataTable))) + "}";
}
else
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":[]}";
}
#endregion
case "SaleData":
#region 销售流水
if (!string.IsNullOrWhiteSpace(MachineCode))
{
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
}
if (!string.IsNullOrWhiteSpace(StartDate))
{
SqlString += " AND SALEDATA_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD')";
}
if (!string.IsNullOrWhiteSpace(EndDate))
{
SqlString += " AND SALEDATA_DATE < TO_DATE('" + EndDate + "','YYYY/MM/DD') + 1";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT SERVERPART_CODE,SHOPCODE,SALEDATA_DATE,
MACHINECODE,TICKETCODE,CASHIERNAME,SELLCOUNT,
SELLAMOUNT,SELLOFFAMOUNT,SELLDETAIL,
ROUND(SELLDATA_STATE,0) AS SELLDATA_STATE
FROM HIGHWAY_SELLDATA.T_SALEDATA
WHERE SERVERPART_CODE = '{codes[0]}' AND SHOPCODE = '{codes[1]}'{SqlString}
ORDER BY SERVERPART_CODE,SHOPCODE,MACHINECODE,SALEDATA_DATE").Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":" +
Newtonsoft.Json.JsonConvert.SerializeObject(
Newtonsoft.Json.JsonConvert.DeserializeObject>(
Newtonsoft.Json.JsonConvert.SerializeObject(_DataTable))) + "}";
}
else
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":[]}";
}
#endregion
case "CommodityInfo":
#region 商品信息
if (!string.IsNullOrWhiteSpace(CommodityBarcode))
{
SqlString += " AND COMMODITY_BARCODE = '" + CommodityBarcode + "' ";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT COMMODITYINFO_ID,SERVERPART_CODE,SHOPCODE,
COMMODITY_TYPE,COMMODITY_NAME,COMMODITY_BARCODE,
COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE,
ROUND(COMMODITY_STATE,0) AS COMMODITY_STATE
FROM HIGHWAY_STORAGE.T_COMMODITYINFO
WHERE SERVERPART_CODE = '{codes[0]}' AND
SHOPCODE = '{codes[1]}' {SqlString} ").Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":" +
Newtonsoft.Json.JsonConvert.SerializeObject(
Newtonsoft.Json.JsonConvert.DeserializeObject>(
Newtonsoft.Json.JsonConvert.SerializeObject(_DataTable))) + "}";
}
else
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"查询成功!\",\"ResultData\":[]}";
}
#endregion
default:
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确!\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"【{DataType}】数据查询失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#endregion
#region 卡口数据传输相关接口
#region 方法 -> 上传实时卡口数据
///
/// 上传实时卡口数据
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string AddBayonet(string code, string jsonString)
{
//授权码数据库链接
OracleHelper _OracleExHelper = new OracleHelper(_OracleConnStrEx.Split(',')[0],
_OracleConnStrEx.Split(',')[1], _OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
//卡口数据存储数据库链接
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"Serverpart_Name","Serverpart_Region",
"InOut_Type","InOut_Time","Vehicle_Type",
"License_Plate","Vehicle_Speed",
"Stay_Times","Statistics_Date"
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
List BayonetList = JsonConvert.DeserializeObject>(jsonString);
if (BayonetList == null || BayonetList.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < BayonetList.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
//检查必填参数是否未传入
if (BayonetList[i][str_ColumnName] == null ||
string.IsNullOrWhiteSpace(BayonetList[i][str_ColumnName].ToString()))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
//设置数据上传时间
BayonetList[i].Operate_Date = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss"));
//默认数据状态为有效
if (BayonetList[i].Bayonet_Status == null)
{
BayonetList[i].Bayonet_Status = 1;
}
}
#endregion
//批量插入数据到数据库
OperationDataHelper.InsertTableData(
_OracleHelper, BayonetList, "HIGHWAY_SELLDATA.T_BAYONET", true,
"BAYONET_ID", "HIGHWAY_SELLDATA.SEQ_BAYONET.NEXTVAL");
//返回保存结果
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"实时卡口数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 添加断面流量数据
///
/// 添加断面流量数据
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string AddSectionFlow(string code, string jsonString)
{
//授权码数据库链接
OracleHelper _OracleExHelper = new OracleHelper(_OracleConnStrEx.Split(',')[0],
_OracleConnStrEx.Split(',')[1], _OracleConnStrEx.Split(',')[2], _OracleConnStrEx.Split(',')[3]);
//卡口数据存储数据库链接
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleExHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"Serverpart_Name","Serverpart_Region",
"SectionFlow_Num","Serverpart_Flow","Statistics_Date"
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
List SectionFlowList = JsonConvert.DeserializeObject>(jsonString);
if (SectionFlowList == null || SectionFlowList.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
for (int i = 0; i < SectionFlowList.Count; i++)
{
foreach (var str_ColumnName in str_RequiredDatas)
{
if (SectionFlowList[i][str_ColumnName] == null || string.IsNullOrWhiteSpace(SectionFlowList[i][str_ColumnName].ToString()))
{
//检查必填参数是否未传入
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"第" + (i + 1) +
"组数据,缺少必要参数:" + str_ColumnName + "\",\"ResultData\":[]}";
}
}
//设置数据上传时间
SectionFlowList[i].Operate_Date = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss"));
//默认数据状态为有效
if (SectionFlowList[i].SectionFlow_Status == null)
{
SectionFlowList[i].SectionFlow_Status = 1;
}
}
#endregion
//批量插入数据到数据库
OperationDataHelper.InsertTableData(
_OracleHelper, SectionFlowList, "HIGHWAY_SELLDATA.T_SECTIONFLOW", true,
"SECTIONFLOW_ID", "HIGHWAY_SELLDATA.SEQ_SECTIONFLOW.NEXTVAL");
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"添加成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"日结数据接收保存失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#endregion
#region 方法 -> PB系统营收数据压缩文件生成上传
///
/// PB系统营收数据压缩文件生成上传
///
/// 服务区编码
/// 门店编码
/// 收银机号
///
/// 起始时间
/// 格式:yyyyMMddHHmmss
///
///
/// 结束时间
/// 格式:yyyyMMddHHmmss
///
///
[WebMethod]
public string PBDataZipUpload(string serverpartCode, string shopCode, string machineCode, string startDate, string endDate)
{
//启动本地数据库
try
{
string str_BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;
System.Diagnostics.Process.Start(
System.IO.Path.Combine(str_BaseDirectory, "Bin", "DataConverter.exe"),
$"{serverpartCode}|{shopCode}|{machineCode}|{startDate}|{endDate}");
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"启动成功!\",\"ResultData\":[]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"PB系统数据压缩文件生成上传启动失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"启动失败!\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 调用第三方移动支付接口
///
/// 调用第三方移动支付接口
///
///
///
///
///
[WebMethod]
public string MobilePayProxy(string requestURL, string postData, string contentType)
{
if (string.IsNullOrWhiteSpace(contentType))
{
contentType = "application/x-www-form-urlencoded";
}
return HttpClientHelp.ESHttpClient.HttpUrlPost(postData, requestURL, contentType);
}
#endregion
#region 安徽驿达相关接口
#region 方法 -> 合同数据同步接口
///
/// 合同数据同步接口
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string SynContrcat(string code, string jsonString)
{
try
{
//16684D3D52B39939 => 340000
string codeDecrypt = code.ToDecrypt();
if (!"340000".Equals(codeDecrypt))
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
LogUtil.WriteLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
#region 定义必填参数
//必填项
string[] str_RequiredDatas = new string[]
{
"Compact_Name",
"Firstpart_Name",
"Firstpart_Linkman",
"Secondpart_Name",
"Secondpart_Linkman",
"Compact_Startdate",
"Compact_Enddate",
"Compact_Amount",
"Securitydeposit",
"Attachment_Url",
"Business_Trade",
"Business_Brand",
"Business_Type",
"Operating_Scope",
"Rentfree_Startdate",
"Rentfree_Enddate",
"Decorate_Startdate",
"Decorate_Enddate",
"Erverpart_Names",
"Approve_State",
"Compact_State",
"Contract_Syn_Id",
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
List list_ContractSyn_All =
Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonString);
if (list_ContractSyn_All == null || list_ContractSyn_All.Count == 0)
{
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数不正确\",\"ResultData\":[]}";
}
//问题数据列表
List list_ContractSyn_Pro = new List();
//缺少列集合
List str_Columns = new List();
for (int i = 0; i < list_ContractSyn_All.Count; i++)
{
List str_Columns_temp = new List();
foreach (var str_ColumnName in str_RequiredDatas)
{
//检查必填参数是否未传入
if (list_ContractSyn_All[i][str_ColumnName] == null ||
string.IsNullOrWhiteSpace(list_ContractSyn_All[i][str_ColumnName].ToString()))
{
str_Columns_temp.Add(str_ColumnName);
}
}
if (str_Columns_temp.Count > 0)
{
list_ContractSyn_Pro.Add(list_ContractSyn_All[i]);
str_Columns.AddRange(str_Columns_temp);
}
}
if (list_ContractSyn_Pro.Count > 0)
{
string strResultData = JsonConvert.SerializeObject(list_ContractSyn_Pro);
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"缺少必要参数:" + string.Join(",", str_Columns.Distinct()) + "\",\"ResultData\":" + strResultData + "}";
}
#endregion
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
_BaseUrl += "/EShangApiMain/Contract/SynchroContractSyn";
string format = "application/json;charset=UTF-8";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(jsonString, _BaseUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"同步数据成功!\",\"ResultData\":[]}";
case "200":
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"保存数据失败!\",\"ResultData\":[]}";
case "999":
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"" + _JObject["Result_Desc"] + "\",\"ResultData\":[]}";
default:
return "{\"ResultCode\": 200 ,\"ResultDesc\": \"未知错误!\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
LogUtil.WriteLog($"合同数据同步失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 回写票据开票结果信息
///
/// 回写票据开票结果信息
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string WriteBackInvoice(string code, string jsonString)
{
JObject resultInfo = new JObject();
if (code != "340000".ToEncrypt())
{
resultInfo["ResultCode"] = 201;
resultInfo["ResultDesc"] = "授权码不正确";
return resultInfo.ToString();
}
try
{
LogUtil.WriteLog($"开票信息回写入参:{ jsonString }");
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "请传入报文参数";
return resultInfo.ToString();
}
#region 定义必填参数
//必填项
string[] _RequiredDatas = new string[]
{
"BillNo",
"SerialNo",
"BillAmount",
"BillDate",
"DownloadUrl",
};
#endregion
#region 解析并检查传入的参数
string postData = "";
List str_Columns = new List();
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null ||
string.IsNullOrWhiteSpace(_Json.Property(_RequiredData).Value + ""))
{
str_Columns.Add(_RequiredData);
}
else
{
postData += (postData == "" ? "" : "&") + _RequiredData + "=" + _Json[_RequiredData];
}
}
if (str_Columns.Count > 0)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "缺少必要参数:" + string.Join(",", str_Columns.Distinct());
return resultInfo.ToString();
}
#endregion
string baseUrl = ConfigurationManager.AppSettings["ApiUrl"] + "/EShangApiMain/Invoice/WriteBackInvoice";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(jsonString, baseUrl, "application/json; charset=utf-8");
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
case "999":
resultInfo["ResultCode"] = _JObject["Result_Code"];
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
break;
default:
resultInfo["ResultCode"] = 300;
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
break;
}
}
catch (Exception ex)
{
LogUtil.WriteLog($"开票信息回写失败。原因:{ex.Message}");
resultInfo["ResultCode"] = 999;
resultInfo["ResultDesc"] = "回写失败,报文参数格式不正确";
}
return resultInfo.ToString();
}
#endregion
#region 方法 -> 获取微信会员信息
///
/// 获取会员信息
///
///
///
[WebMethod]
public string GetWeChatMembershipInfo(string code, string jsonString)
{
JObject resultInfo = new JObject();
if (code != "wx4c497eddcec4a0e7".ToEncrypt())
{
resultInfo["ResultCode"] = 201;
resultInfo["ResultDesc"] = "授权码不正确";
return resultInfo.ToString();
}
try
{
LogUtil.WriteLog($"获取微信会员信息入参:{ jsonString }");
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "请传入报文参数";
return resultInfo.ToString();
}
#region 必填项验证
string[] _RequiredDatas = { "WeChatPhone", "WeChatUnionID" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
int EmptyCount = 0; //非必填项未传参数量
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
switch (_RequiredData)
{
case "WeChatPhone":
case "WeChatUnionID":
EmptyCount++;
if (EmptyCount == 2)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON缺少必要查询参数:WeChatPhone";
return resultInfo.ToString();
}
_Dictionary.Add(_RequiredData, "");
break;
default:
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON缺少必要查询参数:" + _RequiredData;
return resultInfo.ToString();
}
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
}
else
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON参数解析异常";
return resultInfo.ToString();
}
#endregion
//查询会员信息
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
_BaseUrl += "/OpenApi/GetMemberInfo";
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?Membership_Phone={0}", _Dictionary["WeChatPhone"].ToString());
sb.AppendFormat("&ownerUnitId={0}", "249");//安徽驿达会员
string parameters = sb.ToString();
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
resultInfo["ResultCode"] = 100;
resultInfo["ResultDesc"] = "查询成功";
resultInfo["ResultData"] = new JObject
{
["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"],
["Membership_Level"] = _JObject["Result_Data"]["Membership_Level"],
["Membership_Code"] = _JObject["Result_Data"]["Membership_Card"],
["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"],
["Membership_Sex"] = _JObject["Result_Data"]["Membership_Sex"],
["Membership_Birthday"] = _JObject["Result_Data"]["Membership_Birthday"],
["Membership_MobilePhone"] = _JObject["Result_Data"]["Membership_Mobilephone"],
["Membership_Address"] = _JObject["Result_Data"]["Membership_Address"],
["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"],
["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"],
};
return resultInfo.ToString();
default:
resultInfo["ResultCode"] = 101;
resultInfo["ResultDesc"] = "查询成功!无会员信息";
return resultInfo.ToString();
}
}
catch (Exception ex)
{
LogUtil.WriteLog(ex.Message);
resultInfo["ResultCode"] = 999;
resultInfo["ResultDesc"] = "查询失败:参数不正确";
return resultInfo.ToString();
}
}
#endregion
#region 方法 -> 同步会员
///
/// 同步会员
///
///
///
[WebMethod]
public string SysncMember(string code, string jsonString)
{
JObject resultInfo = new JObject();
if (code != "wx4c497eddcec4a0e7".ToEncrypt())
{
resultInfo["ResultCode"] = 201;
resultInfo["ResultDesc"] = "授权码不正确";
return resultInfo.ToString();
}
try
{
LogUtil.WriteLog($"获取微信会员信息入参:{ jsonString }");
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "请传入报文参数";
return resultInfo.ToString();
}
#region 必填项验证
string[] _RequiredDatas = { "WeChatPhone", "Membership_Name", "Membership_Sex", "Membership_Point" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON缺少必要参数:" + _RequiredData;
return resultInfo.ToString();
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
}
else
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON参数解析异常";
return resultInfo.ToString();
}
#endregion
#region 参数定义
//业主单位
int OwnerUnitId = 249;
try
{
OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
}
catch { }
#endregion
#region 同步会员
//根据授权码获取接口来源
string staffName = "驿佳小程序";
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
_BaseUrl += "/OpenApi/SysncMember";
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?MembershipPhone={0}", _Dictionary["WeChatPhone"]);
sb.AppendFormat("&MembershipName={0}", _Dictionary["Membership_Name"]);
sb.AppendFormat("&membershipSex={0}", _Dictionary["Membership_Sex"]);
sb.AppendFormat("&membershipPoint={0}", _Dictionary["Membership_Point"]);
sb.AppendFormat("&staffName={0}", staffName);
sb.AppendFormat("&OwnerUnitId={0}", OwnerUnitId);
string parameters = sb.ToString();
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
resultInfo["ResultCode"] = 100;
resultInfo["ResultDesc"] = "新增成功";
resultInfo["ResultData"] = new JObject
{
["Membership_Name"] = _Dictionary["Membership_Name"].ToString(),
["Membership_MobilePhone"] = _Dictionary["WeChatPhone"].ToString(),
["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"],
["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"],
};
return resultInfo.ToString();
default:
resultInfo["ResultCode"] = _JObject["Result_Code"];
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
return resultInfo.ToString();
}
#endregion
}
catch (Exception ex)
{
LogUtil.WriteLog(ex.Message);
resultInfo["ResultCode"] = 999;
resultInfo["ResultDesc"] = "新增失败:参数不正确";
return resultInfo.ToString();
}
}
#endregion
#region 方法 -> 同步商城精选商品
///
/// 同步商城精选商品
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string SynchroProduct(string code, string jsonString)
{
JObject resultInfo = new JObject();
if (code != "wx4c497eddcec4a0e7".ToEncrypt())
{
resultInfo["ResultCode"] = 201;
resultInfo["ResultDesc"] = "授权码不正确";
return resultInfo.ToString();
}
try
{
LogUtil.WriteLog($"同步商城精选商品入参:{ jsonString }");
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "请传入报文参数";
return resultInfo.ToString();
}
#region 定义必填参数
//必填项
string[] _RequiredDatas = new string[]
{
"ItemName",
"ItemBarCode",
"ImageUrl",
"ItemIndex",
"ProductRetailPrice",
"UpperState",
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
List list_ProductSyn_All =
JsonConvert.DeserializeObject>(jsonString);
if (list_ProductSyn_All == null || list_ProductSyn_All.Count == 0)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "报文参数不正确";
return resultInfo.ToString();
}
//问题数据列表
List list_ProductSyn_Pro = new List();
//缺少列集合
List str_Columns = new List();
for (int i = 0; i < list_ProductSyn_All.Count; i++)
{
List str_Columns_temp = new List();
foreach (var str_ColumnName in _RequiredDatas)
{
//检查必填参数是否未传入
if (list_ProductSyn_All[i][str_ColumnName] == null ||
string.IsNullOrWhiteSpace(list_ProductSyn_All[i][str_ColumnName].ToString()))
{
str_Columns_temp.Add(str_ColumnName);
}
}
if (str_Columns_temp.Count > 0)
{
list_ProductSyn_Pro.Add(list_ProductSyn_All[i]);
str_Columns.AddRange(str_Columns_temp);
}
else
{
list_ProductSyn_All[i].WechatAppSignAppId = code.ToDecrypt();
}
}
if (list_ProductSyn_Pro.Count > 0)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "缺少必要参数:" + string.Join(",", str_Columns.Distinct());
resultInfo["ResultData"] = JsonConvert.SerializeObject(list_ProductSyn_Pro);
return resultInfo.ToString();
}
#endregion
string baseUrl = ConfigurationManager.AppSettings["ApiUrl"] + "/EShangApiMain/WeChatMall/TransferProduct";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(JsonConvert.SerializeObject(
list_ProductSyn_All), baseUrl, "application/json; charset=utf-8");
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
case "999":
resultInfo["ResultCode"] = _JObject["Result_Code"];
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
break;
default:
resultInfo["ResultCode"] = 300;
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
break;
}
}
catch (Exception ex)
{
LogUtil.WriteLog($"同步商城精选商品失败。原因:{ex.Message}");
resultInfo["ResultCode"] = 999;
resultInfo["ResultDesc"] = "同步失败,报文参数格式不正确";
}
return resultInfo.ToString();
}
#endregion
#region 方法 -> 同步商城订单数据
///
/// 同步商城订单数据
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string SynchroOrderBill(string code, string jsonString)
{
JObject resultInfo = new JObject();
if (code != "wx4c497eddcec4a0e7".ToEncrypt())
{
resultInfo["ResultCode"] = 201;
resultInfo["ResultDesc"] = "授权码不正确";
return resultInfo.ToString();
}
try
{
LogUtil.WriteLog($"同步商城订单数据入参:{ jsonString }");
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "请传入报文参数";
return resultInfo.ToString();
}
#region 定义必填参数
//必填项
string[] _RequiredDatas = new string[]
{
"OrderCode",
"OrderPerson",
"PhoneNumber",
"OrderDate",
"OrderCount",
"OrderAmount",
"OrderState",
"ReceivePerson",
"ReceivePersonTel",
"ReceiveAddress",
"ReceiveDoorPlate",
"PayMethod",
"PayState",
"DetailList",
};
#endregion
#region 解析并检查传入的数据集合
//解析传入的数据集合
Model.HighWay.OrderModel orderModel = JsonConvert.DeserializeObject(jsonString);
if (orderModel == null)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "报文参数不正确";
return resultInfo.ToString();
}
//缺少列集合
List str_Columns = new List();
foreach (var str_ColumnName in _RequiredDatas)
{
//检查必填参数是否未传入
if (str_ColumnName == "DetailList")
{
if (orderModel[str_ColumnName] == null || orderModel.DetailList.Count == 0)
{
str_Columns.Add(str_ColumnName);
}
}
else if (orderModel[str_ColumnName] == null ||
string.IsNullOrWhiteSpace(orderModel[str_ColumnName].ToString()))
{
str_Columns.Add(str_ColumnName);
}
}
orderModel.WechatAppSignAppId = code.ToDecrypt();
if (str_Columns.Count > 0)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "缺少必要参数:" + string.Join(",", str_Columns.Distinct());
return resultInfo.ToString();
}
#endregion
string baseUrl = ConfigurationManager.AppSettings["ApiUrl"] + "/EShangApiMain/OnlineOrder/SynchroOrderBill";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(jsonString, baseUrl, "application/json; charset=utf-8");
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
case "999":
resultInfo["ResultCode"] = _JObject["Result_Code"];
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
break;
default:
resultInfo["ResultCode"] = 300;
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
break;
}
}
catch (Exception ex)
{
LogUtil.WriteLog($"同步商城订单数据失败。原因:{ex.Message}");
resultInfo["ResultCode"] = 999;
resultInfo["ResultDesc"] = "同步失败,报文参数格式不正确";
}
return resultInfo.ToString();
}
#endregion
#region 方法 -> 同步会员积分
///
/// 同步会员积分
///
///
///
[WebMethod]
public string SysncMemberPoint(string code, string jsonString)
{
JObject resultInfo = new JObject();
if (code != "wx4c497eddcec4a0e7".ToEncrypt())
{
resultInfo["ResultCode"] = 201;
resultInfo["ResultDesc"] = "授权码不正确";
return resultInfo.ToString();
}
try
{
LogUtil.WriteLog($"同步会员积分入参:{ jsonString }");
//先检查传入的参数是否为空数据包
if (string.IsNullOrWhiteSpace(jsonString))
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "请传入报文参数";
return resultInfo.ToString();
}
#region 必填项验证
string[] _RequiredDatas = { "WeChatPhone", "ChangePoint", "ChangePointDesc" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON缺少必要参数:" + _RequiredData;
return resultInfo.ToString();
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
}
else
{
resultInfo["ResultCode"] = 200;
resultInfo["ResultDesc"] = "查询失败:JSON参数解析异常";
return resultInfo.ToString();
}
#endregion
#region 参数定义
//业主单位
int OwnerUnitId = 249;
try
{
OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
}
catch { }
#endregion
#region 同步会员积分
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
_BaseUrl += "/OpenApi/SysncMemberPoint";
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?MembershipPhone={0}", _Dictionary["WeChatPhone"]);
sb.AppendFormat("&ChangePointType={0}", "7001");//那美营销
sb.AppendFormat("&ChangePointDesc={0}", _Dictionary["ChangePointDesc"]);//改变积分类型描述
sb.AppendFormat("&ChangePoint={0}", _Dictionary["ChangePoint"]);
sb.AppendFormat("&OwnerUnitId={0}", OwnerUnitId);
string parameters = sb.ToString();
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
WebService.SDK.LogHelper.WriteSendLog("SysncMemberPoint" + RequestUrl + "||" + reString);
JObject _JObject = JObject.Parse(reString);
switch (_JObject["Result_Code"].ToString())
{
case "100":
resultInfo["ResultCode"] = 100;
resultInfo["ResultDesc"] = "同步积分成功";
//resultInfo["ResultData"] = new JObject
//{
// ["Membership_MobilePhone"] = _Dictionary["WeChatPhone"].ToString(),
// ["ChangePoint"] = _Dictionary["ChangePoint"].ToString(),
// ["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"],
//};
return resultInfo.ToString();
default:
resultInfo["ResultCode"] = _JObject["Result_Code"];
resultInfo["ResultDesc"] = _JObject["Result_Desc"];
return resultInfo.ToString();
}
#endregion
}
catch (Exception ex)
{
LogUtil.WriteLog(ex.Message);
resultInfo["ResultCode"] = 999;
resultInfo["ResultDesc"] = "新增失败:参数不正确";
return resultInfo.ToString();
}
}
#endregion
#region 方法 -> 存储充换电实时状态数据
#endregion
#endregion
#region 四川大数据相关接口
#region 方法 -> 获取营收同比分析
///
/// 获取营收同比分析
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetYOYCompare(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=GetYOYCompare&province_code=" + codeDecrypt +
"&statistics_Date=" + DateTime.Now.ToShortDateString();
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
switch (_JObject["ResultCode"].ToString())
{
case "100":
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["ResultData"] + "}";
default:
return "{\"ResultCode\": " + _JObject["ResultCode"] + " ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取营收同比分析失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取门店营收排行
///
/// 获取门店营收排行
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetRevenueRank(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getCurShopRevenueRank&ProvinceCode=" + 510000 + "&ReRowCount=" + 9999;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
switch (_JObject["ResultCode"].ToString())
{
case "100":
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["Data"]["List"] + "}";
default:
return "{\"ResultCode\": " + _JObject["ResultCode"] + " ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取小吃营收排行,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取单品销售排行
///
/// 获取单品销售排行
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCommoditySaleRank(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getCommoditySaleSort&province_code=" + codeDecrypt +
"&statDay=" + DateTime.Now.AddDays(-1).ToShortDateString() + "," + DateTime.Now.ToShortDateString() +
"&rowNum=" + 10 + "&hasAsc=false";
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["COMMODITYSALE_DESC"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["COMMODITYSALE_DESC"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取小吃营收排行,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取当日实时营收
///
/// 获取当日实时营收
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurRevenue(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getServerConnect&province_code=" + codeDecrypt;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["CurrentData"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["CurrentData"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取当日实时营收失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取业态营收占比
///
/// 获取业态营收占比
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurBusinessTradeRatio(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getRevenueRatioByBusinessType&province_code=" + codeDecrypt;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["CurrentData"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["CurrentData"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取业态营收占比失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取区域营收占比
///
/// 获取区域营收占比
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurRegionRevenueRatio(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=GetCurrentAmountByRegion&province_code=" + codeDecrypt;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["CurrentData"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["CurrentData"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取区域营收占比失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取服务区繁忙排行
///
/// 获取服务区繁忙排行
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurBusyRank(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getCurHalfCollect&province_code=" + codeDecrypt;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["CollectionObject"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["CollectionObject"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取服务区繁忙排行失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取服务区交易排行
///
/// 获取服务区交易排行
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurRevenueRank(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getCurCollect&province_code=" + codeDecrypt;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["CurrentData"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["CurrentData"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取服务区交易排行失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取近一周营收趋势图
///
/// 获取近一周营收趋势图
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurRevenueTrend(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
string StartDate = DateTime.Now.AddDays(-7).ToShortDateString(),
EndDate = DateTime.Now.ToShortDateString(),
LYStartDate = DateTime.Now.AddYears(-1).AddDays(-7).ToShortDateString(),
LYEndDate = DateTime.Now.AddYears(-1).ToShortDateString();
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=RevenueCompare&province_code=" + codeDecrypt +
"&action_data=" + StartDate + "|" + EndDate + "&action_record=" + LYStartDate + "|" + LYEndDate;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["RevenueCompareObject"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["RevenueCompareObject"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取近一周营收趋势图失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取今日走势图
///
/// 获取今日走势图
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetCurTrendChart(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=getDataCollect&province_code=" + codeDecrypt;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["CollectionObject"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["CollectionObject"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取今日走势图失败,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#region 方法 -> 获取年度营收趋势图
///
/// 获取年度营收趋势图
///
/// 授权码
/// 传输字符串
///
[WebMethod]
public string GetAnnualRevenueTrend(string code, string jsonString)
{
string codeDecrypt;
try
{
codeDecrypt = code.ToDecrypt();
if (codeDecrypt != "3760")
{
return "{\"ResultCode\": 201 ,\"ResultDesc\": \"授权码不正确\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"授权码解码失败。原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"授权码解码异常。\",\"ResultData\":[]}";
}
try
{
string StartDate = DateTime.Now.Year + "/01/01",
EndDate = DateTime.Now.ToShortDateString(),
LYStartDate = DateTime.Now.AddYears(-1).Year + "/01/01",
LYEndDate = DateTime.Now.AddYears(-1).ToShortDateString();
//先检查传入的参数是否为空数据包
//if (string.IsNullOrWhiteSpace(jsonString))
//{
// return "{\"ResultCode\": 200 ,\"ResultDesc\": \"报文参数为空\",\"ResultData\":\"" + jsonString + "\"}";
//}
string _BaseUrl = ConfigurationManager.AppSettings["AjaxUrl"];
string _PostData = "action_type=RevenueCompareYOY&province_code=" + codeDecrypt +
"&action_data=" + StartDate + "|" + EndDate + "&action_record=" + LYStartDate + "|" + LYEndDate;
string reString = WebService.SDK.CommonHelper.HttpUrlPost(_PostData, _BaseUrl + "?" + _PostData);
JObject _JObject = JObject.Parse(reString);
if (_JObject["RevenueCompareObject"].TryParseToString() != "")
{
return "{\"ResultCode\": 100 ,\"ResultDesc\": \"" + _JObject["ResultDesc"] +
"\",\"ResultData\":" + _JObject["RevenueCompareObject"] + "}";
}
else
{
return "{\"ResultCode\": 101,\"ResultDesc\": \"查询失败,无数据返回\",\"ResultData\":[]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteReceiveLog($"获取年度营收趋势图,原因:{ex.Message}");
return "{\"ResultCode\": 999 ,\"ResultDesc\": \"系统异常。\",\"ResultData\":[]}";
}
}
#endregion
#endregion
}
}