|
|
@@ -2499,5 +2499,268 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
+
|
|
|
+
|
|
|
+ #region 批量查询创客信息
|
|
|
+
|
|
|
+ public IActionResult BatchSeeUserInfo(string right)
|
|
|
+ {
|
|
|
+ ViewBag.RightInfo = RightInfo;
|
|
|
+ ViewBag.right = right;
|
|
|
+
|
|
|
+ return View();
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 批量查询创客信息
|
|
|
+ public JsonResult BatchSeeUserInfoDo(string PosSns, string MerNos, int page = 1, int limit = 30)
|
|
|
+ {
|
|
|
+ var error = "";
|
|
|
+ //实际押金
|
|
|
+ string SeoKeyword = "0";
|
|
|
+ Dictionary<string, object> errorInfo = new Dictionary<string, object>();
|
|
|
+ List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
|
|
|
+ if (string.IsNullOrEmpty(PosSns) && string.IsNullOrEmpty(MerNos))
|
|
|
+ {
|
|
|
+ Dictionary<string, object> objs = new Dictionary<string, object>();
|
|
|
+ return Json(objs);
|
|
|
+ }
|
|
|
+ else if (!string.IsNullOrEmpty(PosSns) && !string.IsNullOrEmpty(MerNos))
|
|
|
+ {
|
|
|
+ Dictionary<string, object> objs = new Dictionary<string, object>();
|
|
|
+ return Json(objs);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(PosSns))
|
|
|
+ {
|
|
|
+ string[] PosSnsList = PosSns.Replace("\r", "").Replace("\n", ",").Split(',');
|
|
|
+ foreach (string PosSn in PosSnsList)
|
|
|
+ {
|
|
|
+ Dictionary<string, object> data = new Dictionary<string, object>();
|
|
|
+ var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
|
|
|
+ if (pos.Id == 0)
|
|
|
+ {
|
|
|
+ error += "机具" + PosSn + "不存在\n";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var TopMakerCode = ""; //顶级创客编号
|
|
|
+ var TopRealName = ""; //顶级创客名称
|
|
|
+ var SecondMakerCode = ""; //次顶级创客编号
|
|
|
+ var SecondRealName = ""; //次顶级创客姓名
|
|
|
+ var ThirdMakerCode = ""; //次次顶级创客编号
|
|
|
+ var ThirdRealName = ""; //次次顶级创客姓名
|
|
|
+ var mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PosMerchantInfo();
|
|
|
+ if (!string.IsNullOrEmpty(pos.SeoKeyword))
|
|
|
+ {
|
|
|
+ if (pos.BrandId != 2 && pos.BrandId != 7 && pos.BrandId != 10 && pos.BrandId != 11)
|
|
|
+ {
|
|
|
+ SeoKeyword = (decimal.Parse(pos.SeoKeyword) / 100).ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SeoKeyword = pos.SeoKeyword;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
|
|
|
+ if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
+ {
|
|
|
+ string[] ParentNavList = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ var topUserInfo = new Users();
|
|
|
+ var secondUserInfo = new Users();
|
|
|
+ var thirdUserInfo = new Users();
|
|
|
+ if (ParentNavList.Length > 1)
|
|
|
+ {
|
|
|
+ topUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[1]))) ?? new Users();
|
|
|
+ if (ParentNavList.Length > 2)
|
|
|
+ {
|
|
|
+ secondUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[2]))) ?? new Users();
|
|
|
+ if (ParentNavList.Length > 3)
|
|
|
+ {
|
|
|
+ thirdUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[3]))) ?? new Users();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ topUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[0]))) ?? new Users();
|
|
|
+ }
|
|
|
+ TopMakerCode = topUserInfo.MakerCode; //顶级创客编号
|
|
|
+ TopRealName = topUserInfo.RealName; //顶级创客名称
|
|
|
+ SecondMakerCode = secondUserInfo.MakerCode; //次顶级创客编号
|
|
|
+ SecondRealName = secondUserInfo.RealName; //次顶级创客姓名
|
|
|
+ ThirdMakerCode = thirdUserInfo.MakerCode; //次次顶级创客编号
|
|
|
+ ThirdRealName = thirdUserInfo.RealName; //次次顶级创客姓名
|
|
|
+ }
|
|
|
+ data["PosSn"] = pos.PosSn; //机具Sn
|
|
|
+ data["MerNo"] = mer.KqMerNo; //商户编号
|
|
|
+ data["PosFee"] = SeoKeyword; //服务费
|
|
|
+ data["BindingTime"] = pos.BindingTime == null ? "" : pos.BindingTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); //绑定时间
|
|
|
+ data["ActivationTime"] = pos.ActivationTime == null ? "" : pos.ActivationTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); //激活时间
|
|
|
+ data["MakerCode"] = user.MakerCode; //创客编号
|
|
|
+ data["RealName"] = user.RealName; //创客姓名
|
|
|
+ data["TopMakerCode"] = TopMakerCode; //顶级创客编号
|
|
|
+ data["TopRealName"] = TopRealName; //顶级创客名称
|
|
|
+ data["SecondMakerCode"] = SecondMakerCode; //次顶级创客编号
|
|
|
+ data["SecondRealName"] = SecondRealName; //次顶级创客姓名
|
|
|
+ data["ThirdMakerCode"] = ThirdMakerCode; //次次顶级创客编号
|
|
|
+ data["ThirdRealName"] = ThirdRealName; //次次顶级创客姓名
|
|
|
+ }
|
|
|
+ dataList.Add(data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!string.IsNullOrEmpty(MerNos))
|
|
|
+ {
|
|
|
+ string[] MerNosList = MerNos.Replace("\r", "").Replace("\n", ",").Split(',');
|
|
|
+ foreach (string MerNo in MerNosList)
|
|
|
+ {
|
|
|
+ Dictionary<string, object> data = new Dictionary<string, object>();
|
|
|
+ var mer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo) ?? new PosMerchantInfo();
|
|
|
+ if (mer.Id == 0)
|
|
|
+ {
|
|
|
+ error += "商户" + MerNo + "不存在\n";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var TopMakerCode = ""; //顶级创客编号
|
|
|
+ var TopRealName = ""; //顶级创客名称
|
|
|
+ var SecondMakerCode = ""; //次顶级创客编号
|
|
|
+ var SecondRealName = ""; //次顶级创客姓名
|
|
|
+ var ThirdMakerCode = ""; //次次顶级创客编号
|
|
|
+ var ThirdRealName = ""; //次次顶级创客姓名
|
|
|
+ var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == mer.KqSnNo) ?? new PosMachinesTwo();
|
|
|
+ if (!string.IsNullOrEmpty(pos.SeoKeyword))
|
|
|
+ {
|
|
|
+ if (pos.BrandId != 2 && pos.BrandId != 7 && pos.BrandId != 10 && pos.BrandId != 11)
|
|
|
+ {
|
|
|
+ SeoKeyword = (decimal.Parse(pos.SeoKeyword) / 100).ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SeoKeyword = pos.SeoKeyword;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
|
|
|
+ if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
+ {
|
|
|
+ string[] ParentNavList = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ var topUserInfo = new Users();
|
|
|
+ var secondUserInfo = new Users();
|
|
|
+ var thirdUserInfo = new Users();
|
|
|
+ if (ParentNavList.Length > 1)
|
|
|
+ {
|
|
|
+ topUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[1]))) ?? new Users();
|
|
|
+ if (ParentNavList.Length > 2)
|
|
|
+ {
|
|
|
+ secondUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[2]))) ?? new Users();
|
|
|
+ if (ParentNavList.Length > 3)
|
|
|
+ {
|
|
|
+ thirdUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[3]))) ?? new Users();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ topUserInfo = db.Users.FirstOrDefault(m => m.Id == (int.Parse(ParentNavList[0]))) ?? new Users();
|
|
|
+ }
|
|
|
+ TopMakerCode = topUserInfo.MakerCode; //顶级创客编号
|
|
|
+ TopRealName = topUserInfo.RealName; //顶级创客名称
|
|
|
+ SecondMakerCode = secondUserInfo.MakerCode; //次顶级创客编号
|
|
|
+ SecondRealName = secondUserInfo.RealName; //次顶级创客姓名
|
|
|
+ ThirdMakerCode = thirdUserInfo.MakerCode; //次次顶级创客编号
|
|
|
+ ThirdRealName = thirdUserInfo.RealName; //次次顶级创客姓名
|
|
|
+ }
|
|
|
+ data["PosSn"] = pos.PosSn; //机具Sn
|
|
|
+ data["MerNo"] = mer.KqMerNo; //商户编号
|
|
|
+ data["PosFee"] = SeoKeyword; //服务费
|
|
|
+ data["BindingTime"] = pos.BindingTime == null ? "" : pos.BindingTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); //绑定时间
|
|
|
+ data["ActivationTime"] = pos.ActivationTime == null ? "" : pos.ActivationTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); //激活时间
|
|
|
+ data["MakerCode"] = user.MakerCode; //创客编号
|
|
|
+ data["RealName"] = user.RealName; //创客姓名
|
|
|
+ data["TopMakerCode"] = TopMakerCode; //顶级创客编号
|
|
|
+ data["TopRealName"] = TopRealName; //顶级创客名称
|
|
|
+ data["SecondMakerCode"] = SecondMakerCode; //次顶级创客编号
|
|
|
+ data["SecondRealName"] = SecondRealName; //次顶级创客姓名
|
|
|
+ data["ThirdMakerCode"] = ThirdMakerCode; //次次顶级创客编号
|
|
|
+ data["ThirdRealName"] = ThirdRealName; //次次顶级创客姓名
|
|
|
+ }
|
|
|
+ dataList.Add(data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!string.IsNullOrEmpty(error))
|
|
|
+ {
|
|
|
+ errorInfo.Add("code", -1);
|
|
|
+ errorInfo.Add("msg", error);
|
|
|
+ return Json(errorInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Dictionary<string, object> obj = new Dictionary<string, object>();
|
|
|
+ obj.Add("code", 0);
|
|
|
+ obj.Add("msg", "");
|
|
|
+ obj.Add("count", dataList.Count);
|
|
|
+ obj.Add("data", dataList);
|
|
|
+ return Json(obj);
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+
|
|
|
+ #region 批量查询创客信息快捷导出Excel
|
|
|
+ public IActionResult ExportBatchSeeUserInfoExcel(string right)
|
|
|
+ {
|
|
|
+ ViewBag.RightInfo = RightInfo;
|
|
|
+ ViewBag.right = right;
|
|
|
+
|
|
|
+ return View();
|
|
|
+ }
|
|
|
+
|
|
|
+ [HttpPost]
|
|
|
+ public string ExportBatchSeeUserInfoExcelDo(string PosSns, string MerNos)
|
|
|
+ {
|
|
|
+ var sql = "";
|
|
|
+ if (string.IsNullOrEmpty(PosSns) && string.IsNullOrEmpty(MerNos))
|
|
|
+ {
|
|
|
+ return "请输入查询内容";
|
|
|
+ }
|
|
|
+ else if (!string.IsNullOrEmpty(PosSns) && !string.IsNullOrEmpty(MerNos))
|
|
|
+ {
|
|
|
+ return "不能同时输入机具Sn和商户编号";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(PosSns))
|
|
|
+ {
|
|
|
+ var posIds = "";
|
|
|
+ string[] PosSnsList = PosSns.Replace("\r", "").Replace("\n", ",").Split(',');
|
|
|
+ foreach (string PosSn in PosSnsList)
|
|
|
+ {
|
|
|
+ var pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PosMachinesTwo();
|
|
|
+ posIds += pos.Id + ",";
|
|
|
+ }
|
|
|
+ posIds = posIds.TrimEnd(',');
|
|
|
+ sql = "SELECT i.PosSn '机具SN',j.KqMerNo '商编',j.MerchantName '商户名称',(CASE WHEN i.BrandId not in(2,7,10,11) THEN ROUND(CAST(i.SeoKeyword AS DECIMAL)/100, 2) ELSE i.SeoKeyword end) '服务费',DATE_FORMAT(i.BindingTime,'%Y-%m-%d %H:%i:%s') '绑定时间',DATE_FORMAT(i.ActivationTime,'%Y-%m-%d %H:%i:%s') '激活时间',i.uMakerCode '推荐码',i.uRealName '创客姓名',i.topMakerCode '顶级推荐码',i.topRealname '顶级姓名',i.secondMakerCode '次顶级推荐码',i.secondRealname '次顶级姓名',i.thirdMakerCode '次次顶级推荐码',i.thirdRealname '次次顶级姓名' FROM(SELECT g.*,h.MakerCode thirdMakerCode,h.Realname thirdRealname FROM (SELECT e.*,f.MakerCode secondMakerCode,f.Realname secondRealname FROM(SELECT c.*,d.MakerCode topMakerCode,d.Realname topRealname FROM(SELECT a.*,b.Id useId,b.MakerCode uMakerCode,b.RealName uRealName, SUBSTRING_INDEX(SUBSTRING_INDEX(b.ParentNav,',',4),',',-1) topId,SUBSTRING_INDEX(SUBSTRING_INDEX(b.ParentNav,',',6),',',-1) secondId,SUBSTRING_INDEX(SUBSTRING_INDEX(b.ParentNav,',',8),',',-1) thirdId FROM PosMachinesTwo a LEFT JOIN Users b ON a.BuyUserId=b.Id WHERE a.Id in(" + posIds + "))c LEFT JOIN Users d ON c.topId=d.Id) e LEFT JOIN Users f ON e.secondId=f.Id) g LEFT JOIN Users h ON g.thirdId=h.Id) i LEFT JOIN PosMerchantInfo j ON i.BindMerchantId=j.Id";
|
|
|
+ }
|
|
|
+ if (!string.IsNullOrEmpty(MerNos))
|
|
|
+ {
|
|
|
+ var merIds = "";
|
|
|
+ string[] MerNosList = MerNos.Replace("\r", "").Replace("\n", ",").Split(',');
|
|
|
+ foreach (string MerNo in MerNosList)
|
|
|
+ {
|
|
|
+ var mer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo) ?? new PosMerchantInfo();
|
|
|
+ merIds += mer.Id + ",";
|
|
|
+ }
|
|
|
+ merIds = merIds.TrimEnd(',');
|
|
|
+ sql = "SELECT i.KqSnNo '机具SN',i.KqMerNo '商编',i.MerchantName '商户名称',i.SeoKeyword '服务费',i.BindingTime '绑定时间',i.ActivationTime '激活时间',i.uMakerCode '推荐码',i.uRealName '创客姓名',i.topMakerCode '顶级推荐码',i.topRealname '顶级姓名',i.secondMakerCode '次顶级推荐码',i.secondRealname '次顶级姓名',j.MakerCode '次次顶级推荐码',j.Realname '次次顶级姓名' FROM(SELECT g.*,h.MakerCode secondMakerCode,h.Realname secondRealname FROM(SELECT e.*,f.MakerCode topMakerCode,f.RealName topRealName FROM(SELECT c.*,d.MakerCode uMakerCode,d.RealName uRealName,SUBSTRING_INDEX(SUBSTRING_INDEX(d.ParentNav,',',4),',',-1) topId,SUBSTRING_INDEX(SUBSTRING_INDEX(d.ParentNav,',',6),',',-1) secondId,SUBSTRING_INDEX(SUBSTRING_INDEX(d.ParentNav,',',8),',',-1) thirdId FROM(SELECT a.KqMerNo,a.KqSnNo,a.MerchantName,(CASE WHEN b.BrandId not in(2,7,10,11) THEN ROUND(CAST(b.SeoKeyword AS DECIMAL)/100, 2) ELSE b.SeoKeyword end) SeoKeyword,b.BindingTime,b.ActivationTime,b.BuyUserId,b.BrandId FROM PosMerchantInfo a LEFT JOIN PosMachinesTwo b ON a.KqSnNo=b.PosSn WHERE a.Id in(" + merIds + "))c LEFT JOIN Users d ON c.BuyUserId=d.Id) e LEFT JOIN Users f ON e.topId=f.Id) g LEFT JOIN Users h ON g.secondId=h.Id) i LEFT JOIN Users j ON i.thirdId=j.Id";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var sysAdmin = bsdb.SysAdmin.FirstOrDefault(m => m.AdminName == SysUserName && m.Status > -1);
|
|
|
+ var FileName = "批量查询创客信息" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
+ string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + sql + "\",\"FileName\":\"" + FileName + "\",\"MaxCount\":\"0\"}";
|
|
|
+ RedisDbconn.Instance.AddList("ExportQueue", SendData);
|
|
|
+ return "success";
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
}
|
|
|
}
|