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 } }