using System;
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Http.Description;
using ESCG = CommercialApi.GeneralMethod;
using ESCM = CommercialApi.Model;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using HZQR.Common;
using System.Diagnostics;
namespace CommercialApi.Controllers
{
///
/// 服务区门店商家数量相关接口
///
public class BaseInfoController : BaseController
{
#region 获取服务区门店商家数量列表(查询条件对象)
///
/// 获取服务区门店商家数量列表(查询条件对象)
///
/// 查询条件对象
///
[Route("BaseInfo/GetShopCountList")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetShopCountList(ESCM.SearchModel searchModel)
{
string Parameter = "入参信息:查询方式【" + searchModel.QueryType + "】查询页码【" + searchModel.PageIndex + "】," +
"每页显示数量【" + searchModel.PageSize + "】,排序条件【" + searchModel.SortStr + "】";
try
{
int TotalCount = 0;
//获取服务区门店商家数量列表
List SHOPCOUNTList = ESCG.SHOPCOUNTHelper.GetSHOPCOUNTList(
transaction, ref TotalCount, searchModel);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
SHOPCOUNTList, TotalCount, searchModel.PageIndex, searchModel.PageSize);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetShopCountList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取服务区门店商家数量列表(根据省份、服务区、区域、统计日期查询)
///
/// 获取服务区门店商家数量列表(根据省份、服务区、区域、统计日期查询)
///
/// 推送省份
/// 统计日期
/// 服务区内码
/// 区域内码
///
[Route("BaseInfo/GetShopCountList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetShopCountList(string pushProvinceCode, string Statistics_Date,
int? Serverpart_ID = null, int? SPRegionType_ID = null)
{
string Parameter = "入参信息:推送省份【" + pushProvinceCode + "】,统计日期【" + Statistics_Date + "】," +
"服务区内码【" + Serverpart_ID + "】,区域内码【" + SPRegionType_ID + "】";
try
{
string TransmitUrl = "TransmitUrl";
if (CommonHelper.IsFromNewServer(pushProvinceCode, ref TransmitUrl))
{
string result = ESCG.HttpUtil.HttpUrlGet(TransmitUrl +
"BaseInfo/GetShopCountList?pushProvinceCode=" + pushProvinceCode + "&Statistics_Date=" +
Statistics_Date + "&Serverpart_ID=" + Serverpart_ID + "&SPRegionType_ID=" + SPRegionType_ID);
try
{
JObject keyValuePairs = JObject.Parse(result);
if (keyValuePairs["Result_Code"].ToString() == "100")
{
//获取服务区门店信息
Models.JsonList jsonList = JsonConvert.DeserializeObject<
Models.JsonList>(keyValuePairs["Result_Data"].ToString());
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
else
{
return Ok(ESCG.Common.ReturnJson(keyValuePairs["Result_Code"].TryParseToInt(),
keyValuePairs["Result_Desc"].ToString()));
}
}
catch (Exception _Exception)
{
LogUtil.WriteLog(null, "查询失败!" + Parameter + ",失败原因:" + _Exception.Message,
DateTime.Now.ToString("yyyyMMdd") + "_GetShopCountList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + _Exception.Message));
}
}
else
{
int TotalCount = 0;
//获取服务区门店商家数量列表
List SHOPCOUNTList = ESCG.SHOPCOUNTHelper.GetSHOPCOUNTList(transaction,
ref TotalCount, pushProvinceCode, Statistics_Date, Serverpart_ID.TryParseToString(), SPRegionType_ID);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
SHOPCOUNTList, TotalCount, 1, TotalCount);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetShopCountList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 记录服务区门店商家数量
///
/// 记录服务区门店商家数量
///
/// 服务区内码
/// 统计日期
///
[Route("BaseInfo/RecordShopCount")]
[AcceptVerbs("GET", "POST")]
[ResponseType(typeof(string))]
public IHttpActionResult RecordShopCount(int Serverpart_ID, string Statistics_Date)
{
string Parameter = "入参信息:服务区内码【" + Serverpart_ID + "】,统计日期【" + Statistics_Date + "】";
try
{
//获取服务区门店商家数量明细
if (ESCG.SHOPCOUNTHelper.RecordShopCount(transaction, Serverpart_ID, Statistics_Date))
{
return Ok(ESCG.Common.ReturnJson(100, "记录成功"));
}
else
{
return Ok(ESCG.Common.ReturnJson(200, "记录失败"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_RecordShopCount");
return Ok(ESCG.Common.ReturnJson(999, "记录失败" + ex.Message));
}
}
#endregion
#region 记录全省服务区门店商家数量
///
/// 记录全省服务区门店商家数量
///
/// 推送省份
/// 统计日期
///
[Route("BaseInfo/RecordProvinceShopCount")]
[AcceptVerbs("GET", "POST")]
[ResponseType(typeof(string))]
public IHttpActionResult RecordProvinceShopCount(int ProvinceID, string Statistics_Date)
{
string Parameter = "入参信息:省份编码【" + ProvinceID + "】,统计日期【" + Statistics_Date + "】";
try
{
//获取服务区门店商家数量明细
ESCG.SHOPCOUNTHelper.RecordProvinceShopCount(transaction, ProvinceID, Statistics_Date);
return Ok(ESCG.Common.ReturnJson(100, "记录成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_RecordProvinceShopCount");
return Ok(ESCG.Common.ReturnJson(999, "记录失败" + ex.Message));
}
}
#endregion
#region 获取经营业态列表(查询条件对象)
///
/// 获取经营业态列表(查询条件对象)
///
/// 查询条件对象
///
[Route("BaseInfo/GetBusinessTradeList")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetBusinessTradeList(ESCM.SearchModel searchModel)
{
string Parameter = "入参信息:查询方式【" + searchModel.QueryType + "】查询页码【" + searchModel.PageIndex + "】," +
"每页显示数量【" + searchModel.PageSize + "】,排序条件【" + searchModel.SortStr + "】";
try
{
int TotalCount = 0;
//获取自定义统计归口表列表
List AUTOSTATISTICSList = ESCG.BUSINESSTRADEHelper.GetBUSINESSTRADEList(
transaction, ref TotalCount, searchModel);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
AUTOSTATISTICSList, TotalCount, searchModel.PageIndex, searchModel.PageSize);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetBusinessTradeList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取经营业态列表(根据经营品牌子父级内码或者名称查询)
///
/// 获取经营业态列表(根据经营品牌子父级内码或者名称查询)
///
/// 省份编码
/// 经营品牌内码
/// 经营品牌名称
/// 经营品牌父级内码
/// 经营品牌父级名称
///
[Route("BaseInfo/GetBusinessTradeList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetBusinessTradeList(string pushProvinceCode, int? BusinessTradeId = null,
string BusinessTradeName = "", int? BusinessTradePId = null, string BusinessTradePName = "")
{
string Parameter = "入参信息:经营品牌内码【" + BusinessTradeId + "】,经营品牌名称【" + BusinessTradeName + "】," +
"经营品牌父级内码【" + BusinessTradePId + "】,经营品牌父级名称【" + BusinessTradePName + "】";
try
{
int TotalCount = 0;
//获取自定义统计归口表列表
List AUTOSTATISTICSList = ESCG.BUSINESSTRADEHelper.GetBUSINESSTRADEList(transaction,
ref TotalCount, pushProvinceCode, BusinessTradeId, BusinessTradeName, BusinessTradePId, BusinessTradePName);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
AUTOSTATISTICSList, TotalCount, 1, TotalCount);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetBusinessTradeList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 服务区经营品牌分析
///
/// 服务区经营品牌分析
///
/// 省份编码
/// 服务区内码
/// 统计日期
/// 经营业态内码,多个用,隔开
/// 品牌类型,多个用,隔开
/// 是否显示所有门店
///
[Route("BaseInfo/GetBrandAnalysis")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetBrandAnalysis(string ProvinceCode, string Serverpart_ID,
string Statistics_Date = "", string BusinessTradeIds = "", string BrandType = "", bool ShowAllShop = true)
{
string Parameter = "入参信息:省份编码【" + ProvinceCode + "】,服务区内码【" + Serverpart_ID + "】," +
"统计日期【" + Statistics_Date + "】,经营业态内码【" + BusinessTradeIds + "】," +
"品牌类型【" + BrandType + "】,是否显示所有门店【" + ShowAllShop + "】";
try
{
//获取自定义统计归口表列表
ESCM.BrandAnalysisModel brandAnalysisModel = ESCG.BrandAnalysisHelper.GetBrandAnalysis(transaction,
ProvinceCode, Serverpart_ID, Statistics_Date, BusinessTradeIds, BrandType, ShowAllShop);
if (brandAnalysisModel == null)
{
return Ok(ESCG.Common.ReturnJson(101, "查询失败,无数据返回!"));
}
return Ok(Models.JsonMsg.Success(brandAnalysisModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetBrandAnalysis");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取片区列表
///
/// 获取片区列表
///
/// 省份编码
///
[Route("BaseInfo/GetSPRegionList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetSPRegionList(string Province_Code)
{
string Parameter = "入参信息:省份编码【" + Province_Code + "】";
try
{
//获取自定义统计归口表列表
List SPRegionList = ESCG.ServerpartHelper.GetSPRegionList(transaction, Province_Code);
Models.JsonList jsonList = Models.JsonList.Success(
SPRegionList, SPRegionList.Count, 1, SPRegionList.Count);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetSPRegionList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取服务区列表
///
/// 获取服务区列表
///
/// 省份编码
/// 片区内码
/// 服务区名称,模糊查询
/// 经度
/// 纬度
/// 当前服务区内码
/// 经营业态
/// 经营品牌
/// 经营商户
/// 门店名称
/// 项目名称
/// 预警类型
/// 服务区类型
/// 经营模式
/// 是否显示天气
/// 显示设施服务信息
/// 是否有点餐门店
/// 是否有司机之家
/// 模糊查询字段
/// 模糊查询内容
/// 查询页码数
/// 每页显示数量
/// 是否排除资产图片
///
[Route("BaseInfo/GetServerpartList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetServerpartList(string Province_Code, string SPRegionType_ID = "", string Serverpart_Name = "",
string longitude = "", string latitude = "", int? Serverpart_ID = null, string SearchKeyName = "", string SearchKeyValue = "",
string BusinessTrade = "", string BusinessBrand = "", string MerchantName = "", string ShopName = "", string ProjectName = "",
string ServerpartType = "", string BusinessType = "", string WarningType = "", bool ShowWeather = false, bool ShowService = false,
bool? HasScanOrder = null, bool? HasDriverHome = null, bool excludeProperty = true, int? PageIndex = null, int? PageSize = null)
{
try
{
List SearchResultList = new List();
//获取服务区列表
List ServerpartList = ESCG.ServerpartHelper.GetServerpartList(transaction,
Province_Code, SPRegionType_ID, Serverpart_Name, longitude, latitude, Serverpart_ID, BusinessTrade,
BusinessBrand, MerchantName, ShopName, ProjectName, WarningType, ServerpartType, BusinessType, "",
SearchKeyName, SearchKeyValue, ShowWeather, ShowService, HasScanOrder, HasDriverHome,
ref SearchResultList, PageIndex, PageSize, excludeProperty);
Models.JsonList> jsonList = Models.JsonList<
ESCM.ServerpartModel, List>.Success(
ServerpartList, SearchResultList, ServerpartList.Count, 1, ServerpartList.Count);
return Ok(Models.JsonMsg>>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
string Parameter = "入参信息:省份编码【" + Province_Code + "】,片区内码【" + SPRegionType_ID + "】," +
"服务区名称【" + Serverpart_Name + "】,经度【" + longitude + "】,纬度【" + latitude + "】," +
"当前服务区内码【" + Serverpart_ID + "】,模糊查询字段【" + SearchKeyName + "】,内容【" + SearchKeyValue + "】," +
"经营业态【" + BusinessTrade + "】,经营品牌【" + BusinessBrand + "】,门店名称【" + ShopName + "】," +
"经营商户【" + MerchantName + "】,项目名称【" + ProjectName + "】,预警类型【" + WarningType + "】," +
"服务区类型【" + ServerpartType + "】,经营模式【" + BusinessType + "】,显示天气【" + ShowWeather + "】";
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetServerpartList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取服务区基本信息
///
/// 获取服务区基本信息
///
/// 服务区内码
/// 经度
/// 纬度
/// 是否排除资产图片
///
[Route("BaseInfo/GetServerpartInfo")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetServerpartInfo(int ServerpartId, string longitude = "",
string latitude = "", bool excludeProperty = true)
{
string Parameter = "入参信息:服务区内码【" + ServerpartId + "】," +
"经度【" + longitude + "】,纬度【" + latitude + "】";
try
{
//获取自定义统计归口表列表
ESCM.ServerpartModel serverpartModel = ESCG.ServerpartHelper.GetServerpartInfo(
transaction, ServerpartId, longitude, latitude, excludeProperty);
if (serverpartModel == null)
{
return Ok(ESCG.Common.ReturnJson(101, "查询失败,无数据返回!"));
}
return Ok(Models.JsonMsg.Success(serverpartModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetServerpartInfo");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 绑定区域服务区基本信息树
///
/// 绑定区域服务区基本信息树
///
/// 省份编码 340000
/// 区域内码
/// 服务区内码集合
///
[Route("BaseInfo/GetServerInfoTree")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult GetServerInfoTree(int? ProvinceCode, string SPRegionTypeId = "", string ServerpartIds = "")
{
ProvinceCode = GetIntHeader("ProvinceCode", ProvinceCode);
string ServerpartCodes = GetStringHeader("ServerpartCodes", "");
string Parameter = "入参信息:省份编码【" + ProvinceCode + "】,区域内码【" + SPRegionTypeId + "】," +
"服务区内码集合【" + ServerpartIds + "】,服务区编码集合【" + ServerpartCodes + "】";
try
{
if (ProvinceCode == null)
{
return Ok(ESCG.Common.ReturnJson(200, "查询失败,请传入正确的省份编码!"));
}
//服务区基础信息
var serverpartList = ESCG.ServerpartHelper.GetServerInfoTree(transaction, ProvinceCode,
SPRegionTypeId, ServerpartIds, ServerpartCodes);
//转化json形式
var jsonList = Models.JsonList>.Success(serverpartList);
return Ok(Models.JsonMsg>>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetServerpartTree");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
}
}