using MyCode.Project.Domain.Repositories; using MyCode.Project.Infrastructure.Cache; using MyCode.Project.Repositories.Common; namespace MyCode.Project.Services.Implementation { public class ApiLogService : ServiceBase, IApiLogService { #region 初始化 private readonly IRepository _repository; private readonly WMSRepository _lxmRepository; private IMyCodeCacheService _myCodeCacheService; public ApiLogService(IRepository repository , WMSRepository lxmRepository , IMyCodeCacheService myCodeCacheService ) { _repository = repository; _lxmRepository = lxmRepository; _myCodeCacheService = myCodeCacheService; } #endregion #region ReadApiLog(解析API访问记录) /// /// 解析API访问记录 /// public void ReadApiLog() { //var cache = new SystemCache(); //var configList = cache.Get>("ReadApiLog"); //if (configList == null || configList.Count == 0) //{ // configList = _repository.Queryable().Where(t => t.Status == 1).ToList(); // if (configList.Count > 0) // cache.Set("ReadApiLog", configList, new TimeSpan(0, 3, 0)); //} //var list = _repository.Queryable().Where(t => t.HasAnalysis == 0).OrderBy(t => t.Id).Take(3).ToList(); //list.ForEach(t => //{ // try // { // MemberLoginInfo memberLoginInfo = new MemberLoginInfo(); // var kk = JsonHelper.ToObject(t.Message); // string url = kk.Url; // int index = url.IndexOf("/api/"); // if (index == -1) // { // t.HasAnalysis = 8; // _repository.Update(t); // } // else // { // if (kk.Token != null) // { // string token = kk.Token.ToString(); // if (token.IndexOf("Bearer") > -1) // { // token = token.Replace("Bearer", "").Replace(" ", ""); // } // var obj = TokenHelper.Get(token, SystemConfig.JwtKey, Const.LoginInfoKey); // memberLoginInfo = JsonHelper.ToObject(obj.ToString()); // } // var url2 = url.Substring(index); // var configTemp = configList.FirstOrDefault(h => h.Url == url2); // if (configTemp != null && configTemp.UseType > 400) // { // string requestDataStr = kk.Param; // if (memberLoginInfo == null) // memberLoginInfo = new MemberLoginInfo(); // Guid? shopId = null; // int useType = 0; // string UseText = ""; // int PlatformSource = 2; // int RoleType = 0; // #region // var one = configTemp; // if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetRiFuWuTuiJinReportPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--拓客质量转化表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetLiuKeShenKeGuanKongReportPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--留客升客管控表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetTuoKeTiYanGuanKongReportPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--拓客卡体验管控表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetRiFuWuZhuanHuaReport").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--服务质量转化报表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetLiuKeZhuanHuanReportPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--留客转化日报表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetYaoYueDaoDianReportPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--邀约及到店报表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetShopConversionFunnelDataPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--店铺转化漏斗数据报表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Admin/LxmZHMDReport24/GetTuoLiuSuoShengDataPageList").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "后台系统--拓留锁升数据日报表"; // if (memberLoginInfo.CustomerId.HasValue) // { // RoleType = 12; // } // else // RoleType = 11; // } // else if (one.Url.ToLower() == ("/api/Wechat/MemberFunnel/GetMemberFunnel").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "小程序--新客拓留锁升转化跟踪漏斗"; // RoleType = (int)memberLoginInfo.RoleType; // PlatformSource = 1; // } // else if (one.Url.ToLower() == ("/api/Wechat/MemberFunnel/GetMemberInfoForTuoKe").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "小程序--会员漏斗会员列表"; // RoleType = (int)memberLoginInfo.RoleType; // PlatformSource = 1; // } // else if (one.Url.ToLower() == ("/api/Wechat/MemberFunnel/GetClerkMemberFunnel2").ToLower()) // { // var act = JsonHelper.ToObject>(requestDataStr); // shopId = act.Condition.ShopId; // useType = one.UseType.Value; // UseText = "小程序--店员拓客人数表"; // RoleType = (int)memberLoginInfo.RoleType; // PlatformSource = 1; // } // else // { // useType = one.UseType.Value; // } // #endregion // RpSysUseData rpSysUseData = new RpSysUseData(); // rpSysUseData.Id = IdHelper.GetNewId(); // rpSysUseData.UserId = memberLoginInfo.UserId.ToString(); // rpSysUseData.ShopId = shopId?.ToString() ?? ""; // rpSysUseData.ClerkId = memberLoginInfo.ClerkId.SafeValue().ToString(); // rpSysUseData.Creater = memberLoginInfo.Name; // rpSysUseData.CustomerId = memberLoginInfo.CustomerId.SafeValue().ToString(); // rpSysUseData.UserName = memberLoginInfo.Name; // rpSysUseData.RoleType = RoleType; // rpSysUseData.CreateTime = t.CreateTime; // rpSysUseData.UseType = useType; // rpSysUseData.PlatformSource = PlatformSource; // rpSysUseData.UseText = UseText; // rpSysUseData.Days = t.CreateTime.Value.Date; // _repository.Add(rpSysUseData); // t.HasAnalysis = 1; // _repository.Update(t); // } // else // { // t.HasAnalysis = 8; // _repository.Update(t); // } // } // } // catch (Exception ex) // { // t.HasAnalysis = 8; // _repository.Update(t); // } //}); } #endregion } }