7596 lines
399 KiB
C#
7596 lines
399 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.Configuration;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading;
|
||
using System.Web;
|
||
using System.Web.Services;
|
||
using HIGHWAY = TableDataService.Model.HIGHWAY;
|
||
using SDK = WebService.SDK;
|
||
using Newtonsoft.Json.Linq;
|
||
using OperatingData.SDK;
|
||
using Newtonsoft.Json;
|
||
using System.IO;
|
||
using System.Data.OleDb;
|
||
using HCC = HZQR.Common.Common;
|
||
using HZQR.Common;
|
||
|
||
namespace TableDataService
|
||
{
|
||
/// <summary>
|
||
/// Service 的摘要说明
|
||
/// </summary>
|
||
[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"].ToString();
|
||
protected static string _OracleConnStrSellData = ConfigurationManager.AppSettings["OracleConnStrSellData"];
|
||
protected static string _OracleHelperString = ConfigurationManager.AppSettings["OracleHelperString"].ToString();
|
||
protected static string _LogUrl = ConfigurationManager.AppSettings["LogUrl"];
|
||
protected static string _ColudUrl = ConfigurationManager.AppSettings["ColudUrl"];
|
||
protected static string _IsUploadColud = ConfigurationManager.AppSettings["IsUploadColud"];
|
||
protected static string _IsLog = ConfigurationManager.AppSettings["IsLog"];
|
||
protected static string _IsSaleSplit = ConfigurationManager.AppSettings["IsSaleSplit"];
|
||
//protected static string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
//protected static string _AUTHORIZATION_CODE = ConfigurationManager.AppSettings["AUTHORIZATION_CODE"].ToString();
|
||
//protected string _IsUpLoad = ConfigurationManager.AppSettings["IsUpload"].ToString();
|
||
//protected string _IsDownload = ConfigurationManager.AppSettings["IsDownload"].ToString();
|
||
//protected string _IsCheckAuth = ConfigurationManager.AppSettings["IsCheckAuth"].ToString();
|
||
private static int _MaxDataQuantity = 4;
|
||
private static int _MaxDataDownload = 10;
|
||
|
||
/// <summary>
|
||
/// 本地连接
|
||
/// </summary>
|
||
OracleHelper LocalOracle { get; set; }
|
||
/// <summary>
|
||
/// 授权连接
|
||
/// </summary>
|
||
OracleHelper AuthOracle { get; set; }
|
||
|
||
#region 数据上传
|
||
|
||
#region 方法 -> 数据上传
|
||
/// <summary>
|
||
/// 数据上传
|
||
/// </summary>
|
||
/// <param name="code">机器授权码</param>
|
||
/// <param name="tableName">上传数据表名</param>
|
||
/// <param name="jsonString">传输数据,json字符串格式</param>
|
||
/// <param name="orderString">json字符串,存储服务区编码、门店编码、门店内码、收银机号、MAC地址、最近一次数据上传时间</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string UploadTableData(string code, string tableName, string jsonString, string orderString = "")
|
||
{
|
||
//if (_IsUpLoad == "0")
|
||
//{
|
||
// return "{\"error\": -1 ,\"msg\": \"上传接口已关闭!\",\"rows\":[]}";
|
||
//}
|
||
|
||
//获取本地收银数据库连接
|
||
if (LocalOracle == null)
|
||
{
|
||
LocalOracle = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
}
|
||
|
||
if (!string.IsNullOrEmpty(orderString))
|
||
{
|
||
try
|
||
{
|
||
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) || string.IsNullOrWhiteSpace(_ENDDATE))
|
||
{
|
||
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地址
|
||
|
||
//返回数据上传结果
|
||
return Method.UploadMethod.DataUploading(LocalOracle, tableName, jsonString, codes);
|
||
}
|
||
catch { }
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON参数解析异常!\",\"rows\":[]}";
|
||
}
|
||
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:发生异常!\",\"rows\":[]}";
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 数据下发
|
||
|
||
#region 方法 -> 数据下发
|
||
/// <summary>
|
||
/// 数据下发
|
||
/// </summary>
|
||
/// <param name="code"></param>
|
||
/// <param name="tableName"></param>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string DownloadTableData(string code, string tableName, string jsonString, string orderString = "")
|
||
{
|
||
//if (_IsDownload == "0")
|
||
//{
|
||
// return "{\"error\": -1 ,\"msg\": \"下载接口已关闭!\",\"rows\":[]}";
|
||
//}
|
||
//获取本地收银数据库连接
|
||
if (LocalOracle == null)
|
||
{
|
||
LocalOracle = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
}
|
||
//获取存储机器授权码的数据库连接
|
||
if (AuthOracle == null)
|
||
{
|
||
try
|
||
{
|
||
AuthOracle = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1],
|
||
_OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3], _OracleHelperString.Split(',')[4]);
|
||
}
|
||
catch
|
||
{
|
||
AuthOracle = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1],
|
||
_OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3]);
|
||
}
|
||
}
|
||
//OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
// _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
//OracleHelper _AuthorCode;
|
||
//try
|
||
//{
|
||
// _AuthorCode = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1],
|
||
// _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3], _OracleHelperString.Split(',')[4]);
|
||
//}
|
||
//catch
|
||
//{
|
||
// _AuthorCode = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1],
|
||
// _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3]);
|
||
//}
|
||
|
||
if (!string.IsNullOrWhiteSpace(jsonString))
|
||
{
|
||
try
|
||
{
|
||
JObject _JsonString = JObject.Parse(jsonString);
|
||
/* 判断jsonString中是否缺失必填项【服务区编码、门店编码、门店内码、收银机号、收银机本地数据最早时间】
|
||
* 这些参数是数据上传至哪台机器的判断条件
|
||
*/
|
||
if (_JsonString.Property("SERVERPARTCODE") == null || _JsonString.Property("SERVERPARTSHOP_ID") == null ||
|
||
_JsonString.Property("SHOPCODE") == null || _JsonString.Property("MACHINECODE") == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:JSON参数解析异常!\",\"rows\":[]}";
|
||
}
|
||
|
||
string _SERVERPARTCODE = _JsonString.Property("SERVERPARTCODE").Value.ToString(); //服务区编码
|
||
string _SHOPCODE = _JsonString.Property("SHOPCODE").Value.ToString(); //门店编码
|
||
string _SERVERPARTSHOP_ID = _JsonString.Property("SERVERPARTSHOP_ID").Value.ToString(); //门店ID
|
||
string _MACADDRESS = _JsonString.Property("MACADDRESS").Value.ToString(); //Mac地址
|
||
string _MACHINECODE = _JsonString.Property("MACHINECODE").Value.ToString(); //收银机编码
|
||
|
||
//if (_JsonString.Property("PROVINCE_CODE") != null)
|
||
//{
|
||
// _PROVINCE_CODE = _JsonString.Property("PROVINCE_CODE").Value.ToString();
|
||
//}
|
||
//else
|
||
//{
|
||
// try
|
||
// {
|
||
// List<Model.ServerpartShopModel> _ServerpartShopList = new List<Model.ServerpartShopModel>();
|
||
// }
|
||
// catch { }
|
||
//}
|
||
//如果门店ID是空的,则从数据库直接读取对应门店的ID
|
||
if (string.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID) &&
|
||
!string.IsNullOrWhiteSpace(_SERVERPARTCODE) &&
|
||
!string.IsNullOrWhiteSpace(_SHOPCODE))
|
||
{
|
||
try
|
||
{
|
||
//_SERVERPARTSHOP_ID = _OracleHelper.ExcuteSqlGetDataSet(
|
||
_SERVERPARTSHOP_ID = LocalOracle.ExcuteSqlGetDataSet(
|
||
string.Format(@"SELECT SERVERPARTSHOP_ID
|
||
FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE_EX
|
||
WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}'",
|
||
_SERVERPARTCODE, _SHOPCODE)).Tables[0].Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
}
|
||
catch { }
|
||
if (string.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID))
|
||
{
|
||
try
|
||
{
|
||
//_SERVERPARTSHOP_ID = _OracleHelper.ExcuteSqlGetDataSet(
|
||
_SERVERPARTSHOP_ID = LocalOracle.ExcuteSqlGetDataSet(
|
||
string.Format(@"SELECT SERVERPARTSHOP_ID
|
||
FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE
|
||
WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}'",
|
||
_SERVERPARTCODE, _SHOPCODE)).Tables[0].Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
}
|
||
catch
|
||
{
|
||
try
|
||
{
|
||
//_SERVERPARTSHOP_ID = _OracleHelper.ExcuteSqlGetDataSet(
|
||
_SERVERPARTSHOP_ID = LocalOracle.ExcuteSqlGetDataSet(
|
||
string.Format(@"SELECT SERVERPARTSHOP_ID
|
||
FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE
|
||
WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}'",
|
||
_SERVERPARTCODE, _SHOPCODE)).Tables[0].Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
}
|
||
catch { }
|
||
}
|
||
}
|
||
}
|
||
string[] codes = null;
|
||
//如果是机器信息配置表【T_CONFIGURATION】、T_ADVERTISING【广告信息表】,不需要进行MAC地址和授权码信息的认证
|
||
if (tableName != "HIGHWAY_EXCHANGE.T_CONFIGURATION" && tableName != "HIGHWAY_EXCHANGE.T_ADVERTISING")
|
||
{
|
||
//百色服务区传输判定
|
||
if (string.IsNullOrWhiteSpace(_MACADDRESS) || (_SERVERPARTCODE == "451304" && _MACADDRESS.StartsWith("00:E2:69:")))
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:设备异常! \",\"rows\":[]}";
|
||
}
|
||
//湖南服务区(服务区编码36开头)、新疆服务区的机器(mac地址不是"68:ED:A4"开头的机器)需要进行机器授权码认证
|
||
if (_SERVERPARTCODE.StartsWith("36") || (_SERVERPARTCODE.StartsWith("65") && !_MACADDRESS.StartsWith("68:ED:A4")))
|
||
{
|
||
//codes = OperationDataHelper<string>.IsCorrectCode(_AuthorCode, code);
|
||
codes = OperationDataHelper<string>.IsCorrectCode(AuthOracle, code);
|
||
if (codes == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"授权码错误或已过期\",\"rows\":[]}";
|
||
}
|
||
}
|
||
//必填项服务区编码、门店内码、门店编码不可为空!!!代码要前置判断,优先判断参数是否为空
|
||
if (string.IsNullOrWhiteSpace(_SERVERPARTCODE) || string.IsNullOrWhiteSpace(_SHOPCODE) ||
|
||
string.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID))
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:JSON缺少必要参数:" +
|
||
"SERVERPARTCODE、SERVERPARTSHOP_ID \",\"rows\":[]}";
|
||
}
|
||
else
|
||
{
|
||
/* 湖南服务区(服务区编码36开头)、新疆服务区的机器(mac地址不是"68:ED:A4"开头的机器)
|
||
* 通过授权码获取到的服务区编码codes[0]和MAC地址codes[3]
|
||
* 与上传的服务区编码【SERVERPARTCODE】、MAC地址【MACADDRESS】进行对比
|
||
* 若不一致,则提示机器信息不一致
|
||
*/
|
||
if (_SERVERPARTCODE.StartsWith("36") || (_SERVERPARTCODE.StartsWith("65") && !_MACADDRESS.StartsWith("68:ED:A4")))
|
||
{
|
||
if (codes[0] != _SERVERPARTCODE || codes[3] != _MACADDRESS)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:非本设备授权码,禁止操作! \",\"rows\":[]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
codes = new string[7];
|
||
codes[0] = _SERVERPARTCODE; //服务区编码
|
||
codes[1] = _SHOPCODE; //门店编码
|
||
codes[2] = _SERVERPARTSHOP_ID; //门店内码
|
||
codes[3] = _MACHINECODE; //机器编码
|
||
codes[4] = _MACADDRESS; //MAC地址
|
||
|
||
string _LastTime = "";
|
||
//从orderstring中获取数据上次更新的时间
|
||
if (!string.IsNullOrWhiteSpace(orderString))
|
||
{
|
||
JObject _OrderString = JObject.Parse(orderString);
|
||
if (_OrderString.Property("TOTALNUMBER") != null && _OrderString.Property("TOTALNUMBER").Value.ToString() == "true")
|
||
{
|
||
//获取下发总数
|
||
//return Method.DownloadMethod.TotalCount(_OracleHelper, tableName, jsonString, codes);
|
||
if (_OrderString.Property("LASTTIME") != null)
|
||
{
|
||
_LastTime = _OrderString.Property("LASTTIME").Value.ToString();
|
||
}
|
||
return Method.DownloadMethod.TotalCount(LocalOracle, tableName, jsonString, codes, _LastTime);
|
||
}
|
||
else
|
||
{
|
||
try
|
||
{
|
||
if (_OrderString.Property("PAGE") != null)
|
||
{
|
||
//第几页
|
||
codes[5] = _OrderString.Property("PAGE").Value.ToString();
|
||
if (int.Parse(codes[5]) <= 0)
|
||
{
|
||
codes[5] = null;
|
||
}
|
||
}
|
||
}
|
||
catch { codes[5] = null; }
|
||
|
||
try
|
||
{
|
||
if (_OrderString.Property("TABLENAME") != null)
|
||
{
|
||
//预下发表名
|
||
codes[6] = _OrderString.Property("TABLENAME").Value.ToString();
|
||
}
|
||
}
|
||
catch { codes[6] = null; }
|
||
}
|
||
}
|
||
|
||
//返回下发数据集合(json字符串格式)
|
||
//return Method.DownloadMethod.DataGeneration(_OracleHelper, tableName, jsonString, codes);
|
||
return Method.DownloadMethod.DataGeneration(LocalOracle, tableName, jsonString, codes, _LastTime);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
SDK.LogHelper.WriteSendLog("下发数据接口异常:" + ex.Message);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:JSON参数解析异常!\",\"rows\":[]}";
|
||
}
|
||
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据下发失败:发生异常!\",\"rows\":[]}";
|
||
}
|
||
|
||
/// <summary>
|
||
/// 商品去重查询
|
||
/// </summary>
|
||
/// <param name="serverPartShop_id">门店ID</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string CommodityDeduplication(string serverPartShop_id)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
string _strSelect = string.Format("SELECT COMMODITYEX_ID FROM HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW A " +
|
||
"WHERE NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYEX B " +
|
||
"WHERE A.COMMODITYEX_ID = B.COMMODITYEX_ID) AND A.SERVERPARTSHOP_ID = {0}", serverPartShop_id);
|
||
try
|
||
{
|
||
DataTable _CommodityTable = _OracleHelper.ExcuteSqlGetDataSet(_strSelect).Tables[0];
|
||
return JsonHelper.DataTableToJson(_CommodityTable);
|
||
}
|
||
catch
|
||
{
|
||
DataTable _DataTable = new DataTable();
|
||
_DataTable.Columns.Add("COMMODITYEX_ID", typeof(int));
|
||
return JsonHelper.DataTableToJson(_DataTable);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 查询错误日志信息
|
||
[WebMethod]
|
||
public string getTransferErrorList(string tableName, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
JObject _JsonString = JObject.Parse(jsonString);
|
||
if (_JsonString.Property("SERVERPARTCODE") == null ||
|
||
_JsonString.Property("SHOPCODE") == null ||
|
||
_JsonString.Property("MACHINECODE") == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据失败:JSON参数解析异常!\",\"rows\":[]}";
|
||
}
|
||
|
||
string _SERVERPARTCODE = _JsonString.Property("SERVERPARTCODE").Value.ToString(); //服务区编码
|
||
string _SHOPCODE = _JsonString.Property("SHOPCODE").Value.ToString(); //门店编码
|
||
string _MACHINECODE = _JsonString.Property("MACHINECODE").Value.ToString(); //收银机编码
|
||
|
||
if (!string.IsNullOrWhiteSpace(tableName) && !string.IsNullOrWhiteSpace(_SERVERPARTCODE) &&
|
||
!string.IsNullOrWhiteSpace(_SHOPCODE) && !string.IsNullOrWhiteSpace(_MACHINECODE))
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
DataSet _DataSet = _OracleHelper.ExcuteSqlGetDataSet(
|
||
string.Format(@"SELECT * FROM (SELECT ROWNUM AS rowno, t.*
|
||
FROM HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR t
|
||
WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}'
|
||
AND TABLENAME = '{3}' AND ROWNUM <= 20 ORDER BY OPERATE_DATE DESC)
|
||
table_alias WHERE table_alias.rowno > 0",
|
||
_SERVERPARTCODE, _SHOPCODE, _MACHINECODE, tableName));
|
||
return JsonHelper.DataSetToJson(_DataSet);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"获取数据失败:" + ex.ToString() + "\",\"rows\":[]}";
|
||
}
|
||
|
||
return "{\"error\": -1 ,\"msg\": \"暂无数据!\",\"rows\":[]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 检查必要参数
|
||
/// <summary>
|
||
/// 检查必要参数
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <param name="_RequiredDatas"></param>
|
||
/// <returns></returns>
|
||
private string ISCheckData(string jsonString, string[] _RequiredDatas)
|
||
{
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
if (_JsonArray.Count > _MaxDataQuantity * 100)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:json数据包不可超过400条数据\",\"rows\":[]}";
|
||
}
|
||
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if ((_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null) ||
|
||
(_Json.Property(_RequiredData.ToUpper()) != null &&
|
||
_Json.Property(_RequiredData.ToUpper()).Value.ToString() == "") ||
|
||
(_Json.Property(_RequiredData.ToLower()) != null &&
|
||
_Json.Property(_RequiredData.ToLower()).Value.ToString() == ""))
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[]}";
|
||
}
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 添加结账数据
|
||
/// <summary>
|
||
/// 添加结账数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string AddEndaccountData(string code, string jsonString)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
//必填项
|
||
string[] _RequiredDatas = { "ENDACCOUNT_STARTDATE", "ENDACCOUNT_DATE",
|
||
"TOTALCOUNT", "TOTALSELLAMOUNT", "CASHPAY" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.ENDACCOUNT> _Data = JsonHelper.JSONStringToList<HIGHWAY.ENDACCOUNT>(
|
||
jsonString, "(ENDACCOUNT_STARTDATE|ENDACCOUNT_DATE)");
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.ENDACCOUNT _ENDACCOUNT in _Data)
|
||
{
|
||
if (string.IsNullOrEmpty(_ENDACCOUNT.SERVERPARTCODE))
|
||
{
|
||
_ENDACCOUNT.SERVERPARTCODE = codes[0];
|
||
}
|
||
if (string.IsNullOrEmpty(_ENDACCOUNT.SHOPCODE))
|
||
{
|
||
_ENDACCOUNT.SHOPCODE = codes[1];
|
||
}
|
||
OperationDataHelper<HIGHWAY.ENDACCOUNT>.InsertTableData(_OracleHelper, _ENDACCOUNT,
|
||
"HIGHWAY_EXCHANGE.T_ENDACCOUNT", "ENDACCOUNT_ID", "HIGHWAY_EXCHANGE.SEQ_ENDACCOUNT.NEXTVAL");
|
||
}
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.ENDACCOUNT>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 添加单品报表
|
||
/// <summary>
|
||
/// 添加COMMODITYSALE表
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string AddCommoditysaleData(string code, string jsonString)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
//必填项
|
||
string[] _RequiredDatas = { "STARTDATE", "ENDDATE", "COMMODITY_CODE",
|
||
"TOTALCOUNT", "TOTALSELLAMOUNT" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.COMMODITYSALE> _Data = JsonHelper.JSONStringToList<HIGHWAY.COMMODITYSALE>(
|
||
jsonString, "(STARTDATE|ENDDATE)");
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.COMMODITYSALE _COMMODITYSALE in _Data)
|
||
{
|
||
if (string.IsNullOrEmpty(_COMMODITYSALE.SERVERPARTCODE))
|
||
{
|
||
_COMMODITYSALE.SERVERPARTCODE = codes[0];
|
||
}
|
||
if (string.IsNullOrEmpty(_COMMODITYSALE.SHOPCODE))
|
||
{
|
||
_COMMODITYSALE.SHOPCODE = codes[1];
|
||
}
|
||
OperationDataHelper<HIGHWAY.COMMODITYSALE>.InsertTableData(_OracleHelper, _COMMODITYSALE,
|
||
"HIGHWAY_EXCHANGE.T_COMMODITYSALE", "COMMODITYSALE_ID", "HIGHWAY_EXCHANGE.SEQ_COMMODITYSALE.NEXTVAL");
|
||
}
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.COMMODITYSALE>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 添加收银员报表
|
||
/// <summary>
|
||
/// 添加收银员报表
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string AddPersonsellData(string code, string jsonString)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
//必填项
|
||
string[] _RequiredDatas = { "STARTDATE", "ENDDATE", "TOTALCOUNT",
|
||
"TOTALSELLAMOUNT", "CASHPAY" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.PERSONSELL> _Data = JsonHelper.JSONStringToList<HIGHWAY.PERSONSELL>(
|
||
jsonString, "(STARTDATE|ENDDATE)");
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.PERSONSELL _PERSONSELL in _Data)
|
||
{
|
||
if (string.IsNullOrEmpty(_PERSONSELL.SERVERPARTCODE))
|
||
{
|
||
_PERSONSELL.SERVERPARTCODE = codes[0];
|
||
}
|
||
if (string.IsNullOrEmpty(_PERSONSELL.SHOPCODE))
|
||
{
|
||
_PERSONSELL.SHOPCODE = codes[1];
|
||
}
|
||
OperationDataHelper<HIGHWAY.PERSONSELL>.InsertTableData(_OracleHelper, _PERSONSELL,
|
||
"HIGHWAY_EXCHANGE.T_PERSONSELL", "PERSONSELL_ID", "HIGHWAY_EXCHANGE.SEQ_PERSONSELL.NEXTVAL");
|
||
}
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.PERSONSELL>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 添加销售流水集合
|
||
/// <summary>
|
||
/// 添加销售流水集合
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string AddTransfer_selldata(string code, string jsonString)
|
||
{
|
||
string _UpLoadServerPart = ConfigurationManager.AppSettings["UpLoadServerPart"];//获取需要同步到云平台的服务区流水数据
|
||
//获取数据库链接字符串
|
||
OracleHelper _OracleHelper = new OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog("添加销售流水集合:" + code);
|
||
//验证授权码是否合法
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
if (codes == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
#region 必填项验证
|
||
//必填项
|
||
string[] _RequiredDatas = { "SELLDATA_DATE", "TICKETCODE", "SELLCOUNT",
|
||
"OFFPRICE", "FACTAMOUNT","TRANSFER_FIRSTDATAS" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
//启动单品云平台上传
|
||
if (!string.IsNullOrEmpty(_UpLoadServerPart) && _UpLoadServerPart.Contains(codes[0]))
|
||
{
|
||
//是否需要执行销售流水同步接口
|
||
if (!string.IsNullOrEmpty(_IsUploadColud) && _IsUploadColud == "1" && !string.IsNullOrEmpty(_ColudUrl))
|
||
{
|
||
Thread _Thread = new Thread(() => UpLoadSaleCloud(code, jsonString))
|
||
{
|
||
IsBackground = true
|
||
};
|
||
_Thread.Start();
|
||
}
|
||
}
|
||
//解析销售流水json字符串
|
||
List<HIGHWAY.TRANSFER_SELLDATA> _Data = JsonHelper.JSONStringToList<HIGHWAY.TRANSFER_SELLDATA>(jsonString);
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
//执行数据插入
|
||
foreach (HIGHWAY.TRANSFER_SELLDATA _TRANSFER_SELLDATA in _Data)
|
||
{
|
||
_TRANSFER_SELLDATA.SERVERPARTCODE = codes[0];
|
||
_TRANSFER_SELLDATA.SHOPCODE = codes[1];
|
||
OperationDataHelper<HIGHWAY.TRANSFER_SELLDATA>.InsertTableData(_OracleHelper, _TRANSFER_SELLDATA,
|
||
"HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA", "TRANSFER_ID", "HIGHWAY_EXCHANGE.SEQ_TRANSFER_SELLDATA.NEXTVAL");
|
||
}
|
||
//启动流水拆解
|
||
if (!string.IsNullOrEmpty(_IsSaleSplit) && _IsSaleSplit == "1")
|
||
{
|
||
Thread _Thread = new Thread(() => SellDataSplit(_Data, codes))
|
||
{
|
||
IsBackground = true
|
||
};
|
||
_Thread.Start();
|
||
}
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.TRANSFER_SELLDATA>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
if (!string.IsNullOrEmpty(_IsLog) && _IsLog == "1" && !string.IsNullOrEmpty(_LogUrl))
|
||
{
|
||
Hashtable hashtable = new Hashtable
|
||
{
|
||
{ "jsonString", "添加失败:JSON参数解析异常!" }
|
||
};
|
||
SoapWSHelper.QuerySoapWebServiceString(_LogUrl, "LogWriteSendLog", hashtable);
|
||
}
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
//判断是否需要记录错误日志,用于同步销售流水至云平台时,记录出现错误的流水数据,可以进行复查
|
||
if (!string.IsNullOrEmpty(_IsLog) && _IsLog == "1" && !string.IsNullOrEmpty(_LogUrl))
|
||
{
|
||
Hashtable hashtable = new Hashtable
|
||
{
|
||
{ "jsonString", "添加失败:" + ex.ToString() }
|
||
};
|
||
SoapWSHelper.QuerySoapWebServiceString(_LogUrl, "LogWriteSendLog", hashtable); ;
|
||
}
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取指令
|
||
[WebMethod]
|
||
public string GetCommand(string server_code)
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(server_code))
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
string _SqlString = string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_COMMAND
|
||
WHERE SERVER_CODE = '{0}' AND NVL(COMMAND_STATE,0) = 0 ", server_code);
|
||
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(_SqlString).Tables[0];
|
||
if (_DataTable != null && _DataTable.Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 1 ,\"msg\": \"指令获取成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"暂无指令!\",\"rows\":\"\"}";
|
||
}
|
||
}
|
||
}
|
||
catch { }
|
||
return "{\"error\": -1 ,\"msg\": \"指令获取失败!\",\"rows\":\"\"}";
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取服务器密码
|
||
/// <summary>
|
||
/// 获取收银机密码
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetServerInfo(string server_code, string server_name)
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(server_code) && !string.IsNullOrEmpty(server_name))
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
string _SqlString = string.Format(@"SELECT SERVER_USERNAME,SERVER_PASSWORD FROM HIGHWAY_EXCHANGE.T_SERVERBASEINFO
|
||
WHERE SERVER_CODE = '{0}' AND SERVER_USERNAME = '{1}'", server_code, server_name);
|
||
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(_SqlString).Tables[0];
|
||
if (_DataTable != null && _DataTable.Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 1 ,\"msg\": \"获取成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"暂无数据!\",\"rows\":\"\"}";
|
||
}
|
||
}
|
||
}
|
||
catch { }
|
||
return "{\"error\": -1 ,\"msg\": \"获取失败!\",\"rows\":\"\"}";
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 更新操作命令状态
|
||
/// <summary>
|
||
/// 获取收银机密码
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string UpdateCommand(string servercode, string comid, string backinfo, string backstate, string backdate)
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(servercode) && !string.IsNullOrEmpty(comid) &&
|
||
!string.IsNullOrEmpty(backstate) && !string.IsNullOrEmpty(backdate))
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
string _SqlString = string.Format(@"UPDATE HIGHWAY_EXCHANGE.T_COMMAND SET FEEDBACK_STATE = {0},FEEDBACK_DATE = {1} {2}
|
||
WHERE COMMAND_ID = {3} AND SERVER_CODE = '{4}' ", backstate, "TO_DATE('" + backdate + "','YYYY/MM/DD HH24:MI:SS')",
|
||
string.IsNullOrEmpty(backinfo) ? "" : " AND FEEDBACK_INFO = '" + backinfo + "'", comid, servercode);
|
||
_OracleHelper.ExcuteSql(_SqlString);
|
||
return "{\"error\": 1 ,\"msg\": \"更新成功!\",\"rows\":\"\"}";
|
||
}
|
||
}
|
||
catch { }
|
||
return "{\"error\": -1 ,\"msg\": \" 更新失败!\",\"rows\":\"\"}";
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 查询数据
|
||
/// <summary>
|
||
/// 查询数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string SearchData(string code, string DataType, string MachineCode, string StartDate, string EndDate)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
|
||
DataTable _DataTable = new DataTable();
|
||
string SqlString = "";
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
if (codes == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
try
|
||
{
|
||
//必填项
|
||
if (!string.IsNullOrEmpty(DataType))
|
||
{
|
||
switch (DataType)
|
||
{
|
||
case "Endaccount":
|
||
#region 结账数据
|
||
if (!string.IsNullOrEmpty(MachineCode))
|
||
{
|
||
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
|
||
}
|
||
if (!string.IsNullOrEmpty(StartDate))
|
||
{
|
||
SqlString += " AND ENDACCOUNT_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(EndDate))
|
||
{
|
||
SqlString += " AND ENDACCOUNT_DATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
|
||
SERVERPARTCODE,SHOPCODE,MACHINECODE,ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,
|
||
ENDPERSONCODE,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
|
||
CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY
|
||
FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
|
||
ORDER BY ENDACCOUNT_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE",
|
||
code, codes[0], codes[1], SqlString)).Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
|
||
JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
case "Personsell":
|
||
#region 收银员报表
|
||
if (!string.IsNullOrEmpty(MachineCode))
|
||
{
|
||
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
|
||
}
|
||
if (!string.IsNullOrEmpty(StartDate))
|
||
{
|
||
SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(EndDate))
|
||
{
|
||
SqlString += " AND ENDDATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
|
||
SERVERPARTCODE,SHOPCODE,MACHINECODE,STARTDATE,ENDDATE,CASHWORKER_CODE,
|
||
TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
|
||
CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY
|
||
FROM HIGHWAY_EXCHANGE.T_PERSONSELL_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
|
||
ORDER BY ENDDATE,SERVERPARTCODE,SHOPCODE,MACHINECODE",
|
||
code, codes[0], codes[1], SqlString)).Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
|
||
JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
case "Commoditysale":
|
||
#region 单品报表
|
||
if (!string.IsNullOrEmpty(StartDate))
|
||
{
|
||
SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(EndDate))
|
||
{
|
||
SqlString += " AND ENDDATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
|
||
SERVERPARTCODE,SHOPCODE,STARTDATE,ENDDATE,COMMODITY_TYPE,COMMODITY_CODE,
|
||
COMMODITY_NAME,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT
|
||
FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
|
||
ORDER BY SERVERPARTCODE,SHOPCODE,ENDDATE",
|
||
code, codes[0], codes[1], SqlString)).Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
|
||
JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
case "Transfer_sell":
|
||
#region 销售流水
|
||
if (!string.IsNullOrEmpty(MachineCode))
|
||
{
|
||
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
|
||
}
|
||
if (!string.IsNullOrEmpty(StartDate))
|
||
{
|
||
SqlString += " AND SELLDATA_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(EndDate))
|
||
{
|
||
SqlString += " AND SELLDATA_DATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
|
||
SERVERPARTCODE,SHOPCODE,MACHINECODE,SELLDATA_DATE,TICKETCODE,WORKERCODE,
|
||
SELLCOUNT,OFFPRICE,FACTAMOUNT,TRANSFER_FIRSTDATAS,TRANSFER_SECONDDATAS,
|
||
TRANSFER_THIRDDATAS,TRANSFER_FORTHDATAS,TRANSFER_FIFTHDATAS
|
||
FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
|
||
ORDER BY SERVERPARTCODE,SHOPCODE,MACHINECODE,SELLDATA_DATE",
|
||
code, codes[0], codes[1], SqlString)).Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
|
||
JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
default:
|
||
return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 查询流水数据
|
||
/// <summary>
|
||
/// 查询流水主表数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string getStreamByCode(string serverpartcode, string shopcode, string sellmaster_code)
|
||
{
|
||
if (!string.IsNullOrEmpty(serverpartcode) && !string.IsNullOrEmpty(sellmaster_code))
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
DataSet _DataSetSellmaster = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLMASTER
|
||
WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND SELLMASTER_CODE = '{2}'",
|
||
serverpartcode, shopcode, sellmaster_code));
|
||
if (_DataSetSellmaster != null && _DataSetSellmaster.Tables.Count > 0)
|
||
{
|
||
DataSet _DataSetSelldetails = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLDETAILS WHERE SELLMASTER_CODE = '{0}'", sellmaster_code));
|
||
if (_DataSetSelldetails != null && _DataSetSelldetails.Tables.Count > 0)
|
||
{
|
||
return "{\"SELLMASTER\":" + JsonHelper.DataSetToJson(_DataSetSellmaster) +
|
||
",\"SELLDETAILS\":" + JsonHelper.DataSetToJson(_DataSetSelldetails) + "}";
|
||
}
|
||
}
|
||
}
|
||
return "";
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取实时流水数据(一小时)
|
||
/// <summary>
|
||
/// 获取实时流水数据(一小时)
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString">查询参数</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetSellMasterByCode(string code, string jsonString)
|
||
{
|
||
SDK.OracleHelper _OracleHelper = new SDK.OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
return new SDK.SellMasterHelper().GetSellMaster(_OracleHelper, code, jsonString);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 添加商品数据
|
||
/// <summary>
|
||
/// 添加商品数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string AddGoodsInfo(string code, string jsonString)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
WebService.SDK.LogHelper.WriteSendLog("添加商品数据:" + code);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
|
||
if (codes == null)
|
||
{
|
||
//WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
//必填项
|
||
string[] _RequiredDatas = { "COMMODITY_TYPE", "COMMODITY_CODE", "COMMODITY_NAME", "COMMODITY_BARCODE",
|
||
"COMMODITY_UNIT", "COMMODITY_RULE", "COMMODITY_RETAILPRICE",
|
||
"COMMODITY_PURCHASEPRICE", "COMMODITY_MEMBERPRICE", "BUSINESSTYPE" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.COMMODITYEX> _Data = JsonHelper.JSONStringToList<HIGHWAY.COMMODITYEX>(jsonString);
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.COMMODITYEX _COMMODITYEX in _Data)
|
||
{
|
||
_COMMODITYEX.SERVERPARTCODE = codes[0];
|
||
_COMMODITYEX.SHOPCODE = codes[1];
|
||
OperationDataHelper<HIGHWAY.COMMODITYEX>.InsertTableData(_OracleHelper, _COMMODITYEX,
|
||
"HIGHWAY_STORAGE.T_COMMODITYEX", "COMMODITYEX_ID", "HIGHWAY_STORAGE.SEQ_COMMODITYEX.NEXTVAL");
|
||
}
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.COMMODITYEX>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.Message.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 实时库存
|
||
[WebMethod]
|
||
public string AddStockInfo(string code, string jsonString)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
|
||
if (codes == null)
|
||
{
|
||
//WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
//必填项
|
||
string[] _RequiredDatas = { "COMMODITY_CODE", "COMMODITY_NAME", "COMMODITY_BARCODE", "COMMODITY_UNIT",
|
||
"COMMODITY_RULE", "PURCHASE_TAXPRICE", "PURCHASE_PRICE", "OVERPLUSCOUNT",
|
||
"SURPLUS_TAXPRICE", "SURPLUS_PRICE", "OPERATE_STATE", "CHECK_INDEX" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.GOODSSTOCKEX> _Data = JsonHelper.JSONStringToList<HIGHWAY.GOODSSTOCKEX>(jsonString);
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.GOODSSTOCKEX _GOODSSTOCKEX in _Data)
|
||
{
|
||
_GOODSSTOCKEX.SERVERPARTCODE = codes[0];
|
||
_GOODSSTOCKEX.SHOPCODE = codes[1];
|
||
OperationDataHelper<HIGHWAY.GOODSSTOCKEX>.InsertTableData(_OracleHelper, _GOODSSTOCKEX,
|
||
"HIGHWAY_STORAGE.T_GOODSSTOCKEX", "GOODSSTOCKEX_ID", "HIGHWAY_STORAGE.SEQ_GOODSSTOCKEX.NEXTVAL");
|
||
}
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.GOODSSTOCKEX>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 进销存数据
|
||
[WebMethod]
|
||
public string AddInSaleInfo(string code, string jsonString)
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
WebService.SDK.LogHelper.WriteSendLog("添加进销存数据:" + code);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
|
||
if (codes == null)
|
||
{
|
||
//WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
try
|
||
{
|
||
//必填项
|
||
string[] _RequiredDatas = { "COMMODITY_CODE","COMMODITY_NAME","COMMODITY_BARCODE","COMMODITY_UNIT","COMMODITY_RULE",
|
||
"PURCHASE_COUNT","PURCHASE_TAXAMOUNT","PURCHASE_AMOUNT","SELL_COUNT","SELL_TOTALTAXAMOUNT",
|
||
"SELL_TOTALAMOUNT","SELL_TAXCOST","SELL_COST","TRANSFER_COUNT","TRANSFER_TAXAMOUNT",
|
||
"TRANSFER_AMOUNT","RECEIVE_COUNT","RECEIVE_TAXAMOUNT","RECEIVE_AMOUNT","BACK_COUNT",
|
||
"BACK_TAXAMOUNT","BACK_AMOUNT","LOSSPROFIT_COUNT","LOSSPROFIT_TAXAMOUNT",
|
||
"LOSSPROFIT_AMOUNT","LOSSPROFIT_CHECKCOUNT","LOSSPROFIT_CHECKTAXAMOUNT"};
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
List<HIGHWAY.INSALES_STATISTICEX> _Data = JsonHelper.JSONStringToList<HIGHWAY.INSALES_STATISTICEX>(jsonString);
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.INSALES_STATISTICEX _GOODSSTOCKEX in _Data)
|
||
{
|
||
_GOODSSTOCKEX.SERVERPARTCODE = codes[0];
|
||
_GOODSSTOCKEX.SHOPCODE = codes[1];
|
||
OperationDataHelper<HIGHWAY.INSALES_STATISTICEX>.InsertTableData(_OracleHelper, _GOODSSTOCKEX,
|
||
"HIGHWAY_STORAGE.T_INSALES_STATISTICEX", "INSALES_STATISTICEX_ID", "HIGHWAY_STORAGE.SEQ_INSALES_STATISTICEX.NEXTVAL");
|
||
}
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.INSALES_STATISTICEX>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 配送单数据
|
||
[WebMethod]
|
||
public string SearchDeliverData(string code, string jsonString)//string StartDate, string EndDate, string ShopCode
|
||
{
|
||
//记载传入参数信息
|
||
//WebService.SDK.LogHelper.WriteSendLog(code + "," + jsonString);
|
||
WebService.SDK.LogHelper.WriteSendLog("添加配送单数据:" + code);
|
||
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
string _AUTHORIZATION_CODE = ConfigurationManager.AppSettings["AUTHORIZATION_CODE"].ToString();
|
||
string SqlString = "", TableName = "SELLER_STORAGE.V_GOODSDELIVER", StartDate = "", EndDate = "",
|
||
ShopCode = "", SearchType = "", Deliver_Code = "", OtherCondition = "";
|
||
DataTable _DataTable = new DataTable(), _DetailDataTable = new DataTable();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
|
||
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
//读取参数信息
|
||
if (code.Split('|').Length > 1)
|
||
{
|
||
jsonString = code.Split('|')[1];
|
||
code = code.Split('|')[0];
|
||
}
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
|
||
#region 解析参数内容
|
||
try
|
||
{
|
||
code = _Json["code"].ToString();
|
||
}
|
||
catch { }
|
||
try
|
||
{
|
||
StartDate = _Json["StartDate"].ToString();
|
||
}
|
||
catch { }
|
||
try
|
||
{
|
||
EndDate = _Json["EndDate"].ToString();
|
||
}
|
||
catch { }
|
||
try
|
||
{
|
||
ShopCode = _Json["ShopCode"].ToString();
|
||
}
|
||
catch { }
|
||
try
|
||
{
|
||
SearchType = _Json["SearchType"].ToString();
|
||
}
|
||
catch { }
|
||
try
|
||
{
|
||
Deliver_Code = _Json["Deliver_Code"].ToString();
|
||
}
|
||
catch { }
|
||
#endregion
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
|
||
if (codes == null && code != _AUTHORIZATION_CODE)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
try
|
||
{
|
||
if (_AUTHORIZATION_CODE == code)
|
||
{
|
||
TableName = "SELLER_STORAGE.V_GOODSDELIVER_GAS";
|
||
if (!string.IsNullOrEmpty(ShopCode))
|
||
{
|
||
SqlString = "SHOPCODE = '" + ShopCode + "'";
|
||
OtherCondition = " AND SHOPCODE = '" + ShopCode + "'";
|
||
}
|
||
else
|
||
{
|
||
SqlString = "1 = 1";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
SqlString = "SERVERPART_CODE = '" + codes[0] + "' AND SHOPCODE = '" + codes[1] + "'";
|
||
OtherCondition = " AND SERVERPART_CODE = '" + codes[0] + "' AND SHOPCODE = '" + codes[1] + "'";
|
||
}
|
||
switch (SearchType)
|
||
{
|
||
case "0":
|
||
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_GOODSDELIVER WHERE SHOPCODE = '" +
|
||
ShopCode + "' AND GOODSDELIVER_CODE = '" + Deliver_Code + "'").Tables[0].Rows.Count > 0)
|
||
{
|
||
return "{\"error\": 0 ,\"msg\": \"单据已更新!\",\"rows\":[{}]}";
|
||
}
|
||
else
|
||
{
|
||
try
|
||
{
|
||
SqlString = @"INSERT INTO HIGHWAY_EXCHANGE.T_GOODSDELIVER (GOODSDELIVER_CODE,SHOPCODE)
|
||
VALUES ('" + Deliver_Code + "','" + ShopCode + "')";
|
||
_OracleHelper.ExcuteSql(SqlString);
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"更新成功!\",\"rows\":[{}]}";
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message + "\r\n" + SqlString);
|
||
return "{\"error\": -1 ,\"msg\": \"更新失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
default:
|
||
//必填项
|
||
if (!string.IsNullOrEmpty(StartDate) || !string.IsNullOrEmpty(EndDate))
|
||
{
|
||
DataTable OtherConditionTable = null;
|
||
|
||
#region 配送单数据
|
||
|
||
#region 查询条件
|
||
if (!string.IsNullOrEmpty(StartDate))
|
||
{
|
||
try
|
||
{
|
||
SqlString += " AND DELIVER_DATE >= TO_DATE('" + DateTime.Parse(StartDate).ToString() +
|
||
"','YYYY/MM/DD HH24:MI:SS')";
|
||
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + DateTime.Parse(StartDate).ToString() +
|
||
"','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
catch
|
||
{
|
||
SqlString += " AND DELIVER_DATE >= TO_DATE('" + StartDate.Substring(0, 4) + "/" + StartDate.Substring(4, 2) +
|
||
"/" + StartDate.Substring(6, 2) + " " + StartDate.Substring(8, 2) + ":" + StartDate.Substring(10, 2) +
|
||
":" + StartDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
|
||
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + StartDate.Substring(0, 4) + "/" +
|
||
StartDate.Substring(4, 2) + "/" + StartDate.Substring(6, 2) + " " +
|
||
StartDate.Substring(8, 2) + ":" + StartDate.Substring(10, 2) + ":" +
|
||
StartDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
}
|
||
if (!string.IsNullOrEmpty(EndDate))
|
||
{
|
||
try
|
||
{
|
||
SqlString += " AND DELIVER_DATE <= TO_DATE('" + DateTime.Parse(EndDate).ToString() +
|
||
"','YYYY/MM/DD HH24:MI:SS')";
|
||
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + DateTime.Parse(EndDate).ToString() +
|
||
"','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
catch
|
||
{
|
||
SqlString += " AND DELIVER_DATE <= TO_DATE('" + EndDate.Substring(0, 4) + "/" + EndDate.Substring(4, 2) +
|
||
"/" + EndDate.Substring(6, 2) + " " + EndDate.Substring(8, 2) + ":" + EndDate.Substring(10, 2) +
|
||
":" + EndDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
|
||
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + EndDate.Substring(0, 4) + "/" +
|
||
EndDate.Substring(4, 2) + "/" + EndDate.Substring(6, 2) + " " +
|
||
EndDate.Substring(8, 2) + ":" + EndDate.Substring(10, 2) + ":" +
|
||
EndDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
SqlString = string.Format(@"SELECT '{0}' AS code, SERVERPART_NAME,SERVERPARTSHOP_NAME,
|
||
TO_CHAR(DELIVER_DATE,'YYYYMMDDHH24MISS') AS DELIVER_DATE,GOODSDELIVER_CODE,GOODSDELIVER_STAFF,
|
||
GOODSDELIVER_STAFFTEL,ACTUAL_TAXAMOUNT,GOODSDELIVER_DESC,SERVERPARTSHOP_ID
|
||
FROM {1} WHERE {2}", !string.IsNullOrEmpty(ShopCode) ? ShopCode : code, TableName, SqlString);
|
||
if (SearchType == "1")
|
||
{
|
||
OtherConditionTable = _OracleHelper.ExcuteSqlGetDataSet(
|
||
"SELECT WM_CONCAT(GOODSDELIVER_CODE || SHOPCODE) FROM HIGHWAY_EXCHANGE.T_GOODSDELIVER").Tables[0];
|
||
if (OtherConditionTable.Rows.Count > 0 && OtherConditionTable.Rows[0][0].ToString() != "")
|
||
{
|
||
SqlString += string.Format(@" UNION ALL
|
||
SELECT '{0}' AS code, SERVERPART_NAME,SERVERPARTSHOP_NAME,
|
||
TO_CHAR(DELIVER_DATE,'YYYYMMDDHH24MISS') AS DELIVER_DATE,GOODSDELIVER_CODE,GOODSDELIVER_STAFF,
|
||
GOODSDELIVER_STAFFTEL,ACTUAL_TAXAMOUNT,GOODSDELIVER_DESC,SERVERPARTSHOP_ID
|
||
FROM {1} WHERE GOODSDELIVER_CODE || SHOPCODE NOT IN ({2}){3}",
|
||
!string.IsNullOrEmpty(ShopCode) ? ShopCode : code, TableName, "'" +
|
||
OtherConditionTable.Rows[0][0].ToString().Replace(",", "','") + "'", OtherCondition);
|
||
}
|
||
else
|
||
{
|
||
SqlString += string.Format(@" UNION ALL
|
||
SELECT '{0}' AS code, SERVERPART_NAME,SERVERPARTSHOP_NAME,
|
||
TO_CHAR(DELIVER_DATE,'YYYYMMDDHH24MISS') AS DELIVER_DATE,GOODSDELIVER_CODE,GOODSDELIVER_STAFF,
|
||
GOODSDELIVER_STAFFTEL,ACTUAL_TAXAMOUNT,GOODSDELIVER_DESC,SERVERPARTSHOP_ID
|
||
FROM {1} WHERE 1 = 1{2}", !string.IsNullOrEmpty(ShopCode) ? ShopCode : code, TableName, OtherCondition);
|
||
}
|
||
}
|
||
_OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0], _OracleHelperSeller.Split(',')[1],
|
||
_OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(SqlString).Tables[0];
|
||
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
object[] GOODSDELIVER_CODE = _DataTable.AsEnumerable().Select(r => r.Field<string>("GOODSDELIVER_CODE")).ToArray();
|
||
string _GOODSDELIVER_CODE = "", GOODSDELIVER_CODES = string.Format("'{0}'", string.Join("','", GOODSDELIVER_CODE));
|
||
|
||
_DetailDataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT NEWSHOPCODE AS code,GOODSDELIVER_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
||
COMMODITY_RULE,DELIVER_UNIT,UNIT_COUNT,DELIVER_COUNT,DELIVER_TOTALCOUNT,
|
||
AVERAGE_PRICE,DELIVER_PRICE AS DELIVER_TAXPRICE,GUARANTEE_MONTHS
|
||
FROM SELLER_STORAGE.V_GOODSDELIVERBILL_GAS
|
||
WHERE GOODSDELIVER_CODE IN ({1}) AND SERVERPARTSHOP_ID = {2}
|
||
ORDER BY GOODSDELIVER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,COMMODITY_RULE,DELIVER_UNIT,UNIT_COUNT,
|
||
DELIVER_COUNT,DELIVER_TOTALCOUNT,AVERAGE_PRICE,DELIVER_TAXPRICE,GUARANTEE_MONTHS",
|
||
!string.IsNullOrEmpty(ShopCode) ? ShopCode : code, GOODSDELIVER_CODES,
|
||
_DataTable.Rows[0]["SERVERPARTSHOP_ID"].ToString())).Tables[0];
|
||
|
||
int RowNum = 1;
|
||
for (int RowCount = 0; RowCount < _DetailDataTable.Rows.Count; RowCount++)
|
||
{
|
||
if (_GOODSDELIVER_CODE != _DetailDataTable.Rows[RowCount]["GOODSDELIVER_CODE"].ToString())
|
||
{
|
||
_GOODSDELIVER_CODE = _DetailDataTable.Rows[RowCount]["GOODSDELIVER_CODE"].ToString();
|
||
RowNum = 1;
|
||
}
|
||
_DetailDataTable.Rows[RowCount]["GOODSDELIVER_CODE"] = _DetailDataTable.Rows[RowCount]["code"].ToString() +
|
||
"-" + _GOODSDELIVER_CODE + "-" + RowNum.ToString().PadLeft(3, '0');
|
||
RowNum++;
|
||
}
|
||
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) +
|
||
",\"details\":" + JsonHelper.DataTableToJson(_DetailDataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message + "\r\n" + SqlString);
|
||
return "{\"error\": -1 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 添加订单数据
|
||
/// <summary>
|
||
/// 添加订单数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string AddPurchaseData(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
WebService.SDK.LogHelper.WriteSendLog("添加订单数据:" + code);
|
||
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
}
|
||
|
||
//必填项
|
||
string[] _RequiredDatas = { "SHOPCODE", "FUUID", "TOTAL_COUNT" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.PURCHASEDETAIL> _Data = JsonHelper.JSONStringToList<HIGHWAY.PURCHASEDETAIL>(jsonString, "(PURCHASE_DATE)");
|
||
if (_Data != null && _Data.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.PURCHASEDETAIL _PURCHASEDETAIL in _Data)
|
||
{
|
||
if (string.IsNullOrEmpty(_PURCHASEDETAIL.SERVERPARTCODE))
|
||
{
|
||
_PURCHASEDETAIL.SERVERPARTCODE = codes[0];
|
||
}
|
||
if (string.IsNullOrEmpty(_PURCHASEDETAIL.SHOPCODE))
|
||
{
|
||
_PURCHASEDETAIL.SHOPCODE = codes[1];
|
||
}
|
||
OperationDataHelper<HIGHWAY.PURCHASEDETAIL>.InsertTableData(_OracleHelper, _PURCHASEDETAIL,
|
||
"HIGHWAY_STORAGE.T_PURCHASEDETAIL", "PURCHASEDETAIL_ID", "HIGHWAY_STORAGE.SEQ_PURCHASEDETAIL.NEXTVAL");
|
||
}
|
||
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson<HIGHWAY.PURCHASEDETAIL>(_Data, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 移动支付交易统计传输接口
|
||
/// <summary>
|
||
/// 移动支付交易统计传输接口
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString">Json格式数据</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string DailyMobilepay(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteReceiveLog(code + "\r\n" + jsonString);
|
||
|
||
//string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
//if (codes == null)
|
||
//{
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
//}
|
||
WebService.SDK.CommonHelper.MobilePayOperators _MobilePayOperators;
|
||
try
|
||
{
|
||
if (!Enum.TryParse(code.ToDecrypt(), out _MobilePayOperators))
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string[] _RequiredDatas = { "MERCHANT_CODE", "TICKET_AMOUNT", "DEDUCTION_RATE", "TAXFEE_AMOUNT", "TRADE_DATE" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.MPSEPARATE> _MPSEPARATEList = JsonHelper.JSONStringToList<HIGHWAY.MPSEPARATE>(jsonString, "(TRADE_DATE)");
|
||
if (_MPSEPARATEList != null && _MPSEPARATEList.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.MPSEPARATE _MPSEPARATE in _MPSEPARATEList)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(_MPSEPARATE.TRANSACTION_TRENCH))
|
||
{
|
||
_MPSEPARATE.TRANSACTION_TRENCH = ((int)_MobilePayOperators).ToString();
|
||
}
|
||
OperationDataHelper<HIGHWAY.MPSEPARATE>.InsertTableData(_OracleHelper, _MPSEPARATE,
|
||
"HIGHWAY_EXCHANGE.T_MPSEPARATE", "MPSEPARATE_ID", "HIGHWAY_EXCHANGE.SEQ_MPSEPARATE.NEXTVAL");
|
||
}
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson(_MPSEPARATEList, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 移动支付交易流水传输接口
|
||
/// <summary>
|
||
/// 移动支付交易统计传输接口
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString">Json格式数据</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string DailyMobilepayList(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleConnStrPayList = ConfigurationManager.AppSettings["OracleConnStr"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStrPayList.Split(',')[0],
|
||
_OracleConnStrPayList.Split(',')[1], _OracleConnStrPayList.Split(',')[2], _OracleConnStrPayList.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteReceiveLog(code + "\r\n" + jsonString);
|
||
|
||
//string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelper, code);
|
||
//if (codes == null)
|
||
//{
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
|
||
//}
|
||
WebService.SDK.CommonHelper.MobilePayOperators _MobilePayOperators;
|
||
try
|
||
{
|
||
if (!Enum.TryParse(code.ToDecrypt(), out _MobilePayOperators))
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string[] _RequiredDatas = { "MERCHANT_CODE", "TICKET_AMOUNT", "DEDUCTION_RATE", "TAXFEE_AMOUNT", "TRADE_DATE" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JArray _JsonArray = JArray.Parse(jsonString);
|
||
for (int i = 0; i < _JsonArray.Count; i++)
|
||
{
|
||
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData.ToUpper()) == null &&
|
||
_Json.Property(_RequiredData.ToLower()) == null)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
|
||
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
List<HIGHWAY.MobilePayment_Records> recordsList = JsonHelper.JSONStringToList<HIGHWAY.MobilePayment_Records>(jsonString, "(TRADE_DATE)");
|
||
if (recordsList != null && recordsList.Count > 0)
|
||
{
|
||
foreach (HIGHWAY.MobilePayment_Records _MobilePayment_Records in recordsList)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(_MobilePayment_Records.Transaction_Trench))
|
||
{
|
||
_MobilePayment_Records.Transaction_Trench = ((int)_MobilePayOperators).ToString();
|
||
}
|
||
if (_MobilePayment_Records.Ticket_Code.Contains("-") || _MobilePayment_Records.Ticket_Code.Substring(0, 1) == "B")
|
||
{
|
||
_MobilePayment_Records.Ticket_Type = 1;
|
||
}
|
||
else
|
||
{
|
||
_MobilePayment_Records.Ticket_Type = 0;
|
||
}
|
||
try
|
||
{
|
||
//拆分服务区、门店、机器编号
|
||
string ticketCode = _MobilePayment_Records.Ticket_Code;
|
||
_MobilePayment_Records.ServerPart_Code = ticketCode.Substring(0, 6);
|
||
_MobilePayment_Records.ServerPartShop_Code = (ticketCode.Length == 28 ? ticketCode.Substring(6, 4) : ticketCode.Substring(6, 6));
|
||
_MobilePayment_Records.MachineCode = (ticketCode.Length == 28 ? ticketCode.Substring(10, 4) : ticketCode.Substring(12, 4));
|
||
//拆分下单时间
|
||
string dateString = ticketCode.Substring(ticketCode.Length - 14, 8);
|
||
string hourString = ticketCode.Substring(ticketCode.Length - 6, 6);
|
||
string dateStr = dateString.Substring(0, 4) + "-" + dateString.Substring(4, 2) + "-" + dateString.Substring(6, 2);
|
||
string hourStr = hourString.Substring(0, 2) + ":" + hourString.Substring(2, 2) + ":" + hourString.Substring(4, 2);
|
||
DateTime Order_Date = Convert.ToDateTime(dateStr + " " + hourStr);
|
||
//string minutes = ticketCode.Substring(ticketCode.Length - 14, 8);
|
||
_MobilePayment_Records.Order_Date = Order_Date;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex, "DailyMobilepayList", "移动支付交易流水传输接口");
|
||
}
|
||
|
||
OperationDataHelper<HIGHWAY.MobilePayment_Records>.InsertTableData(_OracleHelper, _MobilePayment_Records,
|
||
"HIGHWAY_SELLDATA.T_MOBILEPAYMENT_RECORDS", "MOBILEPAYMENT_RECORDS_ID",
|
||
"HIGHWAY_SELLDATA.SEQ_MOBILEPAYMENT_RECORDS.NEXTVAL");
|
||
}
|
||
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
|
||
JsonHelper.ListToJson(recordsList, "rows", false) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 海鼎相关接口
|
||
|
||
#region 方法 -> 获取企业信息
|
||
/// <summary>
|
||
/// 获取企业信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetCompanyInfo(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Start_Date", "End_Date", "time_stamp", "Membership_Company" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
|
||
_Dictionary.Clear();
|
||
_Dictionary.Add("time_stamp", _Json["time_stamp"].ToString());
|
||
_Dictionary.Add("Membership_Company", _Json["Membership_Company"].ToString());
|
||
_Dictionary.Add("Start_Date", _Json["Start_Date"].ToString());
|
||
_Dictionary.Add("End_Date", _Json["End_Date"].ToString());
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
string SqlString = "";
|
||
DataTable _DataTable = new DataTable();
|
||
if (!string.IsNullOrEmpty(_Dictionary["Membership_Company"].ToString()))
|
||
{
|
||
SqlString += " AND Membership_Company = '" + _Dictionary["Membership_Company"].ToString() + "'";
|
||
}
|
||
if (!string.IsNullOrEmpty(_Dictionary["Start_Date"].ToString()))
|
||
{
|
||
SqlString += " AND OPERATE_DATE >= TO_DATE('" + _Dictionary["Start_Date"].ToString() + "','YYYY/MM/DD')";
|
||
}
|
||
if (!string.IsNullOrEmpty(_Dictionary["End_Date"].ToString()))
|
||
{
|
||
SqlString += " AND OPERATE_DATE < TO_DATE('" + _Dictionary["End_Date"].ToString() + "','YYYY/MM/DD') + 1";
|
||
}
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT
|
||
TO_CHAR(COMPANY_ID) AS MEMBERSHIP_COMPANY,COMPANY_NAME,COMPANY_SHORTNAME,OPERATE_DATE
|
||
FROM MEMBERSHIP_STORAGE.T_COMPANY WHERE 1 = 1{0}
|
||
ORDER BY OPERATE_DATE,COMPANY_NAME", SqlString)).Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow _DataRow in _DataTable.Rows)
|
||
{
|
||
_DataRow["MEMBERSHIP_COMPANY"] = _DataRow["MEMBERSHIP_COMPANY"].ToEncrypt();
|
||
}
|
||
|
||
_DataTable.Columns["MEMBERSHIP_COMPANY"].ColumnName = "Membership_Company";
|
||
_DataTable.Columns["COMPANY_NAME"].ColumnName = "Company_Name";
|
||
_DataTable.Columns["COMPANY_SHORTNAME"].ColumnName = "Company_Shortname";
|
||
_DataTable.Columns["OPERATE_DATE"].ColumnName = "Operate_Date";
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":" +
|
||
JsonHelper.DataTableToJson(_DataTable) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 101 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取会员信息
|
||
/// <summary>
|
||
/// 获取会员信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetMembershipInfo(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp", "Membership_Card", "Membership_Name", "Membership_Mobilephone" };
|
||
//"Membership_Type", "Start_Date", "End_Date", "Membership_ID", "Membership_Company",
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "Membership_Card":
|
||
case "Membership_Name":
|
||
case "Membership_Mobilephone":
|
||
EmptyCount++;
|
||
if (EmptyCount == 3)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
//_Dictionary.Add("time_stamp", _Json["time_stamp"].ToString());
|
||
//_Dictionary.Add("Membership_ID", _Json["Membership_ID"].ToString());
|
||
//_Dictionary.Add("Membership_Company", _Json["Membership_Company"].ToString());
|
||
//_Dictionary.Add("Membership_Type", _Json["Membership_Type"].ToString());
|
||
//_Dictionary.Add("Membership_Name", _Json["Membership_Name"].ToString());
|
||
//_Dictionary.Add("Membership_Mobilephone", _Json["Membership_Mobilephone"].ToString());
|
||
//_Dictionary.Add("Start_Date", _Json["Start_Date"].ToString());
|
||
//_Dictionary.Add("End_Date", _Json["End_Date"].ToString());
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "MemberQuery");
|
||
sb.AppendFormat("&Membership_Card={0}", _Dictionary["Membership_Card"].ToString());
|
||
sb.AppendFormat("&Membership_Name={0}", _Dictionary["Membership_Name"].ToString());
|
||
sb.AppendFormat("&Membership_Mobilephone={0}", _Dictionary["Membership_Mobilephone"].ToString());
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Company_Name"] = _JObject["Result_Data"]["Company_Name"];
|
||
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
|
||
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
|
||
info["Membership_Sex"] = _JObject["Result_Data"]["Membership_Sex"];
|
||
info["Membership_Mobilephone"] = _JObject["Result_Data"]["Membership_Mobilephone"];
|
||
info["Membership_Card"] = _JObject["Result_Data"]["Membership_Card"];
|
||
info["Operate_Date"] = _JObject["Result_Data"]["Operate_Date"];
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取卡户信息
|
||
/// <summary>
|
||
/// 获取卡户信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetICCardInfo(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp", "Membership_Name", "Membership_Card" };
|
||
//"Membership_ID", "Start_Date", "End_Date",
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "Membership_Card":
|
||
case "Membership_Name":
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
//_Dictionary.Add("time_stamp", _Json["time_stamp"].ToString());
|
||
//_Dictionary.Add("Membership_ID", _Json["Membership_ID"].ToString());
|
||
//_Dictionary.Add("ICCard_Code", _Json["ICCard_Code"].ToString());
|
||
//_Dictionary.Add("Membership_Card", _Json["Membership_Card"].ToString());
|
||
//_Dictionary.Add("Start_Date", _Json["Start_Date"].ToString());
|
||
//_Dictionary.Add("End_Date", _Json["End_Date"].ToString());
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "ICCardQuery");
|
||
sb.AppendFormat("&Membership_Card={0}", _Dictionary["Membership_Card"].ToString());
|
||
sb.AppendFormat("&Membership_Name={0}", _Dictionary["Membership_Name"].ToString());
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
|
||
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
|
||
info["ICCard_Statue"] = _JObject["Result_Data"]["ICCard_Statue"];
|
||
info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
|
||
info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
|
||
info["Operate_Date"] = _JObject["Result_Data"]["Operate_Date"];
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单支付
|
||
/// <summary>
|
||
/// 订单支付
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderPay(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"支付失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"支付失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp" , "ECode", "Membership_Card", "TicketCode", //"Membership_ID",
|
||
"MachineCode", "Recode_Type", "Recode_Amount" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "ECode": //会员电子码
|
||
case "Membership_Card": //会员实体卡号
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON缺少必要支付参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
//实付金额
|
||
if (_Json["Fact_Amount"] != null)
|
||
{
|
||
_Dictionary.Add("Fact_Amount", _Json["Fact_Amount"].ToString());
|
||
}
|
||
//抵用积分
|
||
if (_Json["Consume_Point"] != null)
|
||
{
|
||
_Dictionary.Add("Consume_Point", _Json["Consume_Point"].ToString());
|
||
}
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"支付失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_SERVERPART_ID = "NULL", _SERVERPART_NAME = "",
|
||
_SERVERPARTSHOP_ID = "NULL", _SHOPNAME = "", _PROVINCE_CODE = "",
|
||
_TicketCode = _Dictionary["TicketCode"].ToString(),
|
||
_MachineCode = _Dictionary["MachineCode"].ToString(),
|
||
_ECode = _Dictionary.ContainsKey("ECode") ? _Dictionary["ECode"].ToString() : "",
|
||
_Membership_Card = _Dictionary.ContainsKey("Membership_Card") ? _Dictionary["Membership_Card"].ToString() : "",
|
||
_Recode_Type = _Dictionary["Recode_Type"].ToString(),
|
||
_Recode_Amount = _Dictionary["Recode_Amount"].ToString(),
|
||
_Recode_Date = DateTime.Now.ToString(),
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
|
||
if (!_Dictionary.TryGetValue("Fact_Amount", out string _Fact_Amount))
|
||
{
|
||
_Fact_Amount = _Recode_Amount;
|
||
}
|
||
if (!_Dictionary.TryGetValue("Consume_Point", out string _Consume_Point))
|
||
{
|
||
_Consume_Point = "0";
|
||
}
|
||
#endregion
|
||
|
||
//获取服务区门店信息
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
|
||
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
|
||
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
|
||
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "OrderPay");
|
||
sb.AppendFormat("&Membership_ECode={0}", _ECode);
|
||
sb.AppendFormat("&Membership_Card={0}", _Membership_Card);
|
||
sb.AppendFormat("&Fact_Amount={0}", _Fact_Amount);
|
||
sb.AppendFormat("&Consume_Point={0}", _Consume_Point);
|
||
sb.AppendFormat("&Recode_Amount={0}", _Recode_Amount);
|
||
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&Recode_Type={0}", _Dictionary["Recode_Type"].ToString());
|
||
sb.AppendFormat("&Province_Code={0}", _PROVINCE_CODE);
|
||
sb.AppendFormat("&Serverpart_ID={0}", _SERVERPART_ID);
|
||
sb.AppendFormat("&Serverpart_Code={0}", _ServerpartCode);
|
||
sb.AppendFormat("&Serverpart_Name={0}", _SERVERPART_NAME);
|
||
sb.AppendFormat("&ServerpartShop_ID={0}", _SERVERPARTSHOP_ID);
|
||
sb.AppendFormat("&ServerpartShop_Code={0}", _ShopCode);
|
||
sb.AppendFormat("&ServerpartShop_Name={0}", _SHOPNAME);
|
||
sb.AppendFormat("&MachineCode={0}", _Dictionary["MachineCode"].ToString());
|
||
sb.AppendFormat("&Recode_Date={0}", _Recode_Date);
|
||
sb.AppendFormat("&PlatformCode={0}", _PlatformCode);
|
||
sb.AppendFormat("&RecordPoint={0}", 0); //海鼎饭卡支付不做积分
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
HIGHWAY.RECHARGERECORD _RECHARGERECORD = new HIGHWAY.RECHARGERECORD();
|
||
_RECHARGERECORD.Serverpart_Name = _SERVERPART_NAME;
|
||
_RECHARGERECORD.ShopName = _SHOPNAME;
|
||
_RECHARGERECORD.MachineCode = _Dictionary["MachineCode"].ToString();
|
||
_RECHARGERECORD.TicketCode = _Dictionary["TicketCode"].ToString();
|
||
_RECHARGERECORD.PlatformCode = _PlatformCode;
|
||
_RECHARGERECORD.Recode_Type = int.Parse(_JObject["Result_Data"]["Recode_Type"].ToString());
|
||
_RECHARGERECORD.Recode_Amount = double.Parse(_Recode_Amount).Round(2);
|
||
_RECHARGERECORD.Fact_Amount = double.Parse(_Fact_Amount).Round(2);
|
||
_RECHARGERECORD.Consume_Point = double.Parse(_Consume_Point).Round(2);
|
||
_RECHARGERECORD.Current_Point = double.Parse(_JObject["Result_Data"]["Current_Point"].ToString()).Round(2);
|
||
_RECHARGERECORD.Total_Point = double.Parse(_JObject["Result_Data"]["Total_Point"].ToString()).Round(2);
|
||
//double.Parse(_Consume_Point).Round(2);
|
||
//_RECHARGERECORD.Account_Balance = decimal.Parse(_ACCOUNT_BALANCE) - decimal.Parse(_Recode_Amount);
|
||
_RECHARGERECORD.Pay_State = "Success";
|
||
_RECHARGERECORD.Recode_Date = DateTime.Parse(_Recode_Date);
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"支付成功!\",\"rows\":[" +
|
||
JsonHelper.ObjectToJson(_RECHARGERECORD) + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"支付失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单查询
|
||
/// <summary>
|
||
/// 订单查询
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderQuery(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "TicketCode", "PlatformCode", "Start_Date", "End_Date", "time_stamp" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
int EmptyCount = 0, TimeCount = 0;
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "TicketCode":
|
||
case "PlatformCode":
|
||
EmptyCount++;
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
case "Start_Date":
|
||
case "End_Date":
|
||
TimeCount++;
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "Start_Date":
|
||
case "End_Date":
|
||
try
|
||
{
|
||
DateTime.ParseExact(_Json[_RequiredData].ToString(), "yyyyMMddHHmmss",
|
||
System.Globalization.CultureInfo.InvariantCulture).ToString();
|
||
}
|
||
catch
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:时间格式不正确!\",\"rows\":[{}]}";
|
||
}
|
||
break;
|
||
}
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
if (EmptyCount == 2 && TimeCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "OrderQuery");
|
||
sb.AppendFormat("&Start_Date={0}", _Dictionary["Start_Date"].ToString());
|
||
sb.AppendFormat("&PlatformCode={0}", _Dictionary["PlatformCode"].ToString());
|
||
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&End_Date={0}", _Dictionary["End_Date"].ToString());
|
||
sb.AppendFormat("&Serverpart_Code={0}", codes[0]);
|
||
sb.AppendFormat("&ShopCode={0}", codes[1]);
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" +
|
||
_JObject["Result_Data"] + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单退款
|
||
/// <summary>
|
||
/// 获取会员、卡户信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderRefund(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"退款失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"退款失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "TicketCode", "PlatformCode", "time_stamp", "Refund_Amount" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"退款失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"退款失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"退款失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "OrderRefund");
|
||
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&Refund_Amount={0}", _Dictionary["Refund_Amount"].ToString());
|
||
sb.AppendFormat("&Ori_PlatformCode={0}", _Dictionary["PlatformCode"].ToString());
|
||
sb.AppendFormat("&Serverpart_Code={0}", codes[0]);
|
||
sb.AppendFormat("&ShopCode={0}", codes[1]);
|
||
sb.AppendFormat("&PlatformCode={0}", code + DateTime.Now.ToString("yyyyMMddHHmmss"));
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"退款成功!\",\"rows\":[" +
|
||
_JObject["Result_Data"] + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"退款失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 优惠券验证接口
|
||
/// <summary>
|
||
/// 会员电子优惠券验证接口
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string CouponCheck(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"优惠券校验失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"优惠券校验失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string _UseType = ""; //0:查验优惠券,1:使用优惠券
|
||
string[] _RequiredDatas = { "sign", "time_stamp" , "UseType", "ECode", "Membership_Card",
|
||
"MachineCode", "TicketCode", "CouponCode", "ConsumeAmount" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "Membership_Card":
|
||
case "ECode":
|
||
break;
|
||
case "MachineCode":
|
||
case "TicketCode":
|
||
case "ConsumeAmount":
|
||
if (_UseType == "1")
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"优惠券校验失败:JSON缺少必要支付参数\",\"rows\":[{}]}";
|
||
}
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"优惠券校验失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
if (_RequiredData.ToLower() == "usetype")
|
||
{
|
||
_UseType = _Json[_RequiredData].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"优惠券校验失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"优惠券校验失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
if (string.IsNullOrEmpty(_Dictionary["CouponCode"].ToString()))
|
||
{
|
||
return "{\"error\": 205 ,\"msg\": \"优惠券校验失败:找不到优惠券信息!\",\"rows\":[{}]}";
|
||
}
|
||
DataTable _CONSUMPTIONRECORD = new DataTable();
|
||
List<string> SQLStringArray = new List<string>();
|
||
string _ServerpartCode = codes[0]; //服务区编码
|
||
string _ShopCode = codes[1]; //门店编码
|
||
string _SERVERPART_ID = ""; //服务区ID
|
||
string _SERVERPART_NAME = ""; //服务区名称
|
||
string _SERVERPARTSHOP_ID = ""; //门店ID
|
||
string _SHOPNAME = ""; //门店名称
|
||
string _PROVINCE_CODE = ConfigurationManager.AppSettings["PROVINCE_CODE"]; //省份编码
|
||
string _MachineCode = _Dictionary["MachineCode"].ToString(); //机器号
|
||
string _TicketCode = _Dictionary["TicketCode"].ToString(); //订单号
|
||
string _CouponCode = _Dictionary["CouponCode"].ToString(); //优惠券编号
|
||
|
||
if (_CouponCode.Length < 6)
|
||
{
|
||
return "{\"error\": 208 ,\"msg\": \"优惠券核销失败:无效优惠券!\",\"rows\":[{}]}";
|
||
}
|
||
//_CouponCode = _CouponCode.Substring(0, 6);
|
||
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
|
||
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
|
||
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
|
||
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
if (_UseType == "0")
|
||
{
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "CheckCoupon");
|
||
sb.AppendFormat("&COUPON_CODE={0}", _CouponCode);
|
||
sb.AppendFormat("&PROVINCE_CODE={0}", _PROVINCE_CODE);
|
||
sb.AppendFormat("&SERVERPARTSHOP_ID={0}", _SERVERPARTSHOP_ID);
|
||
string parameters = sb.ToString();
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["ResultCode"].ToString())
|
||
{
|
||
case "100":
|
||
info["Serverpart_Name"] = _SERVERPART_NAME; //优惠券ID
|
||
info["ShopName"] = _SHOPNAME; //门店名称
|
||
info["MachineCode"] = _MachineCode; //机器编码
|
||
info["TicketCode"] = _TicketCode; //订单编号(商户系统)
|
||
info["PlatformCode"] = ""; //优惠券金额
|
||
info["CouponName"] = _JObject["CouponName"]; //优惠券名称
|
||
info["CouponCode"] = _JObject["CouponCode"]; //优惠券编码
|
||
info["CouponType"] = _JObject["CouponType"]; //优惠形式(1000:满减券;2000:折扣券)
|
||
info["Threshold_Amount"] = _JObject["Threshold_Amount"]; //起付金额
|
||
info["CouponAmount"] = _JObject["CouponAmount"]; //优惠券价值(满100减20则为20;8折券则为0.8)
|
||
info["Coupon_State"] = _JObject["Coupon_State"]; //优惠券状态(0:未使用,1:已使用,2:已失效)
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
case "102":
|
||
return "{\"error\": 102 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
case "999":
|
||
default:
|
||
return "{\"error\": 999 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string _ConsumeAmount = _Dictionary["ConsumeAmount"].ToString(); //实付金额
|
||
string _PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
|
||
if (string.IsNullOrEmpty(_ConsumeAmount) || decimal.Parse(_ConsumeAmount) < 0)
|
||
{
|
||
return "{\"error\": 204 ,\"msg\": \"优惠券核销失败:交易金额错误!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "WriteOffCoupon");
|
||
//sb.AppendFormat("&CONSUMPTIONRECORD_ID={0}", _CONSUMPTIONRECORD_ID);
|
||
sb.AppendFormat("&CONSUMPTIONRECORD_TYPE={0}", 5050);
|
||
sb.AppendFormat("&COUPON_CODE={0}", _CouponCode);
|
||
sb.AppendFormat("&PROVINCE_CODE={0}", _PROVINCE_CODE);
|
||
sb.AppendFormat("&SERVERPARTSHOP_ID={0}", _SERVERPARTSHOP_ID);
|
||
sb.AppendFormat("&MACHINECODE={0}", _MachineCode);
|
||
sb.AppendFormat("&ORDERAMOUNT={0}", _ConsumeAmount);
|
||
sb.AppendFormat("&CONSUMEAMOUNT={0}", _ConsumeAmount);
|
||
sb.AppendFormat("&VIPRATEAMOUNT={0}", 0);
|
||
sb.AppendFormat("&TICKET_CODE={0}", _TicketCode);
|
||
string parameters = sb.ToString();
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["ResultCode"].ToString())
|
||
{
|
||
case "100":
|
||
info["Serverpart_Name"] = _SERVERPART_NAME; //优惠券ID
|
||
info["ShopName"] = _SHOPNAME; //门店名称
|
||
info["MachineCode"] = _MachineCode; //机器编码
|
||
info["TicketCode"] = _TicketCode; //订单编号(商户系统)
|
||
info["PlatformCode"] = _PlatformCode; //优惠券金额
|
||
info["CouponName"] = _JObject["CouponName"]; //优惠券名称
|
||
info["CouponCode"] = _JObject["CouponCode"]; //优惠券编码
|
||
info["CouponType"] = _JObject["CouponType"]; //优惠形式(1000:满减券;2000:折扣券)
|
||
info["CouponAmount"] = _JObject["CouponAmount"]; //优惠券价值(满100减20则为20;8折券则为0.8)
|
||
info["Coupon_State"] = _JObject["Coupon_State"]; //优惠券状态(0:未使用,1:已使用,2:已失效)
|
||
return "{\"error\": 100 ,\"msg\": \"核销成功!\",\"rows\":[" + info + "]}";
|
||
case "999":
|
||
return "{\"error\": 999 ,\"msg\": \"核销失败!" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
default:
|
||
return "{\"error\": 305 ,\"msg\": \"核销失败!" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"优惠券验证失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 优惠券撤销接口
|
||
/// <summary>
|
||
/// 会员电子优惠券验证接口
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string CouponRevoke(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"优惠券撤销失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"优惠券撤销失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp", "TicketCode", "CouponCode" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"优惠券撤销失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"优惠券撤销失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"优惠券撤销失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
if (string.IsNullOrEmpty(_Dictionary["CouponCode"].ToString()))
|
||
{
|
||
return "{\"error\": 205 ,\"msg\": \"优惠券撤销失败:找不到优惠券信息!\",\"rows\":[{}]}";
|
||
}
|
||
DataTable _CONSUMPTIONRECORD = new DataTable();
|
||
List<string> SQLStringArray = new List<string>();
|
||
string _ServerpartCode = codes[0]; //服务区编码
|
||
string _ShopCode = codes[1]; //门店编码
|
||
string _SERVERPART_ID = ""; //服务区ID
|
||
string _SERVERPART_NAME = ""; //服务区名称
|
||
string _SERVERPARTSHOP_ID = ""; //门店ID
|
||
string _SHOPNAME = ""; //门店名称
|
||
string _PROVINCE_CODE = ConfigurationManager.AppSettings["PROVINCE_CODE"]; //省份编码
|
||
string _TicketCode = _Dictionary["TicketCode"].ToString(); //订单号
|
||
string _CouponCode = _Dictionary["CouponCode"].ToString(); //优惠券编号
|
||
|
||
if (_CouponCode.Length < 6)
|
||
{
|
||
return "{\"error\": 208 ,\"msg\": \"优惠券撤销失败:无效优惠券!\",\"rows\":[{}]}";
|
||
}
|
||
//_CouponCode = _CouponCode.Substring(0, 6);
|
||
//获取服务区、门店基础信息
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
|
||
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
|
||
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
|
||
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "RevokeCoupon");
|
||
sb.AppendFormat("&CouponCode={0}", _CouponCode);
|
||
sb.AppendFormat("&TicketCode={0}", _TicketCode);
|
||
sb.AppendFormat("&provinceCode={0}", _PROVINCE_CODE);
|
||
sb.AppendFormat("&serverpartshopID={0}", _SERVERPARTSHOP_ID);
|
||
string parameters = sb.ToString();
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["ResultCode"].ToString())
|
||
{
|
||
case "100":
|
||
info["TicketCode"] = _TicketCode; //订单编号(商户系统)
|
||
info["CouponCode"] = _CouponCode; //优惠券编码
|
||
info["CouponName"] = _JObject["CouponName"]; //优惠券名称
|
||
return "{\"error\": 100 ,\"msg\": \"撤销成功!\",\"rows\":[" + info + "]}";
|
||
case "999":
|
||
return "{\"error\": 999 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
default:
|
||
return "{\"error\": 102 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"优惠券撤销失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 方法 -> 第三方商城相关
|
||
|
||
//#region 方法 -> 获取微信会员信息
|
||
///// <summary>
|
||
///// 获取会员信息
|
||
///// </summary>
|
||
///// <param name="jsonString"></param>
|
||
///// <returns></returns>
|
||
//[WebMethod]
|
||
//public string GetWeChatMembershipInfo(string code, string jsonString)
|
||
//{
|
||
// try
|
||
// {
|
||
// string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
// OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
// _OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
// OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
// _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
// WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
// if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
// {
|
||
// return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
// string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
// string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
// if (codes == null)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
|
||
// #region 必填项验证
|
||
// string[] _RequiredDatas = { "sign", "WeChatPhone", "WeChatUnionID", "Time_stamp" };
|
||
|
||
// Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
// 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)
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
// }
|
||
// _Dictionary.Add(_RequiredData, "");
|
||
// break;
|
||
// default:
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
// _RequiredData + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else if (_RequiredData.ToLower() != "sign")
|
||
// {
|
||
// _Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
// }
|
||
// }
|
||
|
||
// if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
// {
|
||
// return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
// }
|
||
// #endregion
|
||
|
||
// //查询会员信息
|
||
// StringBuilder sb = new StringBuilder();
|
||
// sb.AppendFormat("?action_type={0}", "MemberQuery");
|
||
// sb.AppendFormat("&Membership_Mobilephone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
// string parameters = sb.ToString();
|
||
// string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
// string RequestUrl = _BaseUrl + parameters;
|
||
// string format = "application/json;charset=UTF-8";
|
||
// string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
// JObject _JObject = JObject.Parse(reString);
|
||
|
||
// JObject info = new JObject();
|
||
// switch (_JObject["Result_Code"].ToString())
|
||
// {
|
||
// case "100":
|
||
// info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
|
||
// info["Membership_Level"] = _JObject["Result_Data"]["Membership_Level"];
|
||
// info["Membership_Code"] = _JObject["Result_Data"]["Membership_Card"];
|
||
// info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
|
||
// info["Membership_Sex"] = _JObject["Result_Data"]["Membership_Sex"];
|
||
// info["Membership_Birthday"] = _JObject["Result_Data"]["Membership_Birthday"];
|
||
// info["Membership_MobilePhone"] = _JObject["Result_Data"]["Membership_Mobilephone"];
|
||
// info["Membership_Address"] = _JObject["Result_Data"]["Membership_Address"];
|
||
// info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
|
||
// info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
|
||
|
||
// return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
// default:
|
||
// return "{\"error\": 101 ,\"msg\": \"查询成功!无会员信息!\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
// return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
// }
|
||
//}
|
||
//#endregion
|
||
|
||
//#region 方法 -> 获取会员收货地址
|
||
///// <summary>
|
||
///// 获取会员收货地址
|
||
///// </summary>
|
||
///// <param name="jsonString"></param>
|
||
///// <returns></returns>
|
||
//[WebMethod]
|
||
//public string GetReceiveAddress(string code, string jsonString)
|
||
//{
|
||
// try
|
||
// {
|
||
// string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
// OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
// _OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
// OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
// _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
// WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
// if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
// {
|
||
// return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
// string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
// string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
// if (codes == null)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
|
||
// #region 必填项验证
|
||
// string[] _RequiredDatas = { "sign", "WeChatPhone", "WeChatUnionID", "Time_stamp" };
|
||
|
||
// Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
// 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)
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
// }
|
||
// _Dictionary.Add(_RequiredData, "");
|
||
// break;
|
||
// default:
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
// _RequiredData + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else if (_RequiredData.ToLower() != "sign")
|
||
// {
|
||
// _Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
// }
|
||
// }
|
||
|
||
// if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
// {
|
||
// return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
// }
|
||
// #endregion
|
||
|
||
// //查询会员信息
|
||
// StringBuilder sb = new StringBuilder();
|
||
// sb.AppendFormat("?action_type={0}", "getReceiveAddress");
|
||
// sb.AppendFormat("&WeChatPhone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
// sb.AppendFormat("&WeChatUnionID={0}", _Dictionary["WeChatUnionID"].ToString());
|
||
// string parameters = sb.ToString();
|
||
// string _BaseUrl = ConfigurationManager.AppSettings["BaseUrl"];
|
||
// string RequestUrl = _BaseUrl + parameters;
|
||
// string format = "application/json;charset=UTF-8";
|
||
// string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
// JObject _JObject = JObject.Parse(reString);
|
||
|
||
// JObject info = new JObject();
|
||
// switch (_JObject["ResultCode"].ToString())
|
||
// {
|
||
// case "100":
|
||
// return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + _JObject["Data"] + "]}";
|
||
// default:
|
||
// return "{\"error\": " + _JObject["ResultCode"].ToString() + " ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
// return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
// }
|
||
//}
|
||
//#endregion
|
||
|
||
//#region 方法 -> 同步会员收货地址
|
||
///// <summary>
|
||
///// 同步会员收货地址
|
||
///// </summary>
|
||
///// <param name="jsonString"></param>
|
||
///// <returns></returns>
|
||
//[WebMethod]
|
||
//public string UploadReceiveAddress(string code, string jsonString)
|
||
//{
|
||
// try
|
||
// {
|
||
// string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
// OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
// _OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
// OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
// _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
// WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
// if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
// {
|
||
// return "{\"error\": 201 ,\"msg\": \"同步失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
// string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
// string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
// if (codes == null)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": 201 ,\"msg\": \"同步失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
|
||
// #region 必填项验证
|
||
// string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "WeChatUnionID", "ReceiveAddressID", "ReceiveCity",
|
||
// "ReceiveAddress", "ReceiveLinker_Name", "ReceiveLinker_Sex", "Linker_MobilePhone", "IsDefault", "TargetType" };
|
||
|
||
// Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
// 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 "ReceiveAddressID":
|
||
// _Dictionary.Add(_RequiredData, "");
|
||
// break;
|
||
// case "WeChatPhone":
|
||
// case "WeChatUnionID":
|
||
// EmptyCount++;
|
||
// if (EmptyCount == 2)
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
// }
|
||
// _Dictionary.Add(_RequiredData, "");
|
||
// break;
|
||
// default:
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
// _RequiredData + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else if (_RequiredData.ToLower() != "sign")
|
||
// {
|
||
// _Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
// }
|
||
// }
|
||
|
||
// if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
// {
|
||
// return "{\"error\": 202 ,\"msg\": \"同步失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"同步失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
// }
|
||
// #endregion
|
||
|
||
// //记录会员消费信息
|
||
// StringBuilder sb = new StringBuilder();
|
||
// sb.AppendFormat("?action_type={0}", "uploadReceiveAddress");
|
||
// sb.AppendFormat("&WeChatPhone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
// sb.AppendFormat("&WeChatUnionID={0}", _Dictionary["WeChatUnionID"].ToString());
|
||
// sb.AppendFormat("&ReceiveCity={0}", HttpUtility.UrlEncode(_Dictionary["ReceiveCity"].ToString()));
|
||
// sb.AppendFormat("&ReceiveAddress={0}", HttpUtility.UrlEncode(_Dictionary["ReceiveAddress"].ToString()));
|
||
// sb.AppendFormat("&ReceiveLinker_Name={0}", HttpUtility.UrlEncode(_Dictionary["ReceiveLinker_Name"].ToString()));
|
||
// sb.AppendFormat("&ReceiveLinker_Sex={0}", _Dictionary["ReceiveLinker_Sex"].ToString());
|
||
// sb.AppendFormat("&Linker_MobilePhone={0}", _Dictionary["Linker_MobilePhone"].ToString());
|
||
// sb.AppendFormat("&IsDefault={0}", _Dictionary["IsDefault"].ToString());
|
||
// sb.AppendFormat("&TargetType={0}", _Dictionary["TargetType"].ToString());
|
||
// sb.AppendFormat("&ReceiveAddressID={0}", _Dictionary["ReceiveAddressID"].ToString());
|
||
// string parameters = sb.ToString();
|
||
// string _BaseUrl = ConfigurationManager.AppSettings["BaseUrl"];
|
||
// string RequestUrl = _BaseUrl + parameters;
|
||
// string format = "application/json;charset=UTF-8";
|
||
// string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
// JObject _JObject = JObject.Parse(reString);
|
||
|
||
// JObject info = new JObject();
|
||
// switch (_JObject["ResultCode"].ToString())
|
||
// {
|
||
// case "100":
|
||
// info["ReceiveAddressID"] = _Dictionary["ReceiveAddressID"]; //收货地址内码
|
||
// info["ReceiveCity"] = _Dictionary["ReceiveCity"]; //收货市区
|
||
// info["ReceiveAddress"] = _Dictionary["ReceiveAddress"]; //收货详细地址
|
||
// info["ReceiveLinker_Name"] = _Dictionary["ReceiveLinker_Name"]; //收货人
|
||
// info["ReceiveLinker_Sex"] = _Dictionary["ReceiveLinker_Sex"]; //收货人性别
|
||
// info["Linker_MobilePhone"] = _Dictionary["Linker_MobilePhone"]; //手机号码
|
||
// info["IsDefault"] = _Dictionary["IsDefault"]; //是否默认地址
|
||
// info["TargetType"] = _Dictionary["TargetType"]; //地址标签
|
||
|
||
// return "{\"error\": 100 ,\"msg\": \"同步成功!\",\"rows\":[" + info + "]}";
|
||
// default:
|
||
// return "{\"error\": " + _JObject["ResultCode"].ToString() + " ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
// return "{\"error\": 999 ,\"msg\": \"同步失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
// }
|
||
//}
|
||
//#endregion
|
||
|
||
//#region 方法 -> 记录消费信息
|
||
///// <summary>
|
||
///// 记录消费信息
|
||
///// </summary>
|
||
///// <param name="jsonString"></param>
|
||
///// <returns></returns>
|
||
//[WebMethod]
|
||
//public string RecordConsumption(string code, string jsonString)
|
||
//{
|
||
// try
|
||
// {
|
||
// string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
// //内部会员信息数据库链接
|
||
// OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
// _OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
// //授权码验证数据库链接
|
||
// OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
// _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
// WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
// if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
// {
|
||
// return "{\"error\": 201 ,\"msg\": \"记录失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
// string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
// string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
// if (codes == null)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": 201 ,\"msg\": \"记录失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
|
||
// #region 必填项验证
|
||
// string _Recode_Type = "", _Recode_Desc = "";
|
||
// string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "WeChatUnionID", "Recode_Type", "Membership_Name",
|
||
// "TicketCode", "Recode_Amount", "Consume_Point", "Fact_Amount", "Recode_Date", "Recode_Desc", "CommodityInfo"};
|
||
|
||
// Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
// if (!string.IsNullOrEmpty(jsonString))
|
||
// {
|
||
// int EmptyCount = 0; //非必填项未传参数量
|
||
// JObject _Json = JObject.Parse(jsonString);
|
||
// foreach (string _RequiredData in _RequiredDatas)
|
||
// {
|
||
// if (_Json.Property(_RequiredData) == null)
|
||
// {
|
||
// if (_Recode_Type != "9000" && _RequiredData == "Recode_Desc")
|
||
// {
|
||
// continue;
|
||
// }
|
||
// else
|
||
// {
|
||
// switch (_RequiredData)
|
||
// {
|
||
// case "Membership_Name":
|
||
// case "CommodityInfo":
|
||
// break;
|
||
// case "Consume_Point":
|
||
// //提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
// if (code.StartsWith("330005") || code == "888888012002")
|
||
// {
|
||
// _Dictionary.Add("Consume_Point", "0");
|
||
// }
|
||
// break;
|
||
// case "WeChatPhone":
|
||
// case "WeChatUnionID":
|
||
// EmptyCount++;
|
||
// if (EmptyCount == 2)
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
// }
|
||
// //提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
// if (code.StartsWith("330005") || code == "888888012002")
|
||
// {
|
||
// _Dictionary.Add(_RequiredData, "");
|
||
// }
|
||
// break;
|
||
// default:
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
// _RequiredData + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// }
|
||
// else if (_RequiredData.ToLower() != "sign")
|
||
// {
|
||
// if (_RequiredData == "Recode_Type")
|
||
// {
|
||
// _Recode_Type = _Json[_RequiredData].ToString();
|
||
// }
|
||
// else if (_RequiredData == "Recode_Desc")
|
||
// {
|
||
// _Recode_Desc = _Json[_RequiredData].ToString();
|
||
// }
|
||
|
||
// _Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
// }
|
||
// }
|
||
|
||
// string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
// if (_Json["sign"].ToString() != sign)
|
||
// {
|
||
// //2020/7/27 朱梓毅增加处理逻辑
|
||
// //交易金额、实付金额签名保留两位小数
|
||
// _Dictionary.Remove("Fact_Amount");
|
||
// _Dictionary.Remove("Recode_Amount");
|
||
// _Dictionary.Add("Fact_Amount", ((decimal)_Json["Fact_Amount"]).ToString("F2"));
|
||
// _Dictionary.Add("Recode_Amount", ((decimal)_Json["Recode_Amount"]).ToString("F2"));
|
||
// sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
// if (_Json["sign"].ToString() != sign)
|
||
// {
|
||
// return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// //非必填项
|
||
// _Dictionary.Clear();
|
||
// foreach (var item in _Json)
|
||
// {
|
||
// _Dictionary.Add(item.Key, _Json[item.Key].ToString());
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
// }
|
||
// #endregion
|
||
|
||
// #region 参数定义
|
||
// string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
// _SERVERPART_ID = "NULL", _SERVERPART_NAME = "",
|
||
// _SERVERPARTSHOP_ID = "NULL", _SHOPNAME = "",
|
||
// _PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
// //业主单位
|
||
// int OwnerUnitId = 13;
|
||
// try
|
||
// {
|
||
// OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
|
||
// }
|
||
// catch { }
|
||
// //消费类型转译
|
||
// switch (_Recode_Type)
|
||
// {
|
||
// //余额支付
|
||
// case "2000":
|
||
// _Recode_Type = "3000";
|
||
// break;
|
||
// //积分兑换
|
||
// case "3000":
|
||
// _Recode_Type = "3050";
|
||
// break;
|
||
// //微信支付
|
||
// case "4000":
|
||
// _Recode_Type = "2000";
|
||
// break;
|
||
// }
|
||
// //获取消费门店信息
|
||
// DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
// @"SELECT
|
||
// A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
// FROM
|
||
// HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
// WHERE
|
||
// A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
// _ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
// if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
// {
|
||
// _SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
|
||
// _SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
|
||
// _SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
// _SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
// }
|
||
// #endregion
|
||
|
||
// #region 记录会员消费信息
|
||
|
||
// StringBuilder sb = new StringBuilder();
|
||
// sb.AppendFormat("?action_type={0}", "OrderPay");
|
||
// sb.AppendFormat("&Membership_Mobilephone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
// sb.AppendFormat("&Recode_Amount={0}", _Dictionary["Recode_Amount"].ToString());
|
||
// sb.AppendFormat("&Fact_Amount={0}", _Dictionary["Fact_Amount"].ToString());
|
||
// if (_Dictionary.ContainsKey("Consume_Point"))
|
||
// {
|
||
// sb.AppendFormat("&Consume_Point={0}", _Dictionary["Consume_Point"].ToString());
|
||
// }
|
||
// sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
// sb.AppendFormat("&Recode_Type={0}", _Recode_Type);
|
||
// sb.AppendFormat("&Serverpart_ID={0}", _SERVERPART_ID);
|
||
// sb.AppendFormat("&Serverpart_Code={0}", _ServerpartCode);
|
||
// sb.AppendFormat("&Serverpart_Name={0}", _SERVERPART_NAME);
|
||
// sb.AppendFormat("&ServerpartShop_ID={0}", _SERVERPARTSHOP_ID);
|
||
// sb.AppendFormat("&ServerpartShop_Code={0}", _ShopCode);
|
||
// sb.AppendFormat("&ServerpartShop_Name={0}", _SHOPNAME);
|
||
// sb.AppendFormat("&Recode_Date={0}", _Dictionary["Recode_Date"].ToString());
|
||
// sb.AppendFormat("&PlatformCode={0}", _PlatformCode);
|
||
// sb.AppendFormat("&OwnerUnit_ID={0}", OwnerUnitId);
|
||
// string parameters = sb.ToString();
|
||
// string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
// string RequestUrl = _BaseUrl + parameters;
|
||
// string format = "application/json;charset=UTF-8";
|
||
// string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
// JObject _JObject = JObject.Parse(reString);
|
||
|
||
// JObject info = new JObject();
|
||
// switch (_JObject["Result_Code"].ToString())
|
||
// {
|
||
// case "100":
|
||
// info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
// info["PlatformCode"] = _PlatformCode;
|
||
// info["Recode_Type"] = _Dictionary["Recode_Type"].ToString();
|
||
// info["Recode_Amount"] = _Dictionary["Recode_Amount"];
|
||
// info["Fact_Amount"] = _Dictionary["Fact_Amount"];
|
||
// if (_Dictionary.ContainsKey("Consume_Point"))
|
||
// {
|
||
// info["Consume_Point"] = _Dictionary["Consume_Point"];
|
||
// }
|
||
// info["Recode_Date"] = _Dictionary["Recode_Date"];
|
||
// info["Pay_State"] = "Success";
|
||
// info["Recode_Desc"] = _Recode_Desc;
|
||
|
||
// return "{\"error\": 100 ,\"msg\": \"记录成功!\",\"rows\":[" + info + "]}";
|
||
// default:
|
||
// string _Result_Code = _JObject["Result_Code"].ToString();
|
||
// switch (_Result_Code)
|
||
// {
|
||
// case "205":
|
||
// _Result_Code = "203";
|
||
// break;
|
||
// case "301":
|
||
// _Result_Code = "102";
|
||
// break;
|
||
// }
|
||
|
||
// return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
// }
|
||
// #endregion
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
// return "{\"error\": 999 ,\"msg\": \"记录失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 方法 -> 撤销交易记录
|
||
///// <summary>
|
||
///// 记录消费信息
|
||
///// </summary>
|
||
///// <param name="jsonString"></param>
|
||
///// <returns></returns>
|
||
//[WebMethod]
|
||
//public string RevokeConsumption(string code, string jsonString)
|
||
//{
|
||
// try
|
||
// {
|
||
// string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
// OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
// _OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
// OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
// _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
// WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
// if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
// {
|
||
// return "{\"error\": 201 ,\"msg\": \"撤销失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
// string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
// string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
// if (codes == null)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(code);
|
||
// return "{\"error\": 201 ,\"msg\": \"撤销失败:授权码错误\",\"rows\":[{}]}";
|
||
// }
|
||
|
||
// #region 必填项验证
|
||
// string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "WeChatUnionID", "TicketCode" };
|
||
|
||
// Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
// 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)
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
// }
|
||
// //提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
// if (code.StartsWith("330005") || code == "888888012002")
|
||
// {
|
||
// _Dictionary.Add(_RequiredData, "");
|
||
// }
|
||
// break;
|
||
// default:
|
||
// return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
// _RequiredData + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else if (_RequiredData.ToLower() != "sign")
|
||
// {
|
||
// _Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
// }
|
||
// }
|
||
|
||
// if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
// {
|
||
// return "{\"error\": 202 ,\"msg\": \"撤销失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return "{\"error\": 200 ,\"msg\": \"撤销失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
// }
|
||
// #endregion
|
||
|
||
// //撤销会员消费记录
|
||
// StringBuilder sb = new StringBuilder();
|
||
// sb.AppendFormat("?action_type={0}", "revokeConsumptionByWeChat");
|
||
// sb.AppendFormat("&WeChatPhone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
// if (_Dictionary.ContainsKey("WeChatUnionID"))
|
||
// {
|
||
// sb.AppendFormat("&WeChatUnionID={0}", _Dictionary["WeChatUnionID"].ToString());
|
||
// }
|
||
// sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
// int OwnerUnitId = 13;
|
||
// try
|
||
// {
|
||
// OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
|
||
// }
|
||
// catch (Exception)
|
||
// {
|
||
// }
|
||
// sb.AppendFormat("&OwnerUnitId={0}", OwnerUnitId);
|
||
// string parameters = sb.ToString();
|
||
// string _BaseUrl = ConfigurationManager.AppSettings["BaseUrl"];
|
||
// string RequestUrl = _BaseUrl + parameters;
|
||
// string format = "application/json;charset=UTF-8";
|
||
// string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
// JObject _JObject = JObject.Parse(reString);
|
||
|
||
// JObject info = new JObject();
|
||
// switch (_JObject["ResultCode"].ToString())
|
||
// {
|
||
// case "100":
|
||
// info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
// info["PlatformCode"] = _JObject["Data"]["PlatformCode"] == null ? "" : _JObject["Data"]["PlatformCode"].ToString();
|
||
// info["Pay_State"] = "Revoke";
|
||
|
||
// return "{\"error\": 100 ,\"msg\": \"撤销成功!\",\"rows\":[" + info + "]}";
|
||
// default:
|
||
// return "{\"error\": " + _JObject["ResultCode"].ToString() + " ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
// }
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
// return "{\"error\": 999 ,\"msg\": \"撤销失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
// }
|
||
//}
|
||
//#endregion
|
||
|
||
#endregion
|
||
|
||
#region 方法 -> 获取门店移动支付通道配置
|
||
/// <summary>
|
||
/// 获取门店移动支付通道配置
|
||
/// </summary>
|
||
/// <param name="serverPartCode">服务区编码</param>
|
||
/// <param name="businessType">业态编码</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string MobilePayConfig(string serverPartCode, string businessType)
|
||
{
|
||
try
|
||
{
|
||
WebService.SDK.OracleHelper _OracleHelper = new WebService.SDK.OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
return WebService.SDK.PayCommon.MobilePayConfig.ShopPaymentConfig(_OracleHelper, serverPartCode, businessType);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return ex.Message;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 收银端数据反馈上传
|
||
/// <summary>
|
||
/// 收银机反馈通用上报接口
|
||
/// </summary>
|
||
/// <param name="feedbackType">上报类型:
|
||
/// StateFeedback、BaseInfoFeedback</param>
|
||
/// <param name="jsonData">json数据字符串</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string FeedbackUpload(string feedbackType, string jsonData)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(feedbackType))
|
||
{
|
||
return Newtonsoft.Json.JsonConvert.SerializeObject(
|
||
new WebService.SDK.FeedbackResult<string>()
|
||
{
|
||
ResultCode = 305,
|
||
ResultDesc = "上报类型错误"
|
||
});
|
||
}
|
||
try
|
||
{
|
||
WebService.SDK.OracleHelper _OracleHelper = new WebService.SDK.OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
return Newtonsoft.Json.JsonConvert.SerializeObject(
|
||
new WebService.SDK.FeedbackHelper().Feedback(_OracleHelper, feedbackType, jsonData));
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog($"状态反馈异常[{feedbackType}]:{ex.Message}");
|
||
return Newtonsoft.Json.JsonConvert.SerializeObject(
|
||
new WebService.SDK.FeedbackResult<string>()
|
||
{
|
||
ResultCode = 999,
|
||
ResultDesc = $"系统异常:{ex.Message}"
|
||
});
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 收银端状态反馈通用下载接口
|
||
/// <summary>
|
||
/// 收银机状态反馈通用下载接口
|
||
/// </summary>
|
||
/// <param name="readType">下载类型:
|
||
/// CommodityMachine</param>
|
||
/// <param name="jsonData">设备信息Json数据字符串</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string FeedbackDownload(string readType, string jsonData)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(readType))
|
||
{
|
||
return Newtonsoft.Json.JsonConvert.SerializeObject(
|
||
new WebService.SDK.FeedbackResult<string>()
|
||
{
|
||
ResultCode = 305,
|
||
ResultDesc = "下载类型错误"
|
||
});
|
||
}
|
||
try
|
||
{
|
||
WebService.SDK.OracleHelper _OracleHelper = new WebService.SDK.OracleHelper(
|
||
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
return new WebService.SDK.FeedbackHelper().DataRead(_OracleHelper, readType, jsonData);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return Newtonsoft.Json.JsonConvert.SerializeObject(
|
||
new WebService.SDK.FeedbackResult<string>()
|
||
{
|
||
ResultCode = 999,
|
||
ResultDesc = $"系统异常:{ex.Message}"
|
||
});
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取实时交易流水
|
||
/// <summary>
|
||
/// 获取实时交易流水
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetSellMasterList(string code, string jsonString)
|
||
{
|
||
JObject info = new JObject();
|
||
try
|
||
{
|
||
if (string.IsNullOrEmpty(_OracleConnStr))
|
||
{
|
||
info["Error"] = "999";
|
||
info["Msg"] = "配置错误,请重试!";
|
||
return info.ToString();
|
||
}
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:授权码错误!";
|
||
return info.ToString();
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:授权码错误!";
|
||
return info.ToString();
|
||
}
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "StartDate", "EndDate", "Time_stamp", "SearchType" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:JSON缺少必要参数:" + _RequiredData;
|
||
return info.ToString();
|
||
}
|
||
}
|
||
|
||
_Dictionary.Clear();
|
||
_Dictionary.Add("Time_stamp", _Json["Time_stamp"].ToString());
|
||
_Dictionary.Add("SearchType", _Json["SearchType"].ToString());
|
||
_Dictionary.Add("StartDate", _Json["StartDate"].ToString());
|
||
_Dictionary.Add("EndDate", _Json["EndDate"].ToString());
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:数据签名不通过!";
|
||
return info.ToString();
|
||
}
|
||
if (_Json.Property("SellMasterCode") != null)
|
||
{
|
||
_Dictionary.Add("SellMasterCode", _Json["SellMasterCode"].ToString());
|
||
}
|
||
else
|
||
{
|
||
_Dictionary.Add("SellMasterCode", "");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:JSON参数解析异常!";
|
||
return info.ToString();
|
||
}
|
||
#endregion
|
||
|
||
string _SERVERPARTCODE = codes[0];
|
||
string _SHOPCODE = codes[1];
|
||
//生成查询条件
|
||
string SqlString = "";
|
||
string DetilsSqlString = "";
|
||
DataTable _DataTable = new DataTable();
|
||
DataTable _DetilsDataTable = new DataTable();
|
||
if (!string.IsNullOrEmpty(_Dictionary["SellMasterCode"].ToString()))
|
||
{
|
||
SqlString += " AND SELLMASTER_CODE IN ('" + _Dictionary["SellMasterCode"].ToString().Replace(",", "','") + "')";
|
||
DetilsSqlString += " AND A.SELLMASTER_CODE IN ('" + _Dictionary["SellMasterCode"].ToString().Replace(",", "','") + "')";
|
||
}
|
||
if (!string.IsNullOrEmpty(_Dictionary["StartDate"].ToString()))
|
||
{
|
||
SqlString += " AND SELLMASTER_DATE >= TO_DATE('" + _Dictionary["StartDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
|
||
DetilsSqlString += " AND A.SELLMASTER_DATE >= TO_DATE('" + _Dictionary["StartDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(_Dictionary["EndDate"].ToString()))
|
||
{
|
||
SqlString += " AND SELLMASTER_DATE < TO_DATE('" + _Dictionary["EndDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
|
||
DetilsSqlString += " AND A.SELLMASTER_DATE < TO_DATE('" + _Dictionary["EndDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(_SERVERPARTCODE) && !string.IsNullOrEmpty(_SHOPCODE))
|
||
{
|
||
SqlString += " AND SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND SHOPCODE = '" + _SHOPCODE + "'";
|
||
DetilsSqlString += " AND A.SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND A.SHOPCODE = '" + _SHOPCODE + "'";
|
||
}
|
||
|
||
//查询主流水
|
||
_DataTable = _OracleHelperEx.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT
|
||
A.SERVERPARTCODE,A.SERVERPART_NAME AS SERVERPARTNAME,A.SHOPCODE,A.SHOPNAME,
|
||
A.MACHINECODE,A.SELLWORKER_CODE AS SELLWORKERCODE,A.SELLWORKER_NAME AS SELLWORKERNAME,
|
||
A.SELLMASTER_CODE AS SELLMASTERCODE,A.SELLMASTER_COUNT AS TOTALCOUNT,
|
||
A.SELLMASTER_AMOUNT AS TOTALAMOUNT,A.SELLMASTER_OFFPRICE AS TOTALDISCOUNT,
|
||
A.CASHPAY,A.BANKPAY,CASE A.PAYMENT_TYPE WHEN 'WECHATPAY' THEN A.MOBILEPAY ELSE 0 END AS WECHATPAY,
|
||
CASE A.PAYMENT_TYPE WHEN 'ALIPAY' THEN A.MOBILEPAY ELSE 0 END AS ALIPAY,
|
||
(A.OTHERPAY + A.COUPONPAY + A.INTERNALPAY) AS OTHERPAY,A.SELLMASTER_DATE AS SELLMASTERDATE
|
||
FROM HIGHWAY_EXCHANGE.T_SELLMASTER A WHERE EXISTS (SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDETAILS B
|
||
WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE HAVING SUM(B.SELLDETAILS_AMOUNT) = A.SELLMASTER_AMOUNT){0}
|
||
ORDER BY A.SELLMASTER_DATE,A.SERVERPARTCODE,A.SHOPCODE,A.MACHINECODE", SqlString)).Tables[0];
|
||
//查询明细
|
||
if (!string.IsNullOrEmpty(_Dictionary["SearchType"].ToString()) && _Dictionary["SearchType"].ToString() == "1")
|
||
{
|
||
_DetilsDataTable = _OracleHelperEx.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT
|
||
B.COMMODITY_BARCODE,B.COMMODITY_NAME,B.SELLDETAILS_COUNT AS SELLCOUNT,
|
||
B.SELLDETAILS_PRICE AS PRICE,B.SELLDETAILS_OFFPRICE AS DISCOUNT,
|
||
B.SELLDETAILS_AMOUNT AS SELLAMOUNT,A.SELLMASTER_CODE
|
||
FROM HIGHWAY_EXCHANGE.T_SELLDETAILS B,HIGHWAY_EXCHANGE.T_SELLMASTER A
|
||
WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE{0}", DetilsSqlString)).Tables[0];
|
||
}
|
||
|
||
if (_DataTable.Rows.Count > 0 && _DetilsDataTable.Rows.Count <= 0)
|
||
{
|
||
//decimal.TryParse(_DataTable.Compute("SUM(TOTALCOUNT)", "").ToString(), out decimal _TotalCount);
|
||
decimal.TryParse(_DataTable.Compute("SUM(TOTALAMOUNT)", "").ToString(), out decimal _TotalAmount);
|
||
var SaleDateList = _DataTable.AsEnumerable().Select(p => new
|
||
{
|
||
ServerPartCode = p.Field<string>("SERVERPARTCODE"),
|
||
ServerPartName = p.Field<string>("SERVERPARTNAME"),
|
||
ShopCode = p.Field<string>("SHOPCODE"),
|
||
ShopName = p.Field<string>("SHOPNAME"),
|
||
MachineCode = p.Field<string>("MACHINECODE"),
|
||
SellWorkerCode = p.Field<string>("SELLWORKERCODE"),
|
||
SellWorerName = p.Field<string>("SELLWORKERNAME"),
|
||
SellMasterCode = p.Field<string>("SELLMASTERCODE"),
|
||
TotalCount = p.Field<decimal?>("TOTALCOUNT"),
|
||
TotalAmount = p.Field<decimal?>("TOTALAMOUNT"),
|
||
TotalDiscount = p.Field<decimal?>("TOTALDISCOUNT"),
|
||
CashPay = p.Field<decimal?>("CASHPAY"),
|
||
BankPay = p.Field<decimal?>("BANKPAY"),
|
||
WeChatPay = p.Field<decimal?>("WECHATPAY"),
|
||
AliPay = p.Field<decimal?>("ALIPAY"),
|
||
OtherPay = p.Field<decimal?>("OTHERPAY"),
|
||
SellMasterDate = p.Field<DateTime?>("SELLMASTERDATE")
|
||
}).ToList();
|
||
|
||
info["Error"] = "100";
|
||
info["Msg"] = "查询成功";
|
||
info["TotalCount"] = _DataTable.Rows.Count;
|
||
info["TotalAmount"] = _TotalAmount;
|
||
info["Data"] = JsonHelper.ListToJObject(SaleDateList)["List"];
|
||
}
|
||
else if (_DataTable.Rows.Count > 0 && _DetilsDataTable.Rows.Count > 0)
|
||
{
|
||
//decimal.TryParse(_DataTable.Compute("SUM(TOTALCOUNT)", "").ToString(), out decimal _TotalCount);
|
||
decimal.TryParse(_DataTable.Compute("SUM(TOTALAMOUNT)", "").ToString(), out decimal _TotalAmount);
|
||
var SaleDetilsList = _DetilsDataTable.AsEnumerable().Select(p => new
|
||
{
|
||
CommodityBarcode = p.Field<string>("COMMODITY_BARCODE"),
|
||
CommodityName = p.Field<string>("COMMODITY_NAME"),
|
||
SellCount = p.Field<decimal?>("SELLCOUNT"),
|
||
Price = p.Field<decimal?>("PRICE"),
|
||
Discount = p.Field<decimal?>("DISCOUNT"),
|
||
SellAmount = p.Field<decimal?>("SELLAMOUNT"),
|
||
SellMasterCode = p.Field<string>("SELLMASTER_CODE")
|
||
}).ToList();
|
||
|
||
var SaleDateList = from t in _DataTable.AsEnumerable()
|
||
group t by new
|
||
{
|
||
t1 = t.Field<string>("SERVERPARTCODE"),
|
||
t2 = t.Field<string>("SERVERPARTNAME"),
|
||
t3 = t.Field<string>("SHOPCODE"),
|
||
t4 = t.Field<string>("SHOPNAME"),
|
||
t5 = t.Field<string>("MACHINECODE"),
|
||
t6 = t.Field<string>("SELLWORKERCODE"),
|
||
t7 = t.Field<string>("SELLWORKERNAME"),
|
||
t8 = t.Field<string>("SELLMASTERCODE"),
|
||
t9 = t.Field<decimal?>("TOTALCOUNT"),
|
||
t10 = t.Field<decimal?>("TOTALAMOUNT"),
|
||
t11 = t.Field<decimal?>("TOTALDISCOUNT"),
|
||
t12 = t.Field<decimal?>("CASHPAY"),
|
||
t13 = t.Field<decimal?>("BANKPAY"),
|
||
t14 = t.Field<decimal?>("WECHATPAY"),
|
||
t15 = t.Field<decimal?>("ALIPAY"),
|
||
t16 = t.Field<decimal?>("OTHERPAY"),
|
||
t17 = t.Field<DateTime?>("SELLMASTERDATE")
|
||
} into p
|
||
select new
|
||
{
|
||
ServerPartCode = p.Key.t1,
|
||
ServerPartName = p.Key.t2,
|
||
ShopCode = p.Key.t3,
|
||
ShopName = p.Key.t4,
|
||
MachineCode = p.Key.t5,
|
||
SellWorkerCode = p.Key.t6,
|
||
SellWorerName = p.Key.t7,
|
||
SellMasterCode = p.Key.t8,
|
||
TotalCount = p.Key.t9,
|
||
TotalAmount = p.Key.t10,
|
||
TotalDiscount = p.Key.t11,
|
||
CashPay = p.Key.t12,
|
||
BankPay = p.Key.t13,
|
||
WeChatPay = p.Key.t14,
|
||
AliPay = p.Key.t15,
|
||
OtherPay = p.Key.t16,
|
||
SellMasterDate = p.Key.t17,
|
||
SellDetails = SaleDetilsList.Where(l => l.SellMasterCode == p.Key.t8)
|
||
};
|
||
info["Error"] = "100";
|
||
info["Msg"] = "查询成功";
|
||
info["TotalCount"] = _DataTable.Rows.Count;
|
||
info["TotalAmount"] = _TotalAmount;
|
||
info["Data"] = JsonHelper.ListToJObject(SaleDateList.ToList())["List"];
|
||
}
|
||
else
|
||
{
|
||
info["Error"] = "100";
|
||
info["Msg"] = "查询成功";
|
||
info["TotalCount"] = 0;
|
||
info["TotalAmount"] = 0;
|
||
info["Data"] = "[]";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
//return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
info["Error"] = "999";
|
||
info["Msg"] = "查询失败:" + ex.Message;
|
||
}
|
||
return info.ToString();
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取交易流水数据-移动支付对账使用
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="code"></param>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetSalesDataList(string Start_Date, string End_Date, string ServerPart_Code, string ServerPartShop_Code)
|
||
{
|
||
JObject info = new JObject();
|
||
|
||
try
|
||
{
|
||
if (string.IsNullOrEmpty(_OracleConnStr))
|
||
{
|
||
info["Error"] = "999";
|
||
info["Msg"] = "配置错误,请重试!";
|
||
return info.ToString();
|
||
}
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
|
||
//生成查询条件
|
||
string SqlString = "";
|
||
DataTable _DataTable = new DataTable();
|
||
|
||
if (!string.IsNullOrEmpty(Start_Date))
|
||
{
|
||
SqlString += " AND SELLMASTER_DATE >= TO_DATE('" + Start_Date + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(End_Date))
|
||
{
|
||
SqlString += " AND SELLMASTER_DATE <= TO_DATE('" + End_Date + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
if (!string.IsNullOrEmpty(ServerPart_Code))
|
||
{
|
||
SqlString += " AND SERVERPARTCODE IN ('" + ServerPart_Code.Replace(",", "','") + "')";
|
||
}
|
||
if (!string.IsNullOrEmpty(ServerPartShop_Code))
|
||
{
|
||
SqlString += " AND SHOPCODE IN ('" + ServerPartShop_Code.Replace(",", "','") + "')";
|
||
}
|
||
|
||
//查询主流水
|
||
_DataTable = _OracleHelperEx.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT
|
||
A.SERVERPARTCODE,A.SERVERPART_NAME AS SERVERPARTNAME,A.SHOPCODE,A.SHOPNAME,
|
||
A.MACHINECODE,A.SELLMASTER_DATE AS SELLMASTERDATE,A.SELLMASTER_COUNT AS TOTALCOUNT,
|
||
A.SELLMASTER_AMOUNT AS TOTALAMOUNT,A.SELLMASTER_OFFPRICE AS TOTALDISCOUNT,
|
||
CASE A.PAYMENT_TYPE WHEN 'WECHATPAY' THEN A.MOBILEPAY ELSE 0 END AS WECHATPAY,
|
||
CASE A.PAYMENT_TYPE WHEN 'ALIPAY' THEN A.MOBILEPAY ELSE 0 END AS ALIPAY,
|
||
MOBILEPAY,MOBILEPAY_CODE,MERCHANT_ORDER,SELLMASTER_DESC,SELLMASTER_STATE
|
||
FROM HIGHWAY_SELLDATA.T_SELLMASTER A WHERE MOBILEPAY <> 0{0}", SqlString)).Tables[0];
|
||
|
||
info["Error"] = "100";
|
||
info["Msg"] = "查询成功";
|
||
info["TotalCount"] = _DataTable.Rows.Count;
|
||
info["Data"] = QRWL.Common.JsonHelper.DataTableToJObject(_DataTable);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
info["Error"] = "999";
|
||
info["Msg"] = "查询失败:" + ex.Message;
|
||
}
|
||
|
||
return info.ToString();
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取日结营收数据
|
||
/// <summary>
|
||
/// 获取日结营收数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetEndAccountList(string code, string jsonString)
|
||
{
|
||
JObject info = new JObject();
|
||
try
|
||
{
|
||
string _OracleEndConnStr = ConfigurationManager.AppSettings["OracleEndConnStr"];
|
||
if (string.IsNullOrEmpty(_OracleEndConnStr))
|
||
{
|
||
info["Error"] = "999";
|
||
info["Msg"] = "配置错误,请重试!";
|
||
return info.ToString();
|
||
}
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:授权码错误!";
|
||
return info.ToString();
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:授权码错误!";
|
||
return info.ToString();
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "StartDate", "EndDate", "Time_stamp" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:JSON缺少必要参数:" + _RequiredData;
|
||
return info.ToString();
|
||
}
|
||
}
|
||
|
||
_Dictionary.Clear();
|
||
_Dictionary.Add("Time_stamp", _Json["Time_stamp"].ToString());
|
||
_Dictionary.Add("StartDate", _Json["StartDate"].ToString());
|
||
_Dictionary.Add("EndDate", _Json["EndDate"].ToString());
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:数据签名不通过!";
|
||
return info.ToString();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
info["Error"] = "200";
|
||
info["Msg"] = "查询失败:JSON参数解析异常!";
|
||
return info.ToString();
|
||
}
|
||
#endregion
|
||
|
||
//生成查询条件
|
||
string _SERVERPARTCODE = codes[0];
|
||
string _SHOPCODE = codes[1];
|
||
string SqlString = "";
|
||
DataTable _DataTable = new DataTable();
|
||
//过滤统计开始日期
|
||
if (!string.IsNullOrEmpty(_Dictionary["StartDate"].ToString()))
|
||
{
|
||
SqlString += " AND A.ENDACCOUNT_DATE >= TO_DATE('" + _Dictionary["StartDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
//过滤统计结束日期
|
||
if (!string.IsNullOrEmpty(_Dictionary["EndDate"].ToString()))
|
||
{
|
||
SqlString += " AND A.ENDACCOUNT_DATE < TO_DATE('" + _Dictionary["EndDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
|
||
}
|
||
//过滤服务区编码
|
||
if (!string.IsNullOrEmpty(_SERVERPARTCODE) && !string.IsNullOrEmpty(_SHOPCODE))
|
||
{
|
||
SqlString += " AND A.SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND A.SHOPCODE = '" + _SHOPCODE + "'";
|
||
}
|
||
//查询结账数据
|
||
OracleHelper _OracleHelperEnd = new OracleHelper(_OracleEndConnStr.Split(',')[0],
|
||
_OracleEndConnStr.Split(',')[1], _OracleEndConnStr.Split(',')[2], _OracleEndConnStr.Split(',')[3]);
|
||
_DataTable = _OracleHelperEnd.ExcuteSqlGetDataSet(string.Format(
|
||
@"SELECT
|
||
A.SERVERPARTCODE,A.SERVERPART_NAME,A.SHOPCODE,A.SHOPNAME,
|
||
A.MACHINECODE,A.ENDACCOUNT_STARTDATE,A.ENDACCOUNT_DATE,A.ENDPERSONCODE,
|
||
A.WORKER_NAME,A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT,A.TOTALOFFAMOUNT,
|
||
A.CASH,A.CREDITCARD,A.TICKETBILL AS WECHATPAY,A.OTHERPAY AS ALIPAY,
|
||
(A.COSTBILL + A.VIPPERSON) AS OTHERPAY,A.CASHPAY,A.DIFFERENT_PRICE
|
||
FROM
|
||
HIGHWAY_SELLDATA.T_ENDACCOUNT A
|
||
WHERE VALID = 1 {0}
|
||
ORDER BY A.ENDACCOUNT_DATE,A.SERVERPARTCODE,A.SHOPCODE,A.MACHINECODE", SqlString)).Tables[0];
|
||
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
var EndDateList = _DataTable.AsEnumerable().Select(p => new
|
||
{
|
||
ServerPartCode = p.Field<string>("SERVERPARTCODE"),
|
||
ServerPartName = p.Field<string>("SERVERPART_NAME"),
|
||
ShopCode = p.Field<string>("SHOPCODE"),
|
||
ShopName = p.Field<string>("SHOPNAME"),
|
||
MachineCode = p.Field<string>("MACHINECODE"),
|
||
SellWorkerCode = p.Field<string>("ENDPERSONCODE"),
|
||
SellWorerName = p.Field<string>("WORKER_NAME"),
|
||
TicketCount = p.Field<decimal?>("TICKETCOUNT"),
|
||
TotalCount = p.Field<decimal?>("TOTALCOUNT"),
|
||
TotalAmount = p.Field<decimal?>("TOTALSELLAMOUNT"),
|
||
TotalDiscount = p.Field<decimal?>("TOTALOFFAMOUNT"),
|
||
CashPay = p.Field<decimal?>("CASH"),
|
||
BankPay = p.Field<decimal?>("CREDITCARD"),
|
||
WeChatPay = p.Field<decimal?>("WECHATPAY"),
|
||
AliPay = p.Field<decimal?>("ALIPAY"),
|
||
OtherPay = p.Field<decimal?>("OTHERPAY"),
|
||
CashPayment = p.Field<decimal?>("CASHPAY"),
|
||
DifferentAmount = p.Field<decimal?>("DIFFERENT_PRICE"),
|
||
StartDate = p.Field<DateTime?>("ENDACCOUNT_STARTDATE"),
|
||
EndDate = p.Field<DateTime?>("ENDACCOUNT_DATE")
|
||
}).ToList();
|
||
|
||
info["Error"] = "100";
|
||
info["Msg"] = "查询成功";
|
||
info["TotalCount"] = _DataTable.Rows.Count;
|
||
info["Data"] = JsonHelper.ListToJObject(EndDateList)["List"];
|
||
}
|
||
else
|
||
{
|
||
info["Error"] = "100";
|
||
info["Msg"] = "查询成功";
|
||
info["TotalCount"] = 0;
|
||
info["Data"] = "[]";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
info["Error"] = "999";
|
||
info["Msg"] = "查询失败:" + ex.Message;
|
||
//return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
return info.ToString();
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 上传单品集合到云平台
|
||
public void UpLoadSaleCloud(string code, string jsonString)
|
||
{
|
||
Hashtable hashtable = new Hashtable
|
||
{
|
||
{ "code", code },
|
||
{ "jsonString", jsonString }
|
||
};
|
||
SoapWSHelper.QuerySoapWebServiceString(_ColudUrl, "AddTransfer_selldata", hashtable);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 单品拆解为流水数据
|
||
public void SellDataSplit(List<HIGHWAY.TRANSFER_SELLDATA> _Data, string[] codes)
|
||
{
|
||
//单品集合拆解到流水
|
||
if (!string.IsNullOrEmpty(_OracleConnStr))
|
||
{
|
||
string _SERVERPARTCODE = codes[0];
|
||
string _SHOPCODE = codes[1];
|
||
string _SERVERPART_NAME = "";
|
||
string _SHOPNAME = "";
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
|
||
List<string> SqlList = new List<string>();
|
||
try
|
||
{
|
||
//获取服务区名称
|
||
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(
|
||
"SELECT SERVERPART_NAME FROM HIGHWAY_EXCHANGE.T_SERVERPART WHERE SERVERPART_CODE = '" + _SERVERPARTCODE + "'").Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
_SERVERPART_NAME = _DataTable.Rows[0][0].ToString();
|
||
}
|
||
//获取门店名称
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
|
||
"SELECT SHOPNAME FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTCODE = '" +
|
||
_SERVERPARTCODE + "' AND SHOPCODE = '" + _SHOPCODE + "'").Tables[0];
|
||
if (_DataTable.Rows.Count > 0)
|
||
{
|
||
_SHOPNAME = _DataTable.Rows[0][0].ToString();
|
||
}
|
||
//查询收银人员信息
|
||
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT SELLWORKERCODE,SELLWORKERNAME FROM HIGHWAY_EXCHANGE.T_SELLWORKER
|
||
WHERE SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND SHOPCODE = '" + _SHOPCODE + "'").Tables[0];
|
||
//开始拆解流水集合数据
|
||
foreach (HIGHWAY.TRANSFER_SELLDATA _TRANSFER_SELLDATA in _Data)
|
||
{
|
||
//定义销售流水编码(门店唯一单号)
|
||
string _SellMasterCode = _SERVERPARTCODE + _SHOPCODE + _TRANSFER_SELLDATA.MACHINECODE +
|
||
_TRANSFER_SELLDATA.WORKERCODE + _TRANSFER_SELLDATA.SELLDATA_DATE.Value.ToString("yyyyMMddHHmmss");
|
||
string _SellWorkName = "";
|
||
//查询收银人员信息
|
||
DataRow[] _DataRow = _DataTable.Select("SELLWORKERCODE = '" + _TRANSFER_SELLDATA.WORKERCODE + "'");
|
||
if (_DataRow.Length > 0)
|
||
{
|
||
_SellWorkName = _DataRow[0]["SELLWORKERNAME"].ToString();
|
||
}
|
||
//生成插入销售流水主表sql语句
|
||
string _InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLMASTER (
|
||
SELLMASTER_ID,SELLMASTER_CODE,SERVERPARTCODE,SERVERPART_NAME,SHOPCODE,SHOPNAME,MACHINECODE,
|
||
SELLWORKER_CODE,SELLWORKER_NAME,SELLMASTER_DATE,SELLMASTER_COUNT,SELLMASTER_OFFPRICE,
|
||
SELLMASTER_AMOUNT,CASHPAY,TRANSFER_STATE) VALUES(1,'{0}','{1}','{2}','{3}','{4}','{5}','{6}',
|
||
'{7}',TO_DATE('{8}','YYYY/MM/DD HH24:MI:SS'),{9},{10},{11},{11},0)", _SellMasterCode,
|
||
_SERVERPARTCODE, _SERVERPART_NAME, _SHOPCODE, _SHOPNAME, _TRANSFER_SELLDATA.MACHINECODE,
|
||
_TRANSFER_SELLDATA.WORKERCODE, _SellWorkName, _TRANSFER_SELLDATA.SELLDATA_DATE,
|
||
_TRANSFER_SELLDATA.SELLCOUNT, _TRANSFER_SELLDATA.OFFPRICE, _TRANSFER_SELLDATA.FACTAMOUNT);
|
||
|
||
SqlList.Add(_InsertSql);
|
||
int _LINENUM = 1;
|
||
//如果第一组流水有数据,则进行拆分。数据格式:商品名^数量^总价格,商品名^数量^总价格
|
||
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_FIRSTDATAS))
|
||
{
|
||
//按照,进行拆分数据,拆分出销售数据
|
||
string[] _str = _TRANSFER_SELLDATA.TRANSFER_FIRSTDATAS.Split(",");
|
||
foreach (string _SaleDate in _str)
|
||
{
|
||
//按照^进行拆分,拆分出每个商品销售明细
|
||
string[] _temp = _SaleDate.Split('^');
|
||
if (_temp.Length > 2)
|
||
{
|
||
//生成商品明细插入语句
|
||
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
|
||
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
|
||
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
|
||
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
|
||
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
|
||
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
|
||
_TRANSFER_SELLDATA.SELLDATA_DATE);
|
||
SqlList.Add(_InsertSql);
|
||
}
|
||
}
|
||
}
|
||
//如果第二组流水有数据,则进行拆分。数据格式:商品名^数量^总价格,商品名^数量^总价格
|
||
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_SECONDDATAS))
|
||
{
|
||
string[] _str = _TRANSFER_SELLDATA.TRANSFER_SECONDDATAS.Split(",");
|
||
foreach (string _SaleDate in _str)
|
||
{
|
||
string[] _temp = _SaleDate.Split('^');
|
||
if (_temp.Length > 2)
|
||
{
|
||
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
|
||
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
|
||
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
|
||
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
|
||
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
|
||
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
|
||
_TRANSFER_SELLDATA.SELLDATA_DATE);
|
||
SqlList.Add(_InsertSql);
|
||
}
|
||
}
|
||
}
|
||
//如果第三组流水有数据,则进行拆分。数据格式:商品名^数量^总价格,商品名^数量^总价格
|
||
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_THIRDDATAS))
|
||
{
|
||
string[] _str = _TRANSFER_SELLDATA.TRANSFER_THIRDDATAS.Split(",");
|
||
foreach (string _SaleDate in _str)
|
||
{
|
||
string[] _temp = _SaleDate.Split('^');
|
||
if (_temp.Length > 2)
|
||
{
|
||
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
|
||
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
|
||
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
|
||
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
|
||
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
|
||
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
|
||
_TRANSFER_SELLDATA.SELLDATA_DATE);
|
||
SqlList.Add(_InsertSql);
|
||
}
|
||
}
|
||
}
|
||
//如果第四组流水有数据,则进行拆分。数据格式:商品名^数量^总价格,商品名^数量^总价格
|
||
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_FORTHDATAS))
|
||
{
|
||
string[] _str = _TRANSFER_SELLDATA.TRANSFER_FORTHDATAS.Split(",");
|
||
foreach (string _SaleDate in _str)
|
||
{
|
||
string[] _temp = _SaleDate.Split('^');
|
||
if (_temp.Length > 2)
|
||
{
|
||
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
|
||
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
|
||
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
|
||
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
|
||
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
|
||
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
|
||
_TRANSFER_SELLDATA.SELLDATA_DATE);
|
||
SqlList.Add(_InsertSql);
|
||
}
|
||
}
|
||
}
|
||
//如果第五组流水有数据,则进行拆分。数据格式:商品名^数量^总价格,商品名^数量^总价格
|
||
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_FIFTHDATAS))
|
||
{
|
||
string[] _str = _TRANSFER_SELLDATA.TRANSFER_FIFTHDATAS.Split(",");
|
||
foreach (string _SaleDate in _str)
|
||
{
|
||
string[] _temp = _SaleDate.Split('^');
|
||
if (_temp.Length > 2)
|
||
{
|
||
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
|
||
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
|
||
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
|
||
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
|
||
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
|
||
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
|
||
_TRANSFER_SELLDATA.SELLDATA_DATE);
|
||
SqlList.Add(_InsertSql);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog("生成流水语句错误:" + ex.ToString());
|
||
}
|
||
|
||
try
|
||
{
|
||
_OracleHelper.ExecuteSqlTran(SqlList);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog("执行流水拆解插入错误:" + ex.ToString());
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 打印错误日志
|
||
/// <summary>
|
||
/// 打印错误日志
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public void LogWriteSendLog(string jsonString)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(jsonString);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 众马商超相关
|
||
/// <summary>
|
||
/// 验证必传参数
|
||
/// </summary>
|
||
/// <param name="code"></param>
|
||
/// <param name="MD5Key"></param>
|
||
/// <param name="jsonString"></param>
|
||
/// <param name="_Dictionary"></param>
|
||
/// <returns></returns>
|
||
public string ValidateNecessaryParam(string code, string MD5Key, string jsonString, Dictionary<string, string> _Dictionary, string[] _RequiredDatas)
|
||
{
|
||
//string[] _RequiredDatas = { "sign", "Time_stamp" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "StartDate":
|
||
case "EndDate":
|
||
case "Category_Id":
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
//非必填项
|
||
_Dictionary.Clear();
|
||
foreach (var item in _Json)
|
||
{
|
||
_Dictionary.Add(item.Key, _Json[item.Key].ToString());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
#region 方法 -> 获取商品分类
|
||
/// <summary>
|
||
/// 获取商品分类
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetCategoryList(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codeArr = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codeArr == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "StartDate", "EndDate" };
|
||
string reString = ValidateNecessaryParam(code, MD5Key, jsonString, _Dictionary, _RequiredDatas);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
if (_JObject["error"].ToString() != "100")
|
||
{
|
||
return reString;
|
||
}
|
||
#endregion
|
||
|
||
//获取门店信息
|
||
string _ServerpartCode = code.Substring(0, 6), _ShopCode = code.Substring(6); //服务区编码、门店编码
|
||
//GetShopInfo(_OracleHelper, codeArr, code, ref Province_Code, ref ServerPartShop_Id);
|
||
//查询商品分类列表
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "OpenAPIGetCategoryList");
|
||
sb.AppendFormat("&ServerpartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&ShopCode={0}", _ShopCode);
|
||
if (_Dictionary.ContainsKey("StartDate"))
|
||
{
|
||
sb.AppendFormat("&StartDate={0}", _Dictionary["StartDate"].ToString());
|
||
}
|
||
if (_Dictionary.ContainsKey("EndDate"))
|
||
{
|
||
sb.AppendFormat("&EndDate={0}", _Dictionary["EndDate"].ToString());
|
||
}
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["BaseUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
_JObject = JObject.Parse(reString);
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":" + _JObject["Result_Data"]["List"] + "}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取商品列表
|
||
/// <summary>
|
||
/// 获取商品分类
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetCommodityList(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codeArr = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codeArr == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "StartDate", "EndDate", "Category_Id" };
|
||
string reString = ValidateNecessaryParam(code, MD5Key, jsonString, _Dictionary, _RequiredDatas);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
if (_JObject["error"].ToString() != "100")
|
||
{
|
||
return reString;
|
||
}
|
||
#endregion
|
||
|
||
//获取门店信息
|
||
string _ServerpartCode = code.Substring(0, 6), _ShopCode = code.Substring(6); //服务区编码、门店编码
|
||
//查询商品分类列表
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "OpenAPIGetCommodityList");
|
||
sb.AppendFormat("&ServerpartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&ShopCode={0}", _ShopCode);
|
||
if (_Dictionary.ContainsKey("Category_Id"))
|
||
{
|
||
sb.AppendFormat("&Category_Id={0}", _Dictionary["Category_Id"].ToString());
|
||
}
|
||
if (_Dictionary.ContainsKey("StartDate"))
|
||
{
|
||
sb.AppendFormat("&StartDate={0}", _Dictionary["StartDate"].ToString());
|
||
}
|
||
if (_Dictionary.ContainsKey("EndDate"))
|
||
{
|
||
sb.AppendFormat("&EndDate={0}", _Dictionary["EndDate"].ToString());
|
||
}
|
||
|
||
string parameters = sb.ToString();
|
||
string _BaseUrl = ConfigurationManager.AppSettings["BaseUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
_JObject = JObject.Parse(reString);
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":" + _JObject["Result_Data"]["List"] + "}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 方法 -> 对外新接口 [海鼎]
|
||
#region 方法 -> 获取会员信息
|
||
/// <summary>
|
||
/// 获取会员信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetMembershipInfoEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp", "Membership_Card", "Membership_Name", "Membership_Mobilephone" };
|
||
//"Membership_Type", "Start_Date", "End_Date", "Membership_ID", "Membership_Company",
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "Membership_Card":
|
||
case "Membership_Name":
|
||
case "Membership_Mobilephone":
|
||
EmptyCount++;
|
||
if (EmptyCount == 3)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/GetMemberInfo";
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?Membership_Card={0}", _Dictionary["Membership_Card"].ToString());
|
||
sb.AppendFormat("&Membership_Phone={0}", _Dictionary["Membership_Mobilephone"].ToString());
|
||
sb.AppendFormat("&staffName={0}", "海鼎通讯接口");//海鼎通讯接口
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Company_Name"] = _JObject["Result_Data"]["Company_Name"];
|
||
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
|
||
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
|
||
info["Membership_Sex"] = _JObject["Result_Data"]["Membership_Sex"];
|
||
info["Membership_Mobilephone"] = _JObject["Result_Data"]["Membership_Mobilephone"];
|
||
info["Membership_Card"] = _JObject["Result_Data"]["Membership_Card"];
|
||
info["Operate_Date"] = _JObject["Result_Data"]["Operate_Date"];
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取卡户信息
|
||
/// <summary>
|
||
/// 获取卡户信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetICCardInfoEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp", "Membership_Card" };
|
||
//"Membership_ID", "Start_Date", "End_Date",
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "Membership_Card":
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/GetMemberInfo";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?action_type={0}", "ICCardQuery");
|
||
sb.AppendFormat("&Membership_Card={0}", _Dictionary["Membership_Card"].ToString());
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
|
||
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
|
||
info["ICCard_Statue"] = _JObject["Result_Data"]["ICCard_Statue"];
|
||
info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
|
||
info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
|
||
info["Operate_Date"] = _JObject["Result_Data"]["Operate_Date"];
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单支付
|
||
/// <summary>
|
||
/// 订单支付
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderPayEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "time_stamp" , "ECode", "Membership_Card", "TicketCode", //"Membership_ID",
|
||
"MachineCode", "Recode_Type", "Recode_Amount" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "ECode": //会员电子码
|
||
case "Membership_Card": //会员实体卡号
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON缺少必要支付参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
//实付金额
|
||
if (_Json["Fact_Amount"] != null)
|
||
{
|
||
_Dictionary.Add("Fact_Amount", _Json["Fact_Amount"].ToString());
|
||
}
|
||
//抵用积分
|
||
if (_Json["Consume_Point"] != null)
|
||
{
|
||
_Dictionary.Add("Consume_Point", _Json["Consume_Point"].ToString());
|
||
}
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"支付失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_SERVERPART_ID = "NULL", _SERVERPART_NAME = "",
|
||
_SERVERPARTSHOP_ID = "NULL", _SHOPNAME = "", _PROVINCE_CODE = "",
|
||
_TicketCode = _Dictionary["TicketCode"].ToString(),
|
||
_MachineCode = _Dictionary["MachineCode"].ToString(),
|
||
_ECode = _Dictionary.ContainsKey("ECode") ? _Dictionary["ECode"].ToString() : "",
|
||
_Membership_Card = _Dictionary.ContainsKey("Membership_Card") ? _Dictionary["Membership_Card"].ToString() : "",
|
||
_Recode_Type = _Dictionary["Recode_Type"].ToString(),
|
||
_Recode_Amount = _Dictionary["Recode_Amount"].ToString(),
|
||
_Recode_Date = DateTime.Now.ToString(),
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
|
||
if (!_Dictionary.TryGetValue("Fact_Amount", out string _Fact_Amount))
|
||
{
|
||
_Fact_Amount = _Recode_Amount;
|
||
}
|
||
if (!_Dictionary.TryGetValue("Consume_Point", out string _Consume_Point))
|
||
{
|
||
_Consume_Point = "0";
|
||
}
|
||
#endregion
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/MemberECodePay";
|
||
string reString = "";
|
||
StringBuilder sb = new StringBuilder();
|
||
if (_ECode.Length == 23)
|
||
{
|
||
//新的电子码支付逻辑:包含余额支付、优惠券使用、积分积累
|
||
sb.AppendFormat("?serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
sb.AppendFormat("&machineCode={0}", _Dictionary["MachineCode"].ToString());
|
||
sb.AppendFormat("&consumeAmount={0}", _Recode_Amount);
|
||
sb.AppendFormat("&ECode={0}", _ECode);
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&consumeType={0}", _Recode_Type);
|
||
sb.AppendFormat("&operaterDesc={0}", "海鼎电子码支付");
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
}
|
||
else if (!string.IsNullOrEmpty(_Membership_Card))
|
||
{
|
||
//饭卡支付(实体卡消费)
|
||
_BaseUrl += "/OpenApi/MemberCardPay?";
|
||
sb.AppendFormat("card={0}", _Membership_Card);
|
||
sb.AppendFormat("&serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
sb.AppendFormat("&machineCode={0}", _Dictionary["MachineCode"].ToString());
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&consumeAmount={0}", _Recode_Amount);
|
||
sb.AppendFormat("&operaterDesc={0}", "海鼎饭卡支付");
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
}
|
||
else
|
||
{
|
||
#region 原支付逻辑
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
//内部会员信息数据库链接
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
|
||
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
|
||
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
|
||
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
||
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
sb.AppendFormat("?action_type={0}", "OrderPay");
|
||
sb.AppendFormat("&Membership_ECode={0}", _ECode);
|
||
sb.AppendFormat("&Membership_Card={0}", _Membership_Card);
|
||
sb.AppendFormat("&Fact_Amount={0}", _Fact_Amount);
|
||
sb.AppendFormat("&Consume_Point={0}", _Consume_Point);
|
||
sb.AppendFormat("&Recode_Amount={0}", _Recode_Amount);
|
||
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&Recode_Type={0}", _Dictionary["Recode_Type"].ToString());
|
||
sb.AppendFormat("&Province_Code={0}", _PROVINCE_CODE);
|
||
sb.AppendFormat("&Serverpart_ID={0}", _SERVERPART_ID);
|
||
sb.AppendFormat("&Serverpart_Code={0}", _ServerpartCode);
|
||
sb.AppendFormat("&Serverpart_Name={0}", _SERVERPART_NAME);
|
||
sb.AppendFormat("&ServerpartShop_ID={0}", _SERVERPARTSHOP_ID);
|
||
sb.AppendFormat("&ServerpartShop_Code={0}", _ShopCode);
|
||
sb.AppendFormat("&ServerpartShop_Name={0}", _SHOPNAME);
|
||
sb.AppendFormat("&MachineCode={0}", _Dictionary["MachineCode"].ToString());
|
||
sb.AppendFormat("&Recode_Date={0}", _Recode_Date);
|
||
sb.AppendFormat("&PlatformCode={0}", _PlatformCode);
|
||
sb.AppendFormat("&RecordPoint={0}", 0); //海鼎饭卡支付不做积分
|
||
string parameters = sb.ToString();
|
||
_BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
#endregion
|
||
}
|
||
JObject _JObject = JObject.Parse(reString);
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
HIGHWAY.RECHARGERECORD _RECHARGERECORD = new HIGHWAY.RECHARGERECORD();
|
||
_RECHARGERECORD.Serverpart_Name = _SERVERPART_NAME;
|
||
_RECHARGERECORD.ShopName = _SHOPNAME;
|
||
_RECHARGERECORD.MachineCode = _Dictionary["MachineCode"].ToString();
|
||
_RECHARGERECORD.TicketCode = _Dictionary["TicketCode"].ToString();
|
||
_RECHARGERECORD.PlatformCode = _PlatformCode;
|
||
_RECHARGERECORD.Recode_Type = int.Parse(_Dictionary["Recode_Type"].ToString());
|
||
_RECHARGERECORD.Recode_Amount = double.Parse(_Recode_Amount).Round(2);
|
||
_RECHARGERECORD.Fact_Amount = double.Parse(_Fact_Amount).Round(2);
|
||
_RECHARGERECORD.Coupon_Amount = double.Parse(_JObject["Result_Data"]["couponAmount"].ToString()).Round(2);
|
||
_RECHARGERECORD.Consume_Point = double.Parse(_Consume_Point).Round(2);
|
||
_RECHARGERECORD.Current_Point = double.Parse(_JObject["Result_Data"]["currentPoint"].ToString()).Round(2);
|
||
_RECHARGERECORD.Total_Point = double.Parse(_JObject["Result_Data"]["memberPoint"].ToString()).Round(2);
|
||
//double.Parse(_Consume_Point).Round(2);
|
||
//_RECHARGERECORD.Account_Balance = decimal.Parse(_ACCOUNT_BALANCE) - decimal.Parse(_Recode_Amount);
|
||
_RECHARGERECORD.Pay_State = "Success";
|
||
_RECHARGERECORD.Recode_Date = DateTime.Parse(_Recode_Date);
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"支付成功!\",\"rows\":[" +
|
||
JsonHelper.ObjectToJson(_RECHARGERECORD) + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"支付失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单查询
|
||
/// <summary>
|
||
/// 订单查询
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderQueryEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "TicketCode", "PlatformCode", "Start_Date", "End_Date", "time_stamp" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
int EmptyCount = 0, TimeCount = 0;
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "TicketCode":
|
||
case "PlatformCode":
|
||
EmptyCount++;
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
case "Start_Date":
|
||
case "End_Date":
|
||
TimeCount++;
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "Start_Date":
|
||
case "End_Date":
|
||
try
|
||
{
|
||
DateTime.ParseExact(_Json[_RequiredData].ToString(), "yyyyMMddHHmmss",
|
||
System.Globalization.CultureInfo.InvariantCulture).ToString();
|
||
}
|
||
catch
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:时间格式不正确!\",\"rows\":[{}]}";
|
||
}
|
||
break;
|
||
}
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
if (EmptyCount == 2 && TimeCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
string Serverpart_Code = codes[0], ShopCode = codes[1];
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/ConsumptionList";
|
||
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?startDate={0}", _Dictionary["Start_Date"].ToString());
|
||
sb.AppendFormat("&platformCode={0}", _Dictionary["PlatformCode"].ToString());
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&endDate={0}", _Dictionary["End_Date"].ToString());
|
||
sb.AppendFormat("&serverPartCode={0}", Serverpart_Code);
|
||
sb.AppendFormat("&serverPartShopCode={0}", ShopCode);
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" +
|
||
_JObject["Result_Data"] + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单整单撤销
|
||
/// <summary>
|
||
/// 获取会员、卡户信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderCancelEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "TicketCode", "MachineCode", "time_stamp" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"取消失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"取消失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"取消失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
string Serverpart_Code = codes[0], ShopCode = codes[1];
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/CancelPay";
|
||
//string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&machineCode={0}", _Dictionary["MachineCode"].ToString());
|
||
sb.AppendFormat("&serverPartCode={0}", Serverpart_Code);
|
||
sb.AppendFormat("&serverPartShopCode={0}", ShopCode);
|
||
sb.AppendFormat("&operateDesc={0}", "海鼎撤销交易");
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"取消成功!\",\"rows\":[" +
|
||
_JObject["Result_Data"] + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"取消失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单部分退款
|
||
/// <summary>
|
||
/// 获取会员、卡户信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string OrderRefundEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "TicketCode", "PlatformCode", "time_stamp", "ECode", "Refund_Amount", "MachineCode", "Recode_Type" };
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"退款失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"退款失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"退款失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_TicketCode = _Dictionary["TicketCode"].ToString(),
|
||
_MachineCode = _Dictionary["MachineCode"].ToString(),
|
||
_ECode = _Dictionary.ContainsKey("ECode") ? _Dictionary["ECode"].ToString() : "",
|
||
_Membership_Card = _Dictionary.ContainsKey("Membership_Card") ? _Dictionary["Membership_Card"].ToString() : "",
|
||
_Recode_Type = _Dictionary["Recode_Type"].ToString(),
|
||
_Recode_Amount = _Dictionary["Refund_Amount"].ToString(),
|
||
_Recode_Date = DateTime.Now.ToString(),
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
|
||
if (!_Dictionary.TryGetValue("Fact_Amount", out string _Fact_Amount))
|
||
{
|
||
_Fact_Amount = _Recode_Amount;
|
||
}
|
||
if (!_Dictionary.TryGetValue("Consume_Point", out string _Consume_Point))
|
||
{
|
||
_Consume_Point = "0";
|
||
}
|
||
#endregion
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/MemberECodePay";
|
||
StringBuilder sb = new StringBuilder();
|
||
//部分退款:直接退款接口做负数处理
|
||
sb.AppendFormat("?serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
sb.AppendFormat("&machineCode={0}", _Dictionary["MachineCode"].ToString());
|
||
sb.AppendFormat("&consumeAmount={0}", -_Recode_Amount.TryParseToDouble());
|
||
sb.AppendFormat("&ECode={0}", _ECode);
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&recodeType={0}", "5000");
|
||
sb.AppendFormat("&operaterDesc={0}", "海鼎部分退款");
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"退款成功!\",\"rows\":[" +
|
||
_JObject["Result_Data"] + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() +
|
||
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"退款失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
#endregion
|
||
|
||
#region 方法 -> 对外接口商城相关[那美]
|
||
|
||
#region 方法 -> 获取微信会员信息
|
||
/// <summary>
|
||
/// 获取会员信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetWeChatMembershipInfo(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "WeChatPhone", "WeChatUnionID", "Time_stamp" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
//查询会员信息
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/GetMemberInfo";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?Membership_Phone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
sb.AppendFormat("&staffName={0}", "那美通讯接口");//那美通讯接口
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
|
||
info["Membership_Level"] = _JObject["Result_Data"]["Membership_Level"];
|
||
info["Membership_Code"] = _JObject["Result_Data"]["Membership_Card"];
|
||
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
|
||
info["Membership_Sex"] = _JObject["Result_Data"]["Membership_Sex"];
|
||
info["Membership_Birthday"] = _JObject["Result_Data"]["Membership_Birthday"];
|
||
info["Membership_MobilePhone"] = _JObject["Result_Data"]["Membership_Mobilephone"];
|
||
info["Membership_Address"] = _JObject["Result_Data"]["Membership_Address"];
|
||
info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
|
||
info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": 101 ,\"msg\": \"查询成功!无会员信息!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取会员收货地址
|
||
/// <summary>
|
||
/// 获取会员收货地址
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetReceiveAddress(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "WeChatPhone", "WeChatUnionID", "Time_stamp" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
//查询会员信息
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/MemberAddressList";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?Membership_Phone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + _JObject["Result_Data"] + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() + " ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 同步会员收货地址
|
||
/// <summary>
|
||
/// 同步会员收货地址
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string UploadReceiveAddress(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "WeChatUnionID",
|
||
"ReceiveAddressID","ReceiveProvince", "ReceiveCity","ReceiveCounty",
|
||
"ReceiveAddress", "ReceiveLinker_Name", "ReceiveLinker_Sex", "Linker_MobilePhone", "IsDefault", "TargetType" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "ReceiveAddressID":
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
case "WeChatPhone":
|
||
case "WeChatUnionID":
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"同步失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"同步失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
//记录会员地址
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/SaveAddressList";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?Membership_Phone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
sb.AppendFormat("&ReceiveProvince={0}", _Dictionary["ReceiveProvince"].ToString());
|
||
sb.AppendFormat("&ReceiveCity={0}", _Dictionary["ReceiveCity"].ToString());
|
||
sb.AppendFormat("&ReceiveCounty={0}", _Dictionary["ReceiveCounty"].ToString());
|
||
sb.AppendFormat("&ReceiveAddress={0}", _Dictionary["ReceiveAddress"].ToString());
|
||
sb.AppendFormat("&ReceiveLinker_Name={0}", _Dictionary["ReceiveLinker_Name"].ToString());
|
||
sb.AppendFormat("&ReceiveLinker_Sex={0}", _Dictionary["ReceiveLinker_Sex"].ToString());
|
||
sb.AppendFormat("&Linker_MobilePhone={0}", _Dictionary["Linker_MobilePhone"].ToString());
|
||
sb.AppendFormat("&IsDefault={0}", _Dictionary["IsDefault"].ToString());
|
||
sb.AppendFormat("&TargetType={0}", _Dictionary["TargetType"].ToString());
|
||
sb.AppendFormat("&ReceiveAddressID={0}", _Dictionary["ReceiveAddressID"].ToString());
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["ReceiveAddressID"] = _JObject["Result_Data"]["ReceiveAddressID"]; //收货地址内码
|
||
info["ReceiveProvince"] = _Dictionary["ReceiveProvince"]; //收货市区
|
||
info["ReceiveCity"] = _Dictionary["ReceiveCity"]; //收货市区
|
||
info["ReceiveCounty"] = _Dictionary["ReceiveCounty"]; //收货市区
|
||
info["ReceiveAddress"] = _Dictionary["ReceiveAddress"]; //收货详细地址
|
||
info["ReceiveLinker_Name"] = _Dictionary["ReceiveLinker_Name"]; //收货人
|
||
info["ReceiveLinker_Sex"] = _Dictionary["ReceiveLinker_Sex"]; //收货人性别
|
||
info["Linker_MobilePhone"] = _Dictionary["Linker_MobilePhone"]; //手机号码
|
||
info["IsDefault"] = _Dictionary["IsDefault"]; //是否默认地址
|
||
info["TargetType"] = _Dictionary["TargetType"]; //地址标签
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"同步成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["ResultCode"].ToString() + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"同步失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 记录消费信息
|
||
/// <summary>
|
||
/// 记录消费信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string RecordConsumption(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string _Recode_Type = "", _Recode_Desc = "";
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "WeChatUnionID", "Recode_Type", "Membership_Name",
|
||
"TicketCode", "Recode_Amount", "Consume_Point", "Fact_Amount", "Recode_Date", "Recode_Desc", "CommodityInfo"};
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
int EmptyCount = 0; //非必填项未传参数量
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
if (_Recode_Type != "9000" && _RequiredData == "Recode_Desc")
|
||
{
|
||
continue;
|
||
}
|
||
else
|
||
{
|
||
switch (_RequiredData)
|
||
{
|
||
case "Membership_Name":
|
||
case "CommodityInfo":
|
||
break;
|
||
case "Consume_Point":
|
||
//提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
if (code.StartsWith("330005") || code == "888888012002")
|
||
{
|
||
_Dictionary.Add("Consume_Point", "0");
|
||
}
|
||
break;
|
||
case "WeChatPhone":
|
||
case "WeChatUnionID":
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
//提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
if (code.StartsWith("330005") || code == "888888012002")
|
||
{
|
||
_Dictionary.Add(_RequiredData, "");
|
||
}
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
if (_RequiredData == "Recode_Type")
|
||
{
|
||
_Recode_Type = _Json[_RequiredData].ToString();
|
||
}
|
||
else if (_RequiredData == "Recode_Desc")
|
||
{
|
||
_Recode_Desc = _Json[_RequiredData].ToString();
|
||
}
|
||
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
//2020/7/27 朱梓毅增加处理逻辑
|
||
//交易金额、实付金额签名保留两位小数
|
||
_Dictionary.Remove("Fact_Amount");
|
||
_Dictionary.Remove("Recode_Amount");
|
||
_Dictionary.Add("Fact_Amount", ((decimal)_Json["Fact_Amount"]).ToString("F2"));
|
||
_Dictionary.Add("Recode_Amount", ((decimal)_Json["Recode_Amount"]).ToString("F2"));
|
||
sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
//非必填项
|
||
_Dictionary.Clear();
|
||
foreach (var item in _Json)
|
||
{
|
||
_Dictionary.Add(item.Key, _Json[item.Key].ToString());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1];
|
||
//业主单位
|
||
int OwnerUnitId = 13;
|
||
try
|
||
{
|
||
OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
|
||
}
|
||
catch { }
|
||
//消费类型转译
|
||
switch (_Recode_Type)
|
||
{
|
||
//余额支付
|
||
case "2000":
|
||
_Recode_Type = "3000";
|
||
break;
|
||
//积分兑换
|
||
case "3000":
|
||
_Recode_Type = "3050";
|
||
break;
|
||
//微信支付
|
||
case "4000":
|
||
_Recode_Type = "2000";
|
||
break;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 记录会员消费信息
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/MemberMobilePay";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?MembershipPhone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
sb.AppendFormat("&recodeType={0}", _Recode_Type);
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&consumeAmount={0}", _Dictionary["Recode_Amount"].ToString());
|
||
if (_Dictionary.ContainsKey("Consume_Point"))
|
||
{
|
||
sb.AppendFormat("&consumePoint={0}", _Dictionary["Consume_Point"].ToString());
|
||
}
|
||
sb.AppendFormat("&factAmount={0}", _Dictionary["Fact_Amount"].ToString());
|
||
sb.AppendFormat("&consumeDate={0}", _Dictionary["Recode_Date"].ToString());
|
||
if (_Dictionary.ContainsKey("Recode_Desc"))//组合支付的备注
|
||
{
|
||
sb.AppendFormat("&Recode_Desc={0}", _Dictionary["Recode_Desc"].ToString());
|
||
}
|
||
sb.AppendFormat("&consumptionDesc={0}", "驿网云仓消费");
|
||
sb.AppendFormat("&consumeType={0}", 3000);//商城订单
|
||
sb.AppendFormat("&serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
sb.AppendFormat("&OwnerUnitId={0}", OwnerUnitId);
|
||
string parameters = sb.ToString();
|
||
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
info["PlatformCode"] = _JObject["Result_Data"]["platformCode"].ToString();
|
||
info["Recode_Type"] = _Dictionary["Recode_Type"].ToString();
|
||
info["Recode_Amount"] = _Dictionary["Recode_Amount"];
|
||
info["Fact_Amount"] = _Dictionary["Fact_Amount"];
|
||
if (_Dictionary.ContainsKey("Consume_Point"))
|
||
{
|
||
info["Consume_Point"] = _Dictionary["Consume_Point"];
|
||
}
|
||
info["Recode_Date"] = _Dictionary["Recode_Date"];
|
||
info["Pay_State"] = "Success";
|
||
info["Recode_Desc"] = _Recode_Desc;
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"记录成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
switch (_Result_Code)
|
||
{
|
||
case "205":
|
||
_Result_Code = "203";
|
||
break;
|
||
case "301":
|
||
_Result_Code = "102";
|
||
break;
|
||
}
|
||
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"记录失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 方法 -> 交易记录查询
|
||
/// <summary>
|
||
/// 记录消费信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string SearchConsumptionRecord(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string _Recode_Type = "";
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "TicketCode" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
int EmptyCount = 0; //非必填项未传参数量
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
//非必填项
|
||
_Dictionary.Clear();
|
||
foreach (var item in _Json)
|
||
{
|
||
_Dictionary.Add(item.Key, _Json[item.Key].ToString());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 查询会员消费信息
|
||
//参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1];
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"] + "OpenApi/ConsumptionList";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
if (_JObject["Result_Data"]["TotalCount"].TryParseToInt() > 0)
|
||
{
|
||
info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
info["PlatformCode"] = _JObject["Result_Data"]["List"][0]["PlatformCode"];
|
||
//消费类型转译
|
||
switch (_JObject["Result_Data"]["List"][0]["Recode_Type"].TryParseToString())
|
||
{
|
||
//余额支付
|
||
case "3000":
|
||
_Recode_Type = "余额支付";
|
||
break;
|
||
//积分兑换
|
||
case "3050":
|
||
_Recode_Type = "积分兑换";
|
||
break;
|
||
//微信支付
|
||
case "2000":
|
||
_Recode_Type = "微信支付";
|
||
break;
|
||
}
|
||
info["Recode_Type"] = _Recode_Type;
|
||
info["Recode_Amount"] = _JObject["Result_Data"]["List"][0]["Recode_Amount"];
|
||
info["Recode_Date"] = _JObject["Result_Data"]["List"][0]["Recode_Date"].TryParseToString();
|
||
info["Pay_State"] = _JObject["Result_Data"]["List"][0]["Pay_State"].TryParseToString();
|
||
info["Recode_Desc"] = _JObject["Result_Data"]["List"][0]["Recode_Desc"].TryParseToString();
|
||
}
|
||
else
|
||
{
|
||
info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
info["PlatformCode"] = "";
|
||
info["Recode_Type"] = "";
|
||
info["Recode_Amount"] = null;
|
||
info["Recode_Date"] = "";
|
||
info["Pay_State"] = "NotFund";
|
||
info["Recode_Desc"] = "";
|
||
}
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"] + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"记录失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 方法 -> 撤销交易记录
|
||
/// <summary>
|
||
/// 记录消费信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string RevokeConsumptionEx(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "WeChatUnionID", "TicketCode" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
//提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
if (code.StartsWith("330005") || code == "888888012002")
|
||
{
|
||
_Dictionary.Add(_RequiredData, "");
|
||
}
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"撤销失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"撤销失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1];
|
||
//撤销会员消费记录
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/CancelPay";
|
||
//string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
sb.AppendFormat("&operateDesc={0}", "那美撤销交易");
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
info["PlatformCode"] = _JObject["Result_Data"]["platformCode"] == null ? "" : _JObject["Result_Data"]["platformCode"].ToString();
|
||
info["Pay_State"] = "Revoke";
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"撤销成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": " + _JObject["Result_Code"].ToString() + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"撤销失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 订单部分退款
|
||
/// <summary>
|
||
/// 订单部分退款
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string RevokePartConsumption(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string _Recode_Type = "", _Recode_Desc = "";
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone",
|
||
"TicketCode", "Recode_Amount", "Consume_Point", "Refund_Amount", "Recode_Date", "Recode_Desc"};
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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 "Consume_Point":
|
||
//提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
if (code.StartsWith("330005") || code == "888888012002")
|
||
{
|
||
_Dictionary.Add("Consume_Point", "0");
|
||
}
|
||
break;
|
||
case "WeChatPhone":
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
//提供给娜美的接口,空值也参与签名,但正常情况下不参与签名
|
||
if (code.StartsWith("330005") || code == "888888012002")
|
||
{
|
||
_Dictionary.Add(_RequiredData, "");
|
||
}
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
if (_RequiredData == "Recode_Type")
|
||
{
|
||
_Recode_Type = _Json[_RequiredData].ToString();
|
||
}
|
||
else if (_RequiredData == "Recode_Desc")
|
||
{
|
||
_Recode_Desc = _Json[_RequiredData].ToString();
|
||
}
|
||
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
//2020/7/27 朱梓毅增加处理逻辑
|
||
//交易金额、实付金额签名保留两位小数
|
||
_Dictionary.Remove("Refund_Amount");
|
||
_Dictionary.Remove("Recode_Amount");
|
||
_Dictionary.Add("Refund_Amount", ((decimal)_Json["Fact_Amount"]).ToString("F2"));
|
||
_Dictionary.Add("Recode_Amount", ((decimal)_Json["Recode_Amount"]).ToString("F2"));
|
||
sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
//非必填项
|
||
_Dictionary.Clear();
|
||
foreach (var item in _Json)
|
||
{
|
||
_Dictionary.Add(item.Key, _Json[item.Key].ToString());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
//业主单位
|
||
int OwnerUnitId = 13;
|
||
try
|
||
{
|
||
OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
|
||
}
|
||
catch { }
|
||
#endregion
|
||
|
||
#region 记录会员消费信息
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/MemberMobilePay";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?Membership_Phone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
sb.AppendFormat("&recodeType={0}", 5000);
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"].ToString());
|
||
sb.AppendFormat("&consumeAmount={0}", _Dictionary["Recode_Amount"].ToString());
|
||
if (_Dictionary.ContainsKey("Consume_Point"))
|
||
{
|
||
sb.AppendFormat("&consumePoint={0}", _Dictionary["Consume_Point"].ToString());
|
||
}
|
||
sb.AppendFormat("&factAmount={0}", _Dictionary["Fact_Amount"].ToString());
|
||
sb.AppendFormat("&consumeDate={0}", _Dictionary["Recode_Date"].ToString());
|
||
if (_Dictionary.ContainsKey("Recode_Desc"))
|
||
{
|
||
sb.AppendFormat("&Recode_Desc={0}", _Dictionary["Recode_Desc"].ToString());
|
||
}
|
||
sb.AppendFormat("&consumptionDesc={0}", "那美部分退款");
|
||
sb.AppendFormat("&consumeType={0}", 3000);//商城订单
|
||
sb.AppendFormat("&serverPartCode={0}", _ServerpartCode);
|
||
sb.AppendFormat("&serverPartShopCode={0}", _ShopCode);
|
||
sb.AppendFormat("&OwnerUnitId={0}", OwnerUnitId);
|
||
string parameters = sb.ToString();
|
||
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
info["PlatformCode"] = _PlatformCode;
|
||
info["Recode_Type"] = _Dictionary["Recode_Type"].ToString();
|
||
info["Recode_Amount"] = _Dictionary["Recode_Amount"];
|
||
info["Fact_Amount"] = _Dictionary["Fact_Amount"];
|
||
if (_Dictionary.ContainsKey("Consume_Point"))
|
||
{
|
||
info["Consume_Point"] = _Dictionary["Consume_Point"];
|
||
}
|
||
info["Recode_Date"] = _Dictionary["Recode_Date"];
|
||
info["Pay_State"] = "Success";
|
||
info["Recode_Desc"] = _Recode_Desc;
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"退款成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
switch (_Result_Code)
|
||
{
|
||
case "205":
|
||
_Result_Code = "203";
|
||
break;
|
||
case "301":
|
||
_Result_Code = "102";
|
||
break;
|
||
}
|
||
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"退款失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 同步会员
|
||
/// <summary>
|
||
/// 同步会员
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string SysncMember(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "Membership_Name", "Membership_Sex", "Membership_Point" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
int EmptyCount = 0; //非必填项未传参数量
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
//业主单位
|
||
int OwnerUnitId = 13;
|
||
try
|
||
{
|
||
OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
|
||
}
|
||
catch { }
|
||
#endregion
|
||
|
||
#region 同步会员
|
||
//根据授权码获取接口来源
|
||
string staffName = "那美通讯接口";
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
staffName = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
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 = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Membership_Name"] = _Dictionary["Membership_Name"].ToString();
|
||
info["Membership_MobilePhone"] = _Dictionary["WeChatPhone"].ToString();
|
||
info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
|
||
info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
|
||
return "{\"error\": 100 ,\"msg\": \"新增成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"新增失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 同步会员积分
|
||
/// <summary>
|
||
/// 同步会员积分
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string SysncMemberPoint(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "ChangePoint", "ChangePointDesc" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
//业主单位
|
||
int OwnerUnitId = 13;
|
||
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}", "7000");//那美营销
|
||
sb.AppendFormat("&ChangePointDesc={0}", _Dictionary["ChangePointDesc"]);//改变积分类型描述
|
||
sb.AppendFormat("&ChangePoint={0}", _Dictionary["ChangePoint"]);
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
WebService.SDK.LogHelper.WriteSendLog("SysncMemberPoint" + RequestUrl + "||" + reString);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["ChangePoint"] = _Dictionary["ChangePoint"].ToString();
|
||
info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
|
||
return "{\"error\": 100 ,\"msg\": \"同步积分成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"同步积分失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 会员充值
|
||
/// <summary>
|
||
/// 会员充值
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string MemberRecharge(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "WeChatPhone", "TicketCode", "RechargeAmount" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 判断是否存在重复充值的现象
|
||
//从Redis中获取充值信息
|
||
string key = code;
|
||
Model.RechargeInfoModel rechargeInfoModel = RedisHelp.Redis.HashGet<Model.RechargeInfoModel>(6, code, _Dictionary["TicketCode"]);
|
||
if (rechargeInfoModel == null)
|
||
{
|
||
rechargeInfoModel = new Model.RechargeInfoModel();
|
||
//写入Redis的db6数据库
|
||
rechargeInfoModel.WeChatPhone = _Dictionary["WeChatPhone"];
|
||
rechargeInfoModel.RechargeAmount = _Dictionary["RechargeAmount"].TryParseToDecimal();
|
||
//写入Redis的db5数据库
|
||
RedisHelp.Redis.HashSet(6, code, _Dictionary["TicketCode"], rechargeInfoModel);
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 102 ,\"msg\": \"充值失败:充值订单号重复\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
//业主单位
|
||
int OwnerUnitId = 13;
|
||
try
|
||
{
|
||
OwnerUnitId = Convert.ToInt32(ConfigurationManager.AppSettings["OwnerUnitId"]);
|
||
}
|
||
catch { }
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
#endregion
|
||
|
||
#region 会员充值
|
||
//根据授权码获取接口来源
|
||
string RechargeSource = "那美充值";
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
RechargeSource = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/MemberRecharge";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("MembershipPhone={0}", _Dictionary["WeChatPhone"]);
|
||
sb.AppendFormat("&rechargeDesc={0}", RechargeSource); //充值来源
|
||
sb.AppendFormat("&ticketCode={0}", _Dictionary["TicketCode"]); //充值订单号
|
||
sb.AppendFormat("&rechargeAmount={0}", _Dictionary["RechargeAmount"]); //改变积分类型描述
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + "?" + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Membership_MobilePhone"] = _Dictionary["WeChatPhone"].ToString();
|
||
info["TicketCode"] = _Dictionary["TicketCode"].ToString();
|
||
info["RechargeAmount"] = _Dictionary["RechargeAmount"].ToString();
|
||
info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
|
||
return "{\"error\": 100 ,\"msg\": \"会员充值成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"会员充值失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 校验授权码
|
||
/// <summary>
|
||
/// 校验授权码
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString">请求的json串</param>
|
||
/// <param name="errMsg">返回结果</param>
|
||
/// <param name="MD5Key">MD5Key</param>
|
||
/// <returns>返回授权码</returns>
|
||
public string[] CheckCodes(string code, string jsonString, ref string errMsg, ref string MD5Key)
|
||
{
|
||
string[] codes = null;
|
||
//string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
////内部会员信息数据库链接
|
||
//OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
// _OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
//授权码验证数据库链接
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
errMsg = "{\"error\": 201 ,\"msg\": \"记录失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
codes = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codes == null)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(code);
|
||
errMsg = "{\"error\": 201 ,\"msg\": \"记录失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
return codes;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 获取微信会员电子码
|
||
/// <summary>
|
||
/// 获取会员信息
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetWeChatMembershipEcode(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "WeChatPhone", "Time_stamp" };
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
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":
|
||
EmptyCount++;
|
||
if (EmptyCount == 2)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
|
||
}
|
||
_Dictionary.Add(_RequiredData, "");
|
||
break;
|
||
default:
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
//查询会员信息
|
||
string _BaseUrl = ConfigurationManager.AppSettings["ApiUrl"];
|
||
_BaseUrl += "OpenApi/GetMemberECode";
|
||
StringBuilder sb = new StringBuilder();
|
||
sb.AppendFormat("?MembershipPhone={0}", _Dictionary["WeChatPhone"].ToString());
|
||
string parameters = sb.ToString();
|
||
string RequestUrl = _BaseUrl + parameters;
|
||
string format = "application/json;charset=UTF-8";
|
||
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
info["Membership_ECode"] = _JObject["Result_Data"]["Membership_ECode"];
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
return "{\"error\": 101 ,\"msg\": \"查询成功!无会员信息!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 方法 -> 对外接口[油品]
|
||
#region 方法 -> 加油站工班销售汇总报表
|
||
/// <summary>
|
||
/// 添加加油站工班销售汇总报表
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string addWorkclasssummary(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
// string[] _RequiredDatas = { "sign", "Time_stamp", "GasStationNum", "GasStationName", "WorkStarTime", "WorkEndTime",
|
||
//"WorkType","CashierWorkNum","CashierWorkName","GasVolume","TotalTradeNum","GasAmount","NoGasAmount","TotalAmount"};//验证参数是否必传
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "GASSTATIONNUM", "GASSTATIONNAME", "WORKSTARTIME", "WORKENDTIME",
|
||
"WORKTYPE","CASHIERWORKNUM","CASHIERWORKNAME","GASVOLUME","TOTALTRADENUM","GASAMOUNT","NOGASAMOUNT","TOTALAMOUNT"};//验证参数是否必传
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
#endregion
|
||
|
||
#region 添加加油站工班销售汇总报表
|
||
//根据授权码获取接口来源
|
||
string staffName = "油品接口";
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
staffName = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MobileServiceUrl"];
|
||
//StringBuilder sb = new StringBuilder();
|
||
//sb.AppendFormat("?action_type={0}", "addWorkclasssummary");
|
||
//sb.AppendFormat("&GasStationNum={0}", _Dictionary["GASSTATIONNUM"]);
|
||
//sb.AppendFormat("&GasStationName={0}", _Dictionary["GASSTATIONNAME"]);
|
||
//sb.AppendFormat("&WorkStarTime={0}", _Dictionary["WORKSTARTIME"]);
|
||
//sb.AppendFormat("&WorkEndTime={0}", _Dictionary["WORKENDTIME"]);
|
||
//sb.AppendFormat("&WorkType={0}", _Dictionary["WORKTYPE"]);
|
||
//sb.AppendFormat("&CashierWorkNum={0}", _Dictionary["CASHIERWORKNUM"]);
|
||
//sb.AppendFormat("&CashierWorkName={0}", _Dictionary["CASHIERWORKNAME"]);
|
||
//sb.AppendFormat("&GasVolume={0}", _Dictionary["GASVOLUME"]);
|
||
//sb.AppendFormat("&TotalTradeNum={0}", _Dictionary["TOTALTRADENUM"]);
|
||
//sb.AppendFormat("&GasAmount={0}", _Dictionary["GASAMOUNT"]);
|
||
//sb.AppendFormat("&NoGasAmount={0}", _Dictionary["NOGASAMOUNT"]);
|
||
//sb.AppendFormat("&TotalAmount={0}", _Dictionary["TOTALAMOUNT"]);
|
||
//sb.AppendFormat("&staffName={0}", staffName);
|
||
//string parameters = sb.ToString();
|
||
//string RequestUrl = _BaseUrl + parameters;
|
||
//string format = "application/json;charset=UTF-8";
|
||
//string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
IDictionary<string, string> parameters = new Dictionary<string, string>();
|
||
parameters.Add("action_type", "addWorkclasssummary");
|
||
parameters.Add("GasStationNum", _Dictionary["GASSTATIONNUM"]);
|
||
parameters.Add("GasStationName", HttpUtility.UrlEncode(_Dictionary["GASSTATIONNAME"]));
|
||
parameters.Add("WorkStarTime", HttpUtility.UrlEncode(_Dictionary["WORKSTARTIME"]));
|
||
parameters.Add("WorkEndTime", HttpUtility.UrlEncode(_Dictionary["WORKENDTIME"]));
|
||
parameters.Add("WorkType", HttpUtility.UrlEncode(_Dictionary["WORKTYPE"]));
|
||
parameters.Add("CashierWorkNum", _Dictionary["CASHIERWORKNUM"]);
|
||
parameters.Add("CashierWorkName", HttpUtility.UrlEncode(_Dictionary["CASHIERWORKNAME"]));
|
||
parameters.Add("GasVolume", _Dictionary["GASVOLUME"]);
|
||
parameters.Add("TotalTradeNum", _Dictionary["TOTALTRADENUM"]);
|
||
parameters.Add("GasAmount", _Dictionary["GASAMOUNT"]);
|
||
parameters.Add("NoGasAmount", _Dictionary["NOGASAMOUNT"]);
|
||
parameters.Add("TotalAmount", _Dictionary["TOTALAMOUNT"]);
|
||
parameters.Add("staffName", staffName);
|
||
parameters.Add("ServerpartCode", _ServerpartCode);
|
||
parameters.Add("ShopCode", _ShopCode);
|
||
|
||
string reString = HZQR.Common.HttpUtil.HttpUrlPost(_BaseUrl, parameters);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"新增成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"新增失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 加油站油品日结销售汇总
|
||
/// <summary>
|
||
/// 添加加油站油品日结销售汇总
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string addDailysellsummary(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
// string[] _RequiredDatas = { "sign", "Time_stamp","GasStationNum", "GasStationName", "DailySettleDate", "GasTypeAndName",
|
||
//"TotalSellGasVolume","TotalSellAmount","ActuallyInComeAmount","DiscountAmount","CashPayAmount",
|
||
// "WechatPayAmount","AlipayAmount","UnionPayAmount"};//验证参数是否必传
|
||
string[] _RequiredDatas = { "sign", "Time_stamp",
|
||
"GASSTATIONNUM", "GASSTATIONNAME", "DAILYSETTLEDATE", "GASTYPEANDNAME",
|
||
"TOTALSELLGASVOLUME","TOTALSELLAMOUNT","ACTUALLYINCOMEAMOUNT","DISCOUNTAMOUNT",
|
||
"CASHPAYAMOUNT","WECHATPAYAMOUNT","ALIPAYAMOUNT","UNIONPAYAMOUNT"};//验证参数是否必传
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
#endregion
|
||
|
||
#region 添加加油站工班销售汇总报表
|
||
//根据授权码获取接口来源
|
||
string staffName = "油品接口";
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
staffName = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MobileServiceUrl"];
|
||
//StringBuilder sb = new StringBuilder();
|
||
//sb.AppendFormat("?action_type={0}", "addDailysellsummary");
|
||
//sb.AppendFormat("&GasStationNum={0}", _Dictionary["GASSTATIONNUM"]);
|
||
//sb.AppendFormat("&GasStationName={0}", _Dictionary["GASSTATIONNAME"]);
|
||
//sb.AppendFormat("&DailySettleDate={0}", _Dictionary["DAILYSETTLEDATE"]);
|
||
//sb.AppendFormat("&GasTypeAndName={0}", _Dictionary["GASTYPEANDNAME"]);
|
||
//sb.AppendFormat("&TotalSellGasVolume={0}", _Dictionary["TOTALSELLGASVOLUME"]);
|
||
//sb.AppendFormat("&TotalSellAmount={0}", _Dictionary["TOTALSELLAMOUNT"]);
|
||
//sb.AppendFormat("&ActuallyInComeAmount={0}", _Dictionary["ACTUALLYINCOMEAMOUNT"]);
|
||
//sb.AppendFormat("&DiscountAmount={0}", _Dictionary["DISCOUNTAMOUNT"]);
|
||
//sb.AppendFormat("&CashPayAmount={0}", _Dictionary["CASHPAYAMOUNT"]);
|
||
//sb.AppendFormat("&WechatPayAmount={0}", _Dictionary["WECHATPAYAMOUNT"]);
|
||
//sb.AppendFormat("&AlipayAmount={0}", _Dictionary["ALIPAYAMOUNT"]);
|
||
//sb.AppendFormat("&UnionPayAmount={0}", _Dictionary["UNIONPAYAMOUNT"]);
|
||
//sb.AppendFormat("&staffName={0}", staffName);
|
||
//string parameters = sb.ToString();
|
||
//string RequestUrl = _BaseUrl + parameters;
|
||
//string format = "application/json;charset=UTF-8";
|
||
|
||
IDictionary<string, string> parameters = new Dictionary<string, string>();
|
||
parameters.Add("action_type", "addDailysellsummary");
|
||
parameters.Add("GasStationNum", _Dictionary["GASSTATIONNUM"]);
|
||
parameters.Add("GasStationName", HttpUtility.UrlEncode(_Dictionary["GASSTATIONNAME"]));
|
||
parameters.Add("DailySettleDate", HttpUtility.UrlEncode(_Dictionary["DAILYSETTLEDATE"]));
|
||
parameters.Add("GasTypeAndName", HttpUtility.UrlEncode(_Dictionary["GASTYPEANDNAME"]));
|
||
parameters.Add("TotalSellGasVolume", _Dictionary["TOTALSELLGASVOLUME"]);
|
||
parameters.Add("TotalSellAmount", _Dictionary["TOTALSELLAMOUNT"]);
|
||
parameters.Add("ActuallyInComeAmount", _Dictionary["ACTUALLYINCOMEAMOUNT"]);
|
||
parameters.Add("DiscountAmount", _Dictionary["DISCOUNTAMOUNT"]);
|
||
parameters.Add("CashPayAmount", _Dictionary["CASHPAYAMOUNT"]);
|
||
parameters.Add("WechatPayAmount", _Dictionary["WECHATPAYAMOUNT"]);
|
||
parameters.Add("AlipayAmount", _Dictionary["ALIPAYAMOUNT"]);
|
||
parameters.Add("UnionPayAmount", _Dictionary["UNIONPAYAMOUNT"]);
|
||
parameters.Add("staffName", staffName);
|
||
parameters.Add("ServerpartCode", _ServerpartCode);
|
||
parameters.Add("ShopCode", _ShopCode);
|
||
//string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
string reString = HZQR.Common.HttpUtil.HttpUrlPost(_BaseUrl, parameters);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"新增成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"新增失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 加油站油品销售明细记录
|
||
/// <summary>
|
||
/// 添加加油站油品销售明细记录
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string addSellDetail(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
//string[] _RequiredDatas = { "sign", "Time_stamp","GasStationNum", "GasStationName", "TradeTime", "BillNum",
|
||
//"CashierWorkNum","RefuelingGunNum","GasTypeAndName","TotalSellGasVolume","GasUnitPrice","TotalSellAmount",
|
||
//"ShopAmount","ActuallyinComeAmount","CashPayAmount","WechatpayAmount","AlipayAmount","UnionpayAmount"};//验证参数是否必传
|
||
string[] _RequiredDatas = { "sign", "Time_stamp","GASSTATIONNUM", "GASSTATIONNAME", "TRADETIME", "BILLNUM",
|
||
"CASHIERWORKNUM","CASHIERWORKNAME","REFUELINGGUNNUM","GASTYPEANDNAME","TOTALSELLGASVOLUME","GASUNITPRICE","TOTALSELLAMOUNT",
|
||
"SHOPAMOUNT","ACTUALLYINCOMEAMOUNT","CASHPAYAMOUNT","WECHATPAYAMOUNT","ALIPAYAMOUNT","UNIONPAYAMOUNT"};//验证参数是否必传
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
#endregion
|
||
|
||
#region 添加加油站工班销售汇总报表
|
||
//根据授权码获取接口来源
|
||
string staffName = "油品接口";
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
staffName = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MobileServiceUrl"];
|
||
//StringBuilder sb = new StringBuilder();
|
||
//sb.AppendFormat("?action_type={0}", "addSellDetail");
|
||
//sb.AppendFormat("&GasStationNum={0}", _Dictionary["GASSTATIONNUM"]);
|
||
//sb.AppendFormat("&GasStationName={0}", _Dictionary["GASSTATIONNAME"]);
|
||
//sb.AppendFormat("&TradeTime={0}", _Dictionary["TRADETIME"]);
|
||
//sb.AppendFormat("&BillNum={0}", _Dictionary["BILLNUM"]);
|
||
//sb.AppendFormat("&CashierWorkNum={0}", _Dictionary["CASHIERWORKNUM"]);
|
||
//sb.AppendFormat("&CashierWorkName={0}", _Dictionary["CASHIERWORKNAME"]);
|
||
//sb.AppendFormat("&GasTypeAndName={0}", _Dictionary["GASTYPEANDNAME"]);
|
||
//sb.AppendFormat("&GasUnitPrice={0}", _Dictionary["GASUNITPRICE"]);
|
||
//sb.AppendFormat("&TotalSellAmount={0}", _Dictionary["TOTALSELLAMOUNT"]);
|
||
//sb.AppendFormat("&ShopAmount={0}", _Dictionary["SHOPAMOUNT"]);
|
||
//sb.AppendFormat("&ActuallyinComeAmount={0}", _Dictionary["ACTUALLYINCOMEAMOUNT"]);
|
||
//sb.AppendFormat("&CashPayAmount={0}", _Dictionary["CASHPAYAMOUNT"]);
|
||
//sb.AppendFormat("&WechatpayAmount={0}", _Dictionary["WECHATPAYAMOUNT"]);
|
||
//sb.AppendFormat("&AlipayAmount={0}", _Dictionary["ALIPAYAMOUNT"]);
|
||
//sb.AppendFormat("&UnionpayAmount={0}", _Dictionary["UNIONPAYAMOUNT"]);
|
||
//sb.AppendFormat("&staffName={0}", staffName);
|
||
|
||
//string parameters = sb.ToString();
|
||
//string RequestUrl = _BaseUrl + parameters;
|
||
//string format = "application/json;charset=UTF-8";
|
||
//string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
IDictionary<string, string> parameters = new Dictionary<string, string>();
|
||
parameters.Add("action_type", "addSellDetail");
|
||
parameters.Add("GasStationNum", _Dictionary["GASSTATIONNUM"]);
|
||
parameters.Add("GasStationName", HttpUtility.UrlEncode(_Dictionary["GASSTATIONNAME"]));
|
||
parameters.Add("TradeTime", HttpUtility.UrlEncode(_Dictionary["TRADETIME"]));
|
||
parameters.Add("BillNum", _Dictionary["BILLNUM"]);
|
||
parameters.Add("CashierWorkNum", _Dictionary["CASHIERWORKNUM"]);
|
||
parameters.Add("CashierWorkName", HttpUtility.UrlEncode(_Dictionary["CASHIERWORKNAME"]));
|
||
parameters.Add("RefuelingGunNum", _Dictionary["REFUELINGGUNNUM"]);
|
||
parameters.Add("GasTypeAndName", HttpUtility.UrlEncode(_Dictionary["GASTYPEANDNAME"]));
|
||
parameters.Add("TotalSellGasVolume", _Dictionary["TOTALSELLGASVOLUME"]);
|
||
parameters.Add("GasUnitPrice", _Dictionary["GASUNITPRICE"]);
|
||
parameters.Add("TotalSellAmount", _Dictionary["TOTALSELLAMOUNT"]);
|
||
parameters.Add("ShopAmount", _Dictionary["SHOPAMOUNT"]);
|
||
parameters.Add("ActuallyinComeAmount", _Dictionary["ACTUALLYINCOMEAMOUNT"]);
|
||
parameters.Add("CashPayAmount", _Dictionary["CASHPAYAMOUNT"]);
|
||
parameters.Add("WechatPayAmount", _Dictionary["WECHATPAYAMOUNT"]);
|
||
parameters.Add("AlipayAmount", _Dictionary["ALIPAYAMOUNT"]);
|
||
parameters.Add("UnionPayAmount", _Dictionary["UNIONPAYAMOUNT"]);
|
||
parameters.Add("staffName", staffName);
|
||
parameters.Add("ServerpartCode", _ServerpartCode);
|
||
parameters.Add("ShopCode", _ShopCode);
|
||
|
||
string reString = HZQR.Common.HttpUtil.HttpUrlPost(_BaseUrl, parameters);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"新增成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"新增失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 加油站液位仪数据
|
||
/// <summary>
|
||
/// 添加加油站液位仪数据
|
||
/// </summary>
|
||
/// <param name="jsonString"></param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string addLiquidlevelmeter(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
string result = "", MD5Key = "";
|
||
string[] codes = CheckCodes(code, jsonString, ref result, ref MD5Key);//校验授权码
|
||
if (codes == null)
|
||
{
|
||
return result;
|
||
}
|
||
|
||
#region 必填项验证
|
||
//string[] _RequiredDatas = { "sign", "Time_stamp", "GasStationNum", "GasStationName", "OilTankNum", "GasTypeAndName","NowVolOfOil",
|
||
//"VolOfTemperature20","EmptySpaceOfOilTank","OilHeight","WaterHeight","VolOfWater","TemperatutrOfOil"};//验证参数是否必传
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "GASSTATIONNUM", "GASSTATIONNAME",
|
||
"OILTANKNUM", "GASTYPEANDNAME","NOWVOLOFOIL","VOLOFTEMPERATURE20","EMPTYSPACEOFOILTANK",
|
||
"OILHEIGHT","WATERHEIGHT","VOLOFWATER","TEMPERATUTROFOIL"};//验证参数是否必传
|
||
//string[] _RequiredDatas = { "sign", "Time_stamp", "GASSTATIONNUM", "GASSTATIONNAME",
|
||
// "OILTANKNUM","GASTYPEANDNAME","NOWVOLOFOIL","VOLOFTEMPERATURE20","EMPTYSPACEOFOILTANK",
|
||
// "OILHEIGHT","WATERHEIGHT","VOLOFWATER","TEMPERATUTROFOIL"};//验证参数是否必传
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
|
||
_RequiredData + "\",\"rows\":[{}]}";
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"记录失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"记录失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
#region 参数定义
|
||
string _ServerpartCode = codes[0], _ShopCode = codes[1],
|
||
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
#endregion
|
||
|
||
#region 添加加油站工班销售汇总报表
|
||
//根据授权码获取接口来源
|
||
string staffName = "油品接口";
|
||
//获取服务区门店信息
|
||
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
|
||
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
|
||
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
||
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
|
||
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
||
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
|
||
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
|
||
if (_SERVERPARTSHOP.Rows.Count > 0)
|
||
{
|
||
staffName = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
|
||
}
|
||
|
||
string _BaseUrl = ConfigurationManager.AppSettings["MobileServiceUrl"];
|
||
//StringBuilder sb = new StringBuilder();
|
||
//sb.AppendFormat("?action_type={0}", "addSellDetail");
|
||
//sb.AppendFormat("&GasStationNum={0}", _Dictionary["GASSTATIONNUM"]);
|
||
//sb.AppendFormat("&GasStationName={0}", _Dictionary["GASSTATIONNAME"]);
|
||
//sb.AppendFormat("&OilTankNum={0}", _Dictionary["OILTANKNUM"]);
|
||
//sb.AppendFormat("&GasTypeAndName={0}", _Dictionary["GASTYPEANDNAME"]);
|
||
//sb.AppendFormat("&NowVolOfOil={0}", _Dictionary["NOWVOLOFOIL"]);
|
||
//sb.AppendFormat("&VolOfTemperature20={0}", _Dictionary["VOLOFTEMPERATURE20"]);
|
||
//sb.AppendFormat("&EmptySpaceOfOilTank={0}", _Dictionary["EMPTYSPACEOFOILTANK"]);
|
||
//sb.AppendFormat("&OilHeight={0}", _Dictionary["OILHEIGHT"]);
|
||
//sb.AppendFormat("&WaterHeight={0}", _Dictionary["WATERHEIGHT"]);
|
||
//sb.AppendFormat("&VolOfWater={0}", _Dictionary["VOLOFWATER"]);
|
||
//sb.AppendFormat("&TemperatutrOfOil={0}", _Dictionary["TEMPERATUTROFOIL"]);
|
||
//sb.AppendFormat("&staffName={0}", staffName);
|
||
//string parameters = sb.ToString();
|
||
//string RequestUrl = _BaseUrl + parameters;
|
||
//string format = "application/json;charset=UTF-8";
|
||
//string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
|
||
|
||
IDictionary<string, string> parameters = new Dictionary<string, string>();
|
||
parameters.Add("action_type", "addLiquidlevelmeter");
|
||
parameters.Add("GasStationNum", _Dictionary["GASSTATIONNUM"]);
|
||
parameters.Add("GasStationName", HttpUtility.UrlEncode(_Dictionary["GASSTATIONNAME"]));
|
||
parameters.Add("OilTankNum", _Dictionary["OILTANKNUM"]);
|
||
parameters.Add("GasTypeAndName", HttpUtility.UrlEncode(_Dictionary["GASTYPEANDNAME"]));
|
||
parameters.Add("NowVolOfOil", _Dictionary["NOWVOLOFOIL"]);
|
||
parameters.Add("VolOfTemperature20", _Dictionary["VOLOFTEMPERATURE20"]);
|
||
parameters.Add("EmptySpaceOfOilTank", _Dictionary["EMPTYSPACEOFOILTANK"]);
|
||
parameters.Add("OilHeight", _Dictionary["OILHEIGHT"]);
|
||
parameters.Add("WaterHeight", _Dictionary["WATERHEIGHT"]);
|
||
parameters.Add("VolOfWater", _Dictionary["VOLOFWATER"]);
|
||
parameters.Add("TemperatutrOfOil", _Dictionary["TEMPERATUTROFOIL"]);
|
||
parameters.Add("staffName", staffName);
|
||
parameters.Add("ServerpartCode", _ServerpartCode);
|
||
parameters.Add("ShopCode", _ShopCode);
|
||
|
||
string reString = HZQR.Common.HttpUtil.HttpUrlPost(_BaseUrl, parameters);
|
||
JObject _JObject = JObject.Parse(reString);
|
||
|
||
JObject info = new JObject();
|
||
switch (_JObject["Result_Code"].ToString())
|
||
{
|
||
case "100":
|
||
return "{\"error\": 100 ,\"msg\": \"新增成功!\",\"rows\":[" + info + "]}";
|
||
default:
|
||
string _Result_Code = _JObject["Result_Code"].ToString();
|
||
return "{\"error\": " + _Result_Code + " ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"新增失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
#endregion
|
||
|
||
#region 方法 -> 甬台温货车之家相关接口
|
||
|
||
#region 方法 -> 获取交易订单数据
|
||
/// <summary>
|
||
/// 获取交易订单数据
|
||
/// </summary>
|
||
/// <param name="code">授权码</param>
|
||
/// <param name="jsonString">入参字符串</param>
|
||
/// <returns></returns>
|
||
[WebMethod]
|
||
public string GetSellDataList(string code, string jsonString)
|
||
{
|
||
try
|
||
{
|
||
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
|
||
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
||
OracleHelper _OracleHelperSellData = new OracleHelper(_OracleConnStrSellData.Split(',')[0],
|
||
_OracleConnStrSellData.Split(',')[1], _OracleConnStrSellData.Split(',')[2], _OracleConnStrSellData.Split(',')[3]);
|
||
SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
|
||
|
||
if (string.IsNullOrEmpty(code) || code.Length < 10)
|
||
{
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
|
||
string[] codeArr = OperationDataHelper<string>.IsCorrectCode(_OracleHelperEx, MD5Key);
|
||
if (codeArr == null)
|
||
{
|
||
SDK.LogHelper.WriteSendLog(code);
|
||
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
|
||
}
|
||
|
||
Dictionary<string, string> _Dictionary = new Dictionary<string, string>();
|
||
|
||
#region 必填项验证
|
||
string[] _RequiredDatas = { "sign", "Time_stamp", "TicketCode", "StartDate", "EndDate" };
|
||
if (!string.IsNullOrEmpty(jsonString))
|
||
{
|
||
JObject _Json = JObject.Parse(jsonString);
|
||
if (_Json.Property("TicketCode") == null &&
|
||
(_Json.Property("StartDate") == null ||
|
||
_Json.Property("EndDate") == null))
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:TicketCode或StartDate、EndDate\",\"rows\":[{}]}";
|
||
}
|
||
|
||
foreach (string _RequiredData in _RequiredDatas)
|
||
{
|
||
if (_Json.Property(_RequiredData) == null)
|
||
{
|
||
continue;
|
||
}
|
||
else if (_RequiredData.ToLower() != "sign")
|
||
{
|
||
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
|
||
}
|
||
}
|
||
string sign = SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key);
|
||
if (_Json["sign"].ToString() != sign)
|
||
{
|
||
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
|
||
}
|
||
//非必填项
|
||
_Dictionary.Clear();
|
||
foreach (var item in _Json)
|
||
{
|
||
_Dictionary.Add(item.Key, _Json[item.Key].ToString());
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
|
||
}
|
||
#endregion
|
||
|
||
string WhereSQL = "";
|
||
|
||
WhereSQL += " AND SERVERPARTCODE = '" + code.Substring(0, 6) +
|
||
"' AND SHOPCODE = '" + code.Substring(6) + "'";
|
||
|
||
if (_Dictionary.ContainsKey("TicketCode"))
|
||
{
|
||
WhereSQL += " AND HOFTORDERCODE = '" + _Dictionary["TicketCode"] + "'";
|
||
}
|
||
else
|
||
{
|
||
WhereSQL += " AND HOFTORDERCODE IS NOT NULL";
|
||
if (_Dictionary.ContainsKey("StartDate"))
|
||
{
|
||
WhereSQL += " AND SELLMASTER_DATE >= " + _Dictionary["StartDate"] + "000000";
|
||
}
|
||
|
||
if (_Dictionary.ContainsKey("EndDate"))
|
||
{
|
||
WhereSQL += " AND SELLMASTER_DATE < " + (_Dictionary["EndDate"].TryParseToInt() + 1) + "000000";
|
||
}
|
||
}
|
||
|
||
DataTable dtYSSELLMASTER = _OracleHelperSellData.ExcuteSqlGetDataSet(
|
||
"SELECT * FROM HIGHWAY_SELLDATA.T_YSSELLMASTER WHERE SELLMASTER_STATE NOT IN (0)" + WhereSQL).Tables[0];
|
||
if (dtYSSELLMASTER.Rows.Count > 0)
|
||
{
|
||
List<Model.SellData.YTWSellDataModel> YSSELLMASTERList = new List<Model.SellData.YTWSellDataModel>();
|
||
|
||
foreach (DataRow drYSSELLMASTER in dtYSSELLMASTER.Rows)
|
||
{
|
||
Model.SellData.YTWSellDataModel yssellmasterModel = new Model.SellData.YTWSellDataModel();
|
||
|
||
yssellmasterModel.ServerpartName = drYSSELLMASTER["SERVERPART_NAME"].ToString(); //服务区名称
|
||
yssellmasterModel.ServerpartShopName = drYSSELLMASTER["SHOPNAME"].ToString(); //门店名称
|
||
yssellmasterModel.TicketCode = drYSSELLMASTER["HOFTORDERCODE"].ToString(); //订单编号
|
||
yssellmasterModel.SellCount = drYSSELLMASTER["SELLMASTER_COUNT"].TryParseToDouble().Round(2); //销售数量
|
||
yssellmasterModel.SellAmount = drYSSELLMASTER["SELLMASTER_AMOUNT"].TryParseToDouble().Round(2); //订单金额
|
||
yssellmasterModel.FactAmount = drYSSELLMASTER["PAY_AMOUNT"].TryParseToDouble().Round(2); //实付金额
|
||
yssellmasterModel.SellDate = HCC.Common.TranslateDateTime(drYSSELLMASTER["SELLMASTER_DATE"].ToString()); //销售时间
|
||
|
||
YSSELLMASTERList.Add(yssellmasterModel);
|
||
}
|
||
|
||
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":" +
|
||
JsonConvert.SerializeObject(YSSELLMASTERList) + "}";
|
||
}
|
||
else
|
||
{
|
||
return "{\"error\": 101 ,\"msg\": \"查询无数据!\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
SDK.LogHelper.WriteSendLog(ex.Message);
|
||
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
}
|
||
}
|