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