using CRM.Core.DTO; using CRM.Core.DTO.Res; using Ninject; using System; using System.Data; using System.Text; using System.Web.Mvc; using WX.CRM.BLL.Soft; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Res; using WX.CRM.IBLL.Soft; using WX.CRM.IBLL.Util; using WX.CRM.Model.Entity; using WX.CRM.Model.Enum; using WX.CRM.Model.MAP; using WX.CRM.Model.QueryMap; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Soft { public class SoftUserController : BaseController { // // GET: /SoftUser/ private readonly ISOFT_USER _soft_user; private readonly ISOFT_USER_Q _soft_userQ; private readonly IRES_CUSTOMERUSER_Q _customeruserQ; private readonly IRES_CUSTOMERUSER _customeruser; private readonly ISecurityHelper sHelper; private readonly ICACHE_Q cacheQ; private readonly IRES_RESOURCEMOBILE_Q _resourceMobileQ; //private readonly ICUSTOMER_REDIS redisQ; private readonly IRES_CUSTOMER _resCustomer; private readonly IRES_CUSTOMER_Q _resCustomerQ; [Inject] public IRES_RESOURCEMOBILE_Q _res_resourcemobile_Q { get; set; } [Inject] public ISOFT_RESETPWD soft_resetpwd { get; set; } ValidationErrors errors = new ValidationErrors(); //WebHelper.RedisFactory.RedisFactory redisFactory = new WebHelper.RedisFactory.RedisFactory(); public SoftUserController(ISOFT_USER soft_user, ISOFT_USER_Q _soft_userQ, IRES_CUSTOMERUSER_Q customeruserQ , IRES_CUSTOMERUSER customerUser, ISecurityHelper _sHelper, ICACHE_Q _cacheQ, IRES_RESOURCEMOBILE_Q resourceMobileQ, //ICUSTOMER_REDIS _redisQ, IRES_CUSTOMER_Q resCustomerQ, IRES_CUSTOMER resCustomer ) { this._soft_user = soft_user; this._soft_userQ = _soft_userQ; this._customeruserQ = customeruserQ; this._customeruser = customerUser; this.sHelper = _sHelper; this.cacheQ = _cacheQ; this._resourceMobileQ = resourceMobileQ; //this.redisQ = _redisQ; this._resCustomer = resCustomer; this._resCustomerQ = resCustomerQ; } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_软件客户列表)] public ActionResult Index() { ToolBar tb = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.软件客户列表, userRightId); tb.AllowButton(toolbtn); tb.AddOtherButton("Other1", "导出", "icon-export", "Export_Click", true); ViewBag.ToolBar = tb; Pager gp = new Pager() { page = 1, rows = 20, order = "desc" }; Table tab = new Table("tablist"); tab.AddHeadCol("USERNAME", "", "软件用户名", true); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("REGCAMPAINID", "", "渠道来源"); tab.AddHeadCol("USERNO", "", "用户卡号"); tab.AddHeadCol("REGDATE", "", "注册时间"); tab.AddHeadCol("", "", "操作"); tab.AddHeadRow(); ViewBag.GroupList = tab.GetTable() + Pagination.GetPage(gp, "tablist"); //ViewBag.inneruserid = UserId; //ViewBag.userGroupId = userGroupId; //ViewBag.saleDeptId = saleDeptId; //ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); return View(); } [HttpPost] //[AuthorizeRedirect(Roles = InitRights.CONST_软件客户列表)] public JsonResult Index(Pager pager, string columns, string SoftName, string ResID, DateTime? ctime1, DateTime? ctime2) { try { var list = _soft_userQ.GetList(ref pager, SoftName, ResID, ctime1, ctime2); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddCol(model.USERNAME); table.AddCol("" + model.RESID + ""); table.AddCol(model.REGCAMPAINID); table.AddCol(model.USERNO); table.AddCol(model.REGDATE); table.AddCol(""); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("Soft_UserController:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } [HttpPost] public JsonResult ContractSoftUser(string resId, string userName) { if (!ModelState.IsValid) return JsonHandler.ValidateFailMessage(); if (string.IsNullOrWhiteSpace(userName)) return JsonHandler.ManageMessage("关联用户名不能为空", false); var customerUser = _customeruserQ.GetModelByUserName(userName); var softuser = _soft_userQ.GetUser_userName(userName); if (customerUser != null || softuser == null) { return JsonHandler.ManageMessage("请检查用户名!用户名已绑定或不存在", false); } RES_CUSTOMERUSER model = new RES_CUSTOMERUSER(); model.RESID = resId; model.USERNAME = userName; model.CTIME = DateTime.Now; bool result = _customeruser.Create(ref errors, model); return JsonHandler.InsertMessage(errors, result); } [HttpPost] public JsonResult ResetPassword(string userName, string resid) { ValidationErrors erro = new ValidationErrors(); try { userName = Utility.DecryptUrlDecode(userName); var softuser = _soft_userQ.GetUser_ByUserName(userName); if (null == softuser) { return JsonHandler.ManageMessage("此用户不存在", false); } if (string.IsNullOrEmpty(resid)) { var customerUser = _customeruserQ.GetModelByUserName(userName); if (customerUser == null) { return JsonHandler.ManageMessage("请先绑定用户!", false); } resid = customerUser.RESID; } //string Code = cacheQ.GetValue_Parameter(Parameter.SMS_ResetPwdType); //string[] TypeCodes = Code.Split('#'); //if (TypeCodes == null || TypeCodes.Count() < 2) //{ // return JsonHandler.ManageMessage("短信参数设置错误", false); //} //===============调用中心点接口============ resetPwd smsmodel = new resetPwd(); smsmodel.mobile = _res_resourcemobile_Q.GetNumberByResId(resid); smsmodel.userid = UserId; smsmodel.userName = userName; smsmodel.companycode = saleDeptCode; string url = cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_ResePwd);//内部接口··调用RiaSerivice string json = Utility.ConvertToJSON(smsmodel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);//数据参数加密 string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);//实现中心点先入库 retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); retMsg retmessage = JsonHelper.JsonDivertToObj(retmsg);//返回信息 if (retmessage.result) { ResetUserPwdRsp whretmessage = JsonHelper.JsonDivertToObj(sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmessage.retmsg)); SOFT_RESETPWD model = new SOFT_RESETPWD(); model.RESID = resid; model.SOFT_USERNAME = userName; model.NEWPASSWORD = whretmessage.newpwd; model.USERID = UserId; soft_resetpwd.Add(ref erro, model); if (erro.Count > 0) { return Json(new { type = false, message = "密码重置成功,但是入库失败!" }, JsonRequestBehavior.AllowGet); } else return Json(new { type = retmessage.result, message = "密码重置成功!" }, JsonRequestBehavior.AllowGet); } else { return Json(new { type = retmessage.result, message = retmessage.retmsg }, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { type = false, message = ex.ToString() }, JsonRequestBehavior.AllowGet); } } [HttpPost] public JsonResult UnBindQW(string userName) { ValidationErrors erro = new ValidationErrors(); try { var softuser = _soft_userQ.GetUser_ByUserName(userName); if (null == softuser) { return JsonHandler.ManageMessage("此用户不存在", false); } //===============调用中心点接口============ UnBindQWDto smsmodel = new UnBindQWDto() { username = userName }; string url = cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_UnbindQW);//内部接口··调用RiaSerivice string json = Utility.ConvertToJSON(smsmodel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);//数据参数加密 string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);//实现中心点先入库 //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); retMsg retmessage = JsonHelper.JsonDivertToObj(retmsg);//返回信息 if (retmessage.result) { return Json(new { type = true, message = "企业微信关系解绑成功!!" }, JsonRequestBehavior.AllowGet); } else { return Json(new { type = retmessage.result, message = retmessage.retmsg }, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { type = false, message = ex.ToString() }, JsonRequestBehavior.AllowGet); } } [HttpPost] public JsonResult ResetMobile(string username, int type, string newmobile, string oldmobile) { try { #region if (string.IsNullOrWhiteSpace(username)) { return Json(new { type = false, message = "用户名不能为空!" }, JsonRequestBehavior.AllowGet); } if (type == 0) { if (string.IsNullOrWhiteSpace(newmobile)) { return Json(new { type = false, message = "绑定手机号不能为空!" }, JsonRequestBehavior.AllowGet); } } else if (type == 1) { if (string.IsNullOrWhiteSpace(oldmobile)) { return Json(new { type = false, message = "解绑手机号不能为空!" }, JsonRequestBehavior.AllowGet); } } else if (type == 2) { if (string.IsNullOrWhiteSpace(oldmobile) || string.IsNullOrWhiteSpace(newmobile)) { return Json(new { type = false, message = "手机号不能为空!" }, JsonRequestBehavior.AllowGet); } } else { return Json(new { type = false, message = "参数错误!" }, JsonRequestBehavior.AllowGet); } #endregion LogHelper.Info("重置手机号参数:" + username + "," + type.ToString() + "," + newmobile + "," + oldmobile); //var url = "http://47.107.128.102:8096/ResourceService.svc/User/ResetMobile"; var url = cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_ResetMobile); var resetMobileDto = new ResetMobileDto() { username = username, type = type, oldmobile = oldmobile, newmobile = newmobile }; var json = Utility.ObjectToJson(resetMobileDto); var para = sHelper.createSignEncodingStr(json); var retmsg = Utility.PostData(url + "?" + para, Encoding.UTF8); var ret = Utility.JSONToObject(retmsg); LogHelper.Info("ret:" + ret.ToJson()); if (ret.ret == 0) { if (resetMobileDto.type == 0 || resetMobileDto.type == 2) { var resid = ResUtil.CreateResId(resetMobileDto.newmobile); if (_resCustomerQ.getResCustomerByResId(resid) == null) { _resCustomer.ResgisterCustomer(resetMobileDto.newmobile, resid, "resetmobile");//注册资源 } _customeruser.ContractUser(resid, resetMobileDto.username);//关联用户 var softUser = _soft_userQ.GetUser_userName(username); softUser.RESID = resid; _soft_user.Update(softUser); } else { var resid = ResUtil.CreateResId(resetMobileDto.oldmobile); _customeruser.Delete(username, resid); var softUser = _soft_userQ.GetUser_userName(username); softUser.RESID = string.Empty; _soft_user.Update(softUser); } return Json(new { type = true, message = "操作成功!", code = 200 }, JsonRequestBehavior.AllowGet); } else { return Json(new { type = false, message = "操作成功!", code = ret.ret }, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { type = false, message = ex.ToString(), code = 500 }, JsonRequestBehavior.AllowGet); } } [HttpPost] public JsonResult ActiveUser(string userName, string resid) { userName = Utility.DecryptUrlDecode(userName);//进行 username解密 ValidationErrors errors = new ValidationErrors(); var softuser = _soft_userQ.GetUser_ByUserName(userName); if (null == softuser || !softuser.USERNO.HasValue) { return JsonHandler.ManageMessage("此客户无卡号", false); } string mobile = _resourceMobileQ.GetNumberByResId(resid); if (string.IsNullOrEmpty(mobile)) { return JsonHandler.ManageMessage("无认证号码", false); } // string url = "http://crmcenter.0135135.com/CrmProductService.svc/crmActive"; string url = cacheQ.GetValue_Parameter(Parameter.HQ_RiaService_ActiveMaunl);//内部接口··调用RiaSerivice string json = JsonHelper.ObjDivertToJson(new { userCardNO = softuser.USERNO, mobile = mobile }); string key = sHelper.createSignEncodingStr(json); string result = Utility.PostData(url + "?" + key, System.Text.Encoding.UTF8); result = sHelper.decyptData("UPWEBSITE", result); //解密操作 Retinfo rt = JsonHelper.JsonDivertToObj(result); if (rt.result || rt.retcode == "10006") { SOFT_USER model = new SOFT_USER(); model.ACTIVERESID = rt.retMessage; model.USERLEVEL = 1; model.ISACTIVE = 1; model.USERNAME = userName; bool relsut = _soft_user.ActiveUpdate(ref errors, model); if (relsut) { return Json(new { type = rt.result, message = "认证成功" }, JsonRequestBehavior.AllowGet); } else { return Json(new { type = false, message = "认证失败,更新错误" }, JsonRequestBehavior.AllowGet); } } else { if (rt.retcode == "10010") { return Json(new { type = rt.result, message = "认证失败,号码可能已被其他账号绑定" }, JsonRequestBehavior.AllowGet); } else { return Json(new { type = rt.result, message = "认证失败,请联系管理员" }, JsonRequestBehavior.AllowGet); } } } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_软件注册邀请统计)] public ActionResult InviteCount() { ToolBar tb = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.软件注册邀请统计, userRightId); tb.AddOtherButton("Other1", "导出", "icon-excel", "Export_Click", true); tb.AllowButton(toolbtn); ViewBag.ToolBar = tb; Pager gp = new Pager() { page = 1, rows = 20, order = "desc" }; Table tab = new Table("tablist"); tab.AddHeadCol("EID", "", "客服"); tab.AddHeadCol("NUM", "", "数量"); tab.AddHeadRow(); ViewBag.inneruserid = UserId; ViewBag.userGroupId = userGroupId; ViewBag.saleDeptId = saleDeptId; ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); ViewBag.Grid = tab.GetTable(); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_软件注册邀请统计)] public JsonResult InviteCountHtml(string columns, DateTime? stime, DateTime? etime, decimal? hasMobile) { try { string saleDeptId = Request["saleDeptId"]; string groupId = Request["groupId"]; string innerUserId = Request["userId"]; var list = _soft_user.GetInvistListCount(stime, etime, hasMobile, saleDeptId, groupId, innerUserId); DataTable dt = new DataTable(); if (list != null && list.Tables[0] != null) { dt = list.Tables[0]; } Table table = new Table(columns, true); foreach (DataRow model in dt.Rows) { table.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(InnerUserHelper.Instance.GetUserIdByEid(Convert.ToDecimal(model["eid"])))); var linkUrl = string.Format("{2}", "注册日资源汇总", "/Soft/SoftUser/UserDayReport?stime=" + stime + "&etime=" + etime + "&eid=" + model["eid"], model["num"]); table.AddCol(linkUrl); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("Soft_UserController:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } [HttpGet] [AuthorizeRedirect(InitRights.CONST_软件注册邀请统计)] public ActionResult DayReport() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.软件注册邀请统计, userRightId); tool.AddOtherButton("Other1", "导出", "icon-excel", "Export_Click", true); tool.AllowButton(toolbtn); ViewBag.ToolBar = tool; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("daytime", "", "日期"); tab.AddHeadCol("num", "", "注册数"); tab.AddHeadCol("invitenum", "", "邀请注册数"); tab.AddHeadCol("noinvitenum", "", "推广注册数"); tab.AddHeadCol("mobilenum", "", "注册手机数"); tab.AddHeadCol("invitemobilenum", "", "邀请注册手机数"); tab.AddHeadCol("noinvitemobilenum", "", "推广注册手机数"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable(); return View(); } [HttpPost] [AuthorizeRedirect(InitRights.CONST_软件注册邀请统计)] public JsonResult DayReportHtml(string columns, string sdCTime, string edCTime) { try { if (string.IsNullOrEmpty(sdCTime) || string.IsNullOrEmpty(edCTime)) { return JsonHandler.ManageMessage("参数有误,请确认!", false); } DateTime? sTime = null; DateTime? eTime = null; DateTime stTime; DateTime etTime; DateTime.TryParse(sdCTime, out stTime); sTime = stTime; DateTime.TryParse(edCTime, out etTime); Table table = new Table(columns, true); var ds = _soft_userQ.GetInviteCountByDay(sTime, eTime); var dt = new DataTable(); if (ds != null && ds.Tables[0] != null) { dt = ds.Tables[0]; } decimal num = 0, inviteNum = 0, mobileNum = 0, inviteMobileNum = 0; foreach (DataRow model in dt.Rows) { num += Convert.ToDecimal(model["num"]); inviteNum += Convert.ToDecimal(model["invitenum"]); mobileNum += Convert.ToDecimal(model["mobilenum"]); inviteMobileNum += Convert.ToDecimal(model["invitemobilenum"]); table.AddCol(model["dayTime"].ToString()); //当日注册明细 var linkUrl = string.Format("{2}", "注册日资源汇总", "/Soft/SoftUser/UserDayReport?stime=" + model["dayTime"] + "&etime=" + model["dayTime"], model["num"]); table.AddCol(linkUrl); //当日邀请注册分类统计 var linkUrl2 = string.Format("{2}", "邀请统计", "/Soft/SoftUser/InviteCount?stime=" + model["dayTime"] + "&etime=" + model["dayTime"] + "&hasMobile=0", model["invitenum"]); table.AddCol(linkUrl2); //当日推广注册明细 var linkUrl3 = string.Format("{2}", "注册日资源汇总", "/Soft/SoftUser/UserDayReport?stime=" + model["dayTime"] + "&etime=" + model["dayTime"] + "&noInvite=1", (Convert.ToDecimal(model["num"]) - Convert.ToDecimal(model["invitenum"]))); table.AddCol(linkUrl3); //当日提交手机号注册明细 var linkUrl4 = string.Format("{2}", "注册日资源汇总", "/Soft/SoftUser/UserDayReport?stime=" + model["dayTime"] + "&etime=" + model["dayTime"] + "&hasMobile=1", model["mobilenum"]); table.AddCol(linkUrl4); //当日邀请注册提交手机号分类统计 var linkUrl5 = string.Format("{2}", "邀请统计", "/Soft/SoftUser/InviteCount?stime=" + model["dayTime"] + "&etime=" + model["dayTime"] + "&hasMobile=1", model["invitemobilenum"]); table.AddCol(linkUrl5); //当日推广注册提交手机号注册明细 var linkUrl6 = string.Format("{2}", "注册日资源汇总", "/Soft/SoftUser/UserDayReport?stime=" + model["dayTime"] + "&etime=" + model["dayTime"] + "&hasMobile=1&noInvite=1", Convert.ToDecimal(model["mobilenum"]) - Convert.ToDecimal(model["invitemobilenum"])); table.AddCol(linkUrl6); table.AddRow(); } table.AddCol("合计:"); table.AddCol(num); table.AddCol(inviteNum); table.AddCol(num - inviteNum); table.AddCol(mobileNum); table.AddCol(inviteMobileNum); table.AddCol(mobileNum - inviteMobileNum); table.AddRow(); var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("SoftUserController:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } /// /// 导出所有信息 /// /// [AuthorizeToolBar(InitRights.CONST_注册资源统计报表, InitToolBar.CONST_Other1)] public FileResult DayReportExport(DateTime sdCTime, DateTime edCTime) { string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); DataTable list = _soft_userQ.GetInviteCountByDay(sdCTime, edCTime).Tables[0]; DataTable tab = new DataTable("wocha"); tab.Columns.Add(new DataColumn("daytime", typeof(string))); tab.Columns.Add(new DataColumn("num", typeof(int))); tab.Columns.Add(new DataColumn("invitenum", typeof(int))); tab.Columns.Add(new DataColumn("noinvitenum", typeof(int))); tab.Columns.Add(new DataColumn("mobilenum", typeof(int))); tab.Columns.Add(new DataColumn("invitemobilenum", typeof(int))); tab.Columns.Add(new DataColumn("noinvitemobilenum", typeof(int))); foreach (DataRow item in list.Rows) { DataRow row = tab.NewRow(); row["daytime"] = item["daytime"]; row["num"] = item["num"]; row["invitenum"] = item["invitenum"]; row["noinvitenum"] = Convert.ToInt32(item["num"]) - Convert.ToInt32(item["invitenum"]); row["mobilenum"] = item["mobilenum"]; row["invitemobilenum"] = item["invitemobilenum"]; row["noinvitemobilenum"] = Convert.ToInt32(item["mobilenum"]) - Convert.ToInt32(item["invitemobilenum"]); tab.Rows.Add(row); } DataRow hrow = tab.NewRow(); hrow["daytime"] = "合计:"; hrow["num"] = tab.Compute("Sum(num)", ""); hrow["invitenum"] = tab.Compute("Sum(invitenum)", ""); ; hrow["noinvitenum"] = tab.Compute("Sum(noinvitenum)", ""); hrow["mobilenum"] = tab.Compute("Sum(mobilenum)", ""); hrow["invitemobilenum"] = tab.Compute("Sum(invitemobilenum)", ""); hrow["noinvitemobilenum"] = tab.Compute("Sum(noinvitemobilenum)", ""); tab.Rows.Add(hrow); return File(ExcelHelper.ExportDataTableToExcel(tab, "软件注册邀请统计", checkedFilds, checkedTitles, null), "application/ms-excel", PageRequest.GetDlownLoadName("软件注册邀请统计.xls")); } [HttpGet] [AuthorizeRedirect(InitRights.CONST_软件注册邀请统计)] public ViewResult UserDayReport(DateTime? stime, DateTime? etime) { string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("USERNAME", "", "软件用户名", true); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("REGCAMPAINID", "", "渠道来源"); tab.AddHeadCol("REGDATE", "", "注册时间"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable(); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_软件注册邀请统计)] public JsonResult UserDayReportHtml(string columns, DateTime? stime, DateTime? etime, decimal? eid, decimal? hasMobile, decimal? noInvite,QueryUserComboDto usercomboDto) { try { Pager pager = new Pager { page = 1, rows = int.MaxValue }; var list = _soft_userQ.GetList(ref pager, null, null, stime, etime, eid, hasMobile, noInvite, usercomboDto, null); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); table.AddCol("" + model.RESID + ""); table.AddCol(model.REGCAMPAINID); table.AddCol(model.REGDATE); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("Soft_UserController:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } [HttpGet] [AuthorizeRedirect(InitRights.CONST_我的注册邀请)] public ViewResult MyInviteList(DateTime? stime, DateTime? etime) { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.软件注册邀请统计, userRightId); tool.AddOtherButton("Other1", "导出", "icon-excel", "Export_Click", true); tool.AllowButton(toolbtn); ViewBag.ToolBar = tool; Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("USERNAME", "", "软件用户名", true); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("REGCAMPAINID", "", "渠道来源"); tab.AddHeadCol("REGDATE", "", "注册时间"); tab.AddHeadCol("EID", "", "邀请人"); tab.AddHeadCol("GROUPNAME", "", "邀请人组别"); tab.AddHeadRow(); ViewBag.inneruserid = UserId; ViewBag.userGroupId = userGroupId; ViewBag.saleDeptId = saleDeptId; ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "15,20,30"); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_我的注册邀请)] public JsonResult MyInviteListHtml(Pager pager, string columns, DateTime? stime, DateTime? etime, QueryUserComboDto usercomboDto) { try { decimal p_saleDeptId = Request["saleDeptId"].GetDecimal(0); string groupId = Request["groupId"]; decimal innerUserId = Request["userId"].GetDecimal(0); var list = _soft_userQ.GetList(ref pager, null, null, stime, etime, null, null, null, usercomboDto, 1); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); table.AddCol("" + model.RESID + ""); table.AddCol(model.REGCAMPAINID); table.AddCol(model.REGDATE); table.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(InnerUserHelper.Instance.GetUserIdByEid(model.EID))); table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(InnerUserHelper.Instance.GetUserIdByEid(model.EID)))); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("Soft_UserController:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } /// /// 导出所有信息 /// /// [AuthorizeToolBar(InitRights.CONST_注册资源统计报表, InitToolBar.CONST_Other1)] public FileResult MyInviteExport(DateTime? stime, DateTime? etime, QueryUserComboDto usercomboDto) { string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); //decimal p_saleDeptId = Request["saleDeptId"].GetDecimal(0); //string groupId = Request["groupId"]; //decimal innerUserId = Request["userId"].GetDecimal(0); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = _soft_userQ.GetList(ref pager, null, null, stime, etime, null, null, null, usercomboDto, 1); DataTable tab = new DataTable("wocha"); tab.Columns.Add(new DataColumn("USERNAME", typeof(string))); tab.Columns.Add(new DataColumn("RESID", typeof(string))); tab.Columns.Add(new DataColumn("REGCAMPAINID", typeof(string))); tab.Columns.Add(new DataColumn("REGDATE", typeof(DateTime))); tab.Columns.Add(new DataColumn("EID", typeof(string))); tab.Columns.Add(new DataColumn("GROUPNAME", typeof(string))); foreach (SOFT_USER item in list) { DataRow row = tab.NewRow(); row["USERNAME"] = item.USERNAME; row["RESID"] = item.RESID; row["REGCAMPAINID"] = item.REGCAMPAINID; row["REGDATE"] = item.REGDATE; row["EID"] = string.Format("{0}", InnerUserHelper.Instance.GetEidAndTrueName(InnerUserHelper.Instance.GetUserIdByEid(item.EID))); row["GROUPNAME"] = InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(InnerUserHelper.Instance.GetUserIdByEid(item.EID))); tab.Rows.Add(row); } return File(ExcelHelper.ExportDataTableToExcel(tab, "我的注册邀请", checkedFilds, checkedTitles, null), "application/ms-excel", PageRequest.GetDlownLoadName("我的注册邀请.xls")); //return File(ExcelHelper.ExportListModelToExcel(list, "我的注册邀请", 10000, checkedFilds, checkedTitles, null), "application/ms-excel", PageRequest.GetDlownLoadName("我的注册邀请.xls")); } public FileResult Export(string SoftName, string ResID, DateTime? ctime1, DateTime? ctime2) { string checkedFilds = PageRequest.GetQueryString("checkedFilds"); //checkedFilds = checkedFilds.Replace("[]", ""); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = new SOFT_USER_BL().GetList(ref pager, SoftName, ResID, ctime1, ctime2); LogHelper.Info(list.Count.ToString()); return File(ExcelHelper.ExportListModelToExcel(list, "软件客户列表", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("软件客户列表.xls")); } public string DataFormart(string key, object value) { string formartValue = string.Empty; switch (key) { default: formartValue = string.Format("{0}", value); break; } return formartValue; } } }