using System;
using System.Collections.Generic;
using System.Threading;
using System.Web.Http;
using System.Web.Http.Description;
using ESCG = CommercialApi.GeneralMethod;
using ESCM = CommercialApi.Model;
using Newtonsoft.Json;
using HZQR.Common;
namespace CommercialApi.Controllers
{
///
/// 分析说明表相关接口
/// 2023/3/30 23:37:32自动生成
///
public class AnalysisController : BaseController
{
#region 获取分析说明表列表
///
/// 获取分析说明表列表
///
/// 查询条件对象
///
[Route("Analysis/GetANALYSISINSList")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetANALYSISINSList(ESCM.SearchModel searchModel)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(searchModel);
try
{
int TotalCount = 0;
//获取分析说明表列表
List ANALYSISINSList = ESCG.ANALYSISINSHelper.GetANALYSISINSList(
transaction, ref TotalCount, searchModel);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
ANALYSISINSList, 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") + "_GetANALYSISINSList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取分析说明表明细
///
/// 获取分析说明表明细
///
/// 分析说明表内码
///
[Route("Analysis/GetANALYSISINSDetail")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetANALYSISINSDetail(int ANALYSISINSId)
{
string Parameter = "入参信息:分析说明表内码【" + ANALYSISINSId + "】";
try
{
//获取分析说明表明细
ESCM.ANALYSISINSModel analysisinsModel = ESCG.ANALYSISINSHelper.GetANALYSISINSDetail(transaction, ANALYSISINSId);
return Ok(Models.JsonMsg.Success(analysisinsModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetANALYSISINSDetail");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 同步分析说明表
///
/// 同步分析说明表
///
///
///
[Route("Analysis/SynchroANALYSISINS")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult SynchroANALYSISINS(ESCM.ANALYSISINSModel analysisinsModel)
{
try
{
//新增分析说明表
bool SynchroFlag = ESCG.ANALYSISINSHelper.SynchroANALYSISINS(transaction, analysisinsModel);
if (SynchroFlag)
{
return Ok(ESCG.Common.ReturnJson(100, "同步成功", analysisinsModel));
}
else
{
return Ok(ESCG.Common.ReturnJson(200, "更新失败,数据不存在!"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "同步失败!失败原因:" + ex.Message,
DateTime.Now.ToString("yyyyMMdd") + "_SynchroANALYSISINS");
return Ok(ESCG.Common.ReturnJson(999, "同步失败" + ex.Message));
}
}
#endregion
#region 删除分析说明表
/////
///// 删除分析说明表
/////
///// 分析说明表内码
/////
//[Route("Analysis/DeleteANALYSISINS")]
//[AcceptVerbs("GET", "POST")]
//[ResponseType(typeof(Models.JsonMsg))]
//public IHttpActionResult DeleteANALYSISINS(int ANALYSISINSId)
//{
// string Parameter = "入参信息:分析说明表内码【" + ANALYSISINSId + "】";
// try
// {
// //删除分析说明表
// bool DeleteFlag = ESCG.ANALYSISINSHelper.DeleteANALYSISINS(transaction, ANALYSISINSId);
// if (DeleteFlag)
// {
// 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") + "_DeleteANALYSISINS");
// return Ok(ESCG.Common.ReturnJson(999, "删除失败" + ex.Message));
// }
//}
#endregion
#region 测试接口
///
/// 测试接口
///
/// 延迟时间,默认10s
///
//[Route("Analysis/OverTimeTest")]
//[AcceptVerbs("POST")]
//[ResponseType(typeof(string))]
//public IHttpActionResult OverTimeTest(int OverTime = 10)
//{
// try
// {
// //延迟10s返回结果
// Thread.Sleep(OverTime * 1000);
// return Ok(ESCG.Common.ReturnJson(100, "测试成功"));
// }
// catch (Exception ex)
// {
// //事务回滚
// transaction.Rollback();
// LogUtil.WriteLog(null, "测试失败!失败原因:" + ex.Message,
// DateTime.Now.ToString("yyyyMMdd") + "_OverTimeTest");
// return Ok(ESCG.Common.ReturnJson(999, "测试失败" + ex.Message));
// }
//}
///
/// 获取门店营收数据
///
///
/// 返参:
/// name:门店名称
/// value:营收
/// data:日期
/// key:服务区名称
///
/// 门店名称
/// 开始日期
/// 结束日期
[Route("Analysis/GetShopRevenue")]
[AcceptVerbs("GET", "POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetShopRevenue(string ShopName, string StartDate, string EndDate)
{
try
{
List AnalysisList = ESCG.ANALYSISINSHelper.GetShopRevenue(
transaction, ShopName, StartDate, EndDate);
Models.JsonList jsonList = Models.JsonList.Success(AnalysisList);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message,
DateTime.Now.ToString("yyyyMMdd") + "_GetShopRevenue");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
///
/// 获取门店商家信息
///
///
/// 返参:
/// name:门店名称
/// value:商家名称
/// key:服务区名称
///
/// 门店名称
[Route("Analysis/GetShopMerchant")]
[AcceptVerbs("GET", "POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetShopMerchant(string ShopName)
{
try
{
List AnalysisList = ESCG.ANALYSISINSHelper.GetShopMerchant(transaction, ShopName);
Models.JsonList jsonList = Models.JsonList.Success(AnalysisList);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message,
DateTime.Now.ToString("yyyyMMdd") + "_GetShopMerchant");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 生成时段客单交易分析数据
///
/// 生成时段客单交易分析数据
///
///
[Route("Analysis/SolidTransactionAnalysis")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult SolidTransactionAnalysis(ESCM.AnalysisParamModel analysisParamModel)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(analysisParamModel);
try
{
if (analysisParamModel.AmountRangeList == null || analysisParamModel.AmountRangeList.Length == 0)
{
return Ok(ESCG.Common.ReturnJson(200, "生成失败!请传入正确的参数"));
}
ESCG.TransactionHelper.SolidTransactionAnalysis(transaction, analysisParamModel.StatisticsMonth,
analysisParamModel.ServerpartShopId, analysisParamModel.AmountRangeList);
return Ok(ESCG.Common.ReturnJson(100, "生成成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "生成失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_SolidTransactionAnalysis");
return Ok(ESCG.Common.ReturnJson(999, "生成失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取时段客单交易分析数据
///
/// 获取时段客单交易分析数据
///
///
///
///
///
/// 涉及到的数据表:
/// 月度时段交易分析表【PLATFORM_DASHBOARD.T_TRANSACTIONANALYSIS】
///
///
///
///
///
/// 返参:
/// name:
/// value:
/// key:
///
[Route("Analysis/GetTransactionAnalysis")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetTransactionAnalysis(ESCM.TAPModel tapModel)
{
try
{
List AnalysisList = ESCG.TransactionHelper.GetTransactionAnalysis(transaction, tapModel);
Models.JsonList jsonList = Models.JsonList.Success(AnalysisList);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
string Parameter = "入参信息:服务区内码【" + tapModel.ServerpartId + "】,门店内码【" + tapModel.ServerpartShopId + "】," +
"开始月份【" + tapModel.StartMonth + "】,结束月份【" + tapModel.EndMonth + "】";
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetTransactionAnalysis");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 解析语义内容中的关键字信息
///
/// 解析语义内容中的关键字信息
///
///
///
/// 语义内容
/// 对话框编码
/// 省份编码
///
[Route("Analysis/TranslateSentence")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult TranslateSentence(string Sentence, string DialogCode = "", string ProvinceCode = "340000")
{
try
{
ESCM.RecognizerModel recognizerModel = ESCG.RecognizeHelper.TranslateSentence(
transaction, Sentence, DialogCode, ProvinceCode);
return Ok(Models.JsonMsg.Success(recognizerModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
string Parameter = "入参信息:语义内容【" + Sentence + "】";
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_TranslateSentence");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取地图参数配置
///
/// 获取地图参数配置
///
/// 省份编码
///
[Route("Analysis/GetMapConfigByProvinceCode")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetMapConfigByProvinceCode(string ProvinceCode)
{
try
{
ESCM.MapModel mapModel = ESCG.RecognizeHelper.GetMapConfigByProvinceCode(
transaction, ProvinceCode);
return Ok(Models.JsonMsg.Success(mapModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
string Parameter = "入参信息:省份编码【" + ProvinceCode + "】";
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetMapConfigByProvinceCode");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
}
}