/// <summary> /// 获取指定代理今日下单统计 /// </summary> /// <param name="requestMsg"></param> /// <param name="head"></param> /// <param name="client"></param> /// <returns></returns> public string GetATodayBillCount(string requestMsg, HeadMessage head) { //ComunicationMsg sendMsg = new ComunicationMsg(); //ErrorMessage error = new ErrorMessage(); //HeadMessage sendHead = new HeadMessage(); sendHead.Method = head.Method; try { AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); string billCount = ""; if (aSearch == null) { error.ErrMsg = "没有接收到正确的参数"; error.ErrNo = "0003"; } else { billCount = loginDal.GetATodayBillCount(aSearch, head, out error); } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = JSON.ToJSON(new { ATodayBillCount = string.IsNullOrEmpty(billCount) ? "{}" : billCount }); return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { error.ErrNo = "0004"; error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(head); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
public async Task <ActionResult> GetAgentSearchValues() { try { //var Agents = Services.MemberService.GetAllMembers().Where(m => m.ContentTypeAlias == "agent").ToList(); AgentSearchModel searchModel = new AgentSearchModel(); searchModel.Services = (new PreValueHelper()).GetPreValuesFromAppSettingName(cmsModel.SERVICE_SETTING_NAME); searchModel.Categories = (new PreValueHelper()).GetPreValuesFromAppSettingName(cmsModel.CATEGORY_SETTING_NAME); searchModel.Cities = (new PreValueHelper()).GetPreValuesFromAppSettingName(cmsModel.CITY_SETTING_NAME); return(PartialView(PARTIAL_VIEW_AGENTSEARCH, await Task.FromResult(searchModel))); } catch (Exception ex) { //Log the exception return(null); } }
/// <summary> /// 代理登录 /// </summary> /// <param name="requestMsg">请求参数</param> /// <param name="head">报文头</param> /// <param name="client">当前连接客户端对象</param> /// <returns></returns> public string Login(string requestMsg, HeadMessage head, ClientOP client) { //ComunicationMsg sendMsg = new ComunicationMsg(); //ErrorMessage error = new ErrorMessage(); //HeadMessage sendHead = new HeadMessage(); try { sendHead.Method = head.Method; sendHead.Token = Guid.NewGuid().ToString().Replace("-", ""); AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); string responseMsg = ""; if (aSearch == null) { error.ErrMsg = "没有接收到登录账号或密码"; error.ErrNo = "0003"; } else { responseMsg = loginDal.Login(aSearch, head, out error); if (error.ErrNo == "0000") { foreach (KeyValuePair <string, ClientOP> kv in WsSocket.dic_Clients) { if (!string.IsNullOrEmpty(aSearch.A_UserID) && kv.Value.LogName == aSearch.A_UserID) { ErrorMessage outErr = new ErrorMessage(); outErr.ErrNo = "0000"; outErr.ErrMsg = "此账号已在别处登录"; HeadMessage outHead = new HeadMessage(); outHead.Method = "GoOut"; ComunicationMsg outSend = new ComunicationMsg(); outSend.Head = JSON.ToJSON(outHead); outSend.Error = JSON.ToJSON(outErr); WsSocket ws = new WsSocket(); ws.Send(JSON.ToJSON(outSend), kv.Value.cSocket, true); } } client.LogName = aSearch.A_UserID; client.Token = sendHead.Token; client.ConTime = DateTime.Now; //将成功登录的客户端添加到字典中 WsSocket.dic_Clients.AddOrUpdate(client.ConID, client, (key, oldv) => client); } } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = JSON.ToJSON(new { LoginAgent = string.IsNullOrEmpty(responseMsg) ? "{}" : responseMsg }); return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(LoginBLL), ex); error.ErrNo = "0004"; error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(head); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
/// <summary> /// 获取指定时段内指定代理下会员统计数据 /// </summary> /// <param name="requestMsg"></param> /// <param name="head"></param> /// <returns></returns> public string GetAClientCount(string requestMsg, HeadMessage head) { try { sendHead.Method = head.Method; AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); string onlineList = ""; if (aSearch == null) { error.ErrMsg = "没有接收到正确的参数"; error.ErrNo = "0003"; } else { onlineList = loginDal.GetOnlineClntList(aSearch, head, out error); } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = JSON.ToJSON(new { AgentClntCount = string.IsNullOrEmpty(onlineList) ? "{}" : onlineList }); return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { error.ErrNo = "0004"; error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(head); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
/// <summary> /// 获取指定代理下子账号列表数据 /// </summary> /// <param name="requestMsg"></param> /// <param name="head"></param> /// <returns></returns> public string GetAgentSubs(string requestMsg, HeadMessage head) { sendHead.Method = head.Method ?? ""; error.ErrNo = "0004"; try { AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); string responseMsg = ""; if (aSearch == null) { error.ErrMsg = "参数不完整"; } else { responseMsg = aSubDal.GetAgentSubs(aSearch, head, out error); } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = string.IsNullOrEmpty(responseMsg) ? "{}" : responseMsg; return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(LoginBLL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
/// <summary> /// 获取指定代理或指定会员所属代理统计数据 /// </summary> /// <param name="model"></param> /// <param name="head"></param> /// <param name="error"></param> /// <returns></returns> public string GetAorCAgentData(AgentSearchModel model, HeadMessage head, out ErrorMessage error) { error = new ErrorMessage(); error.ErrNo = "0004"; try { if (model == null || string.IsNullOrEmpty(model.A_ID)) { error.ErrNo = "0003"; error.ErrMsg = "没有接收到参数"; return(null); } string strSql = SqlTemplateCommon.GetSql("AgentData_New"); if (string.IsNullOrEmpty(strSql)) { error.ErrMsg = "服务端没有读取到AgentData_New数据模板,请联系管理员"; return(null); } string _msg; List <AgentSearchModel> aList; if (!string.IsNullOrEmpty(model.A_UserID)) { string sSql = ""; if (model.A_UserID.Length <= 7) { sSql = "select top 1 AgentID from T_Agent where LogName ='" + model.A_UserID + "'"; } else { sSql = "select top 1 AgentID from T_Client where LogName ='" + model.A_UserID + "'"; } string aid = Db.Context_SqlServer.FromSql(sSql).ToScalar <string>(); strSql = strSql.Replace("${AgentID}", aid); aList = CommonDAL.GetAgentTree(head.LoginID, "id", aid, out _msg); } else { strSql = strSql.Replace("${AgentID}", model.A_ID); aList = CommonDAL.GetAgentTree(head.LoginID, "id", model.A_ID, out _msg); } if (aList == null || aList.Count <= 0) { error.ErrMsg = _msg; return(null); } error.ErrNo = "0000"; error.ErrMsg = "获取数据成功"; return(CommonHelper.DataTableToJson(Db.Context_SqlServer.FromSql(strSql).ToDataTable())); } catch (Exception ex) { LogHelper.WriteLog(typeof(LoginDAL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); return(null); } }
/// <summary> /// 代理登录 /// </summary> /// <param name="model"></param> /// <param name="head"></param> /// <param name="error"></param> /// <returns></returns> public string Login(AgentSearchModel model, HeadMessage head, out ErrorMessage error) { error = new ErrorMessage(); error.ErrNo = "0004"; try { if (model == null) { error.ErrNo = "0003"; error.ErrMsg = "没有接收到登录账号或密码"; return(null); } string loginSql = SqlTemplateCommon.GetSql("A_AgentLogin"); if (string.IsNullOrEmpty(loginSql)) { error.ErrMsg = "服务端没有读取到A_AgentLogin数据模板,请联系管理员"; return(null); } loginSql = loginSql.Replace("${LogName}", model.A_UserID); loginSql = loginSql.Replace("${LogPwd}", model.A_Pwd); DataTable agentTable = Db.Context_SqlServer.FromSql(loginSql).ToDataTable(); #region 写登录日志 int userLength = model.A_UserID == null ? 0 : model.A_UserID.Length; T_LoginLog loginLog = new T_LoginLog(); loginLog.LogID = Guid.NewGuid().ToString().Replace("-", ""); loginLog.UserLevel = "代理"; loginLog.LoginIP = head.Ip; loginLog.LoginAddre = CommonHelper.ipToAddr(head.Ip); loginLog.LoginTime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); loginLog.LoginUser = model.A_UserID; if (agentTable != null && agentTable.Rows.Count > 0) { error.ErrMsg = loginLog.ReMark = (userLength < 6 ? "子账号" : "代理") + model.A_UserID + "登录成功"; //error.ErrMsg = (userLength < 6 ? "子账号" : "代理") + model.A_UserID + "登录成功"; error.ErrNo = "0000"; } else { error.ErrMsg = loginLog.ReMark = "用户名或密码错误" + (userLength < 6 ? "子账号" : "代理") + model.A_UserID + "登录失败"; //error.ErrMsg = (userLength < 6 ? "子账号" : "代理") + model.A_UserID + "登录成功"; error.ErrNo = "0004"; } if (Db.Context_SqlServer.Insert <T_LoginLog>(loginLog) <= 0) { LogHelper.WriteErrLog(typeof(LoginDAL), "插入登录日志失败"); } #endregion return(CommonHelper.DataTableToJson(agentTable)); } catch (Exception ex) { LogHelper.WriteLog(typeof(LoginDAL), ex); error.ErrMsg = "代理登录异常:" + ex.Message.Replace("\r", "").Replace("\n", ""); return(null); } }
/// <summary> /// 获取指定代理及它的直属代理列表数据 /// </summary> /// <param name="requestMsg"></param> /// <param name="head"></param> /// <returns></returns> public string GetALists(string requestMsg, HeadMessage head) { sendHead.Method = head.Method ?? ""; error.ErrNo = "0004"; try { AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); string responseMsg = ""; string pId; if (CommonDAL.IsSubAgent(head.LoginID, out pId)) { head.LoginID = pId;//如果当前登录代理是子账号则,将此子账号的所属代理ID赋值为当前登录代理ID } if (aSearch == null) { error.ErrMsg = "请求参数不完整"; error.ErrNo = "0003"; } else { switch (sendHead.Method) { case "GetAllAgents": responseMsg = agentListDal.GetALists(aSearch, head, out error); break; case "GetDeletedA": responseMsg = agentListDal.GetDeletedA(aSearch, head, out error); break; case "AgentMatchP": responseMsg = agentListDal.GetAPermission(aSearch, head, out error); break; } } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = string.IsNullOrEmpty(responseMsg) ? "{}" : responseMsg; return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(LoginBLL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
/// <summary> /// 获取指定时段内指定代理下会员统计数据 /// </summary> /// <param name="model"></param> /// <param name="head"></param> /// <param name="error"></param> /// <returns></returns> public string GetAClntCount(AgentSearchModel model, HeadMessage head, out ErrorMessage error) { error = new ErrorMessage(); error.ErrNo = "0004"; try { if (model == null || string.IsNullOrEmpty(model.A_ID)) { error.ErrNo = "0003"; error.ErrMsg = "没有接收到参数"; return(null); } string strSql = SqlTemplateCommon.GetSql("A_AgentClientCount"); if (string.IsNullOrEmpty(strSql)) { error.ErrMsg = "服务端没有读取到A_AgentClientCount数据模板,请联系管理员"; return(null); } string _msg; List <AgentSearchModel> aList = CommonDAL.GetAgentTree(head.LoginID, "id", model.A_ID, out _msg); if (aList == null || aList.Count <= 0) { error.ErrMsg = _msg; return(null); } if (string.IsNullOrEmpty(model.StartDate)) { model.StartDate = string.Format("{0:yyyy-MM-dd}", DateTime.Now); } if (string.IsNullOrEmpty(model.EndDate)) { model.EndDate = model.StartDate; } strSql = strSql.Replace("${AgentID}", model.A_ID); strSql = strSql.Replace("${StartDate}", model.StartDate); strSql = strSql.Replace("${EndDate}", model.EndDate); error.ErrNo = "0000"; error.ErrMsg = "获取数据成功"; return(CommonHelper.DataTableToJson(Db.Context_SqlServer.FromSql(strSql).ToDataTable())); } catch (Exception ex) { LogHelper.WriteLog(typeof(LoginDAL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); return(null); } }
/// <summary> /// 获取指定代理下的子账号列表数据 /// </summary> /// <param name="model"></param> /// <param name="head"></param> /// <param name="error"></param> /// <returns></returns> public string GetAgentSubs(AgentSearchModel model, HeadMessage head, out ErrorMessage error) { error = new ErrorMessage(); error.ErrNo = "0004"; try { if (model == null || string.IsNullOrEmpty(model.A_ID)) { error.ErrMsg = "参数不完整";//"服务端没有读取到ClntOdds数据模板,请联系管理员"; error.ErrNo = "0004"; return(null); } string strSql = Common.SqlTemplateCommon.GetSql("A_GetAgentSubByAgentID"); if (string.IsNullOrEmpty(strSql)) { error.ErrMsg = "服务端没有读取到A_GetAgentSubByAgentID数据模板,请联系管理员"; return(null); } strSql = strSql.Replace("${AgentID}", model.A_ID); string msg; List <AgentSearchModel> aList = CommonDAL.GetAgentTree(head.LoginID, "id", model.A_ID, out msg); if (aList == null || aList.Count <= 0) { error.ErrMsg = msg; return(null); } error.ErrMsg = "获取数据成功"; error.ErrNo = "0000"; return(JSON.ToJSON(new { JsonData = Common.CommonHelper.DataTableToJson(Db.Context_SqlServer.FromSql(strSql).ToDataTable()) })); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(AgentSubDAL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); return(null); } }
/// <summary> /// 获取指定代理今日下单统计 /// </summary> /// <param name="model"></param> /// <param name="error"></param> /// <returns></returns> public string GetATodayBillCount(AgentSearchModel model, HeadMessage head, out ErrorMessage error) { error = new ErrorMessage(); error.ErrNo = "0004"; try { if (model == null || string.IsNullOrEmpty(model.A_ID)) { error.ErrNo = "0003"; error.ErrMsg = "没有接收到参数"; return(null); } string strSql = SqlTemplateCommon.GetSql("A_GetAgentBetData_Current_New"); if (string.IsNullOrEmpty(strSql)) { error.ErrMsg = "服务端没有读取到A_GetAgentBetData_Current_New数据模板,请联系管理员"; return(null); } //判断当前获取的数据是否在当前登录代理分支中 string _msg; List <AgentSearchModel> aList = CommonDAL.GetAgentTree(head.LoginID, "id", model.A_ID, out _msg); if (aList == null || aList.Count <= 0) { error.ErrMsg = _msg; return(null); } strSql = strSql.Replace("${AgentID}", model.A_ID); error.ErrNo = "0000"; error.ErrMsg = "获取数据成功"; return(CommonHelper.DataTableToJson(Db.Context_SqlServer.FromSql(strSql).ToDataTable())); } catch (Exception ex) { LogHelper.WriteLog(typeof(LoginDAL), ex); error.ErrMsg = "获取代理今日下单统计异常:" + ex.Message.Replace("\r", "").Replace("\n", ""); return(null); } }
/// <summary> /// 登出 /// </summary> /// <param name="requestMsg"></param> /// <param name="head"></param> /// <param name="client"></param> /// <returns></returns> public string SignOut(string requestMsg, HeadMessage head) { sendHead.Method = head.Method ?? ""; error.ErrNo = "0004"; try { AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); if (aSearch == null || string.IsNullOrEmpty(aSearch.A_UserID)) { error.ErrMsg = "参数不完整"; error.ErrNo = "0003"; } foreach (KeyValuePair <string, ClientOP> kv in WsSocket.dic_Clients) { if (kv.Value.LogName == aSearch.A_UserID) { error.ErrNo = "0000"; error.ErrMsg = aSearch.A_UserID + "登出成功"; ClientOP op; WsSocket.dic_Clients.TryRemove(kv.Key, out op);//将连接移除字典 break; } } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(LoginBLL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
/// <summary> /// 修改会员 /// </summary> /// <param name="model"></param> /// <param name="head"></param> /// <param name="error"></param> /// <returns></returns> public bool UpdateClnt(ClientSearc model, HeadMessage head, out ErrorMessage error) { error = new ErrorMessage(); error.ErrNo = "0004"; try { if (string.IsNullOrEmpty(model.C_ID)) { error.ErrMsg = "必须传递需要修改会员的ID"; return(false); } string strSql = SqlTemplateCommon.GetSql("A_UpdateT_Client"); if (string.IsNullOrEmpty(strSql)) { error.ErrMsg = "服务端没有读取到A_UpdateT_Client数据模板,请联系管理员"; return(false); } strSql = strSql.Replace("${ClientID}", model.C_ID); strSql = strSql.Replace("${LogName}", model.C_UserID); StringBuilder clntBuilder = new StringBuilder(); StringBuilder authBuilder = new StringBuilder(); StringBuilder clntExBuilder = new StringBuilder(); T_OperationLog opLog = new T_OperationLog(); StringBuilder logDesc = new StringBuilder(); logDesc.Append(DateTime.Now.ToString() + head.Account + "修改了会员" + model.C_UserID + " 以下信息:"); string pSql = "select a.AgentID A_ID,a.WashRate A_WashR,a.DrawRate A_DrawR,a.IntoRate A_IntoR,[dbo].[Base64Decode](a.F_3) A_Perm,a.Max_Z A_MX_Z,a.Min_Z A_MN_Z from T_Agent a ,T_CLient b where b.ClientID ='" + model.C_ID + "' and a.AgentID = b.AgentID"; AgentSearchModel pAgent = Db.Context_SqlServer.FromSql(pSql).ToFirst <AgentSearchModel>(); if (model.C_WashR != null && model.C_WashR > pAgent.A_WashR) { error.ErrMsg = "洗码率超出父级代理范围"; return(false); } if (pAgent.A_DrawR == 0 && model.C_DrawR != 0) { error.ErrMsg = "父级代理的和局率为0,所以此会员的和局率只能为0"; return(false); } if (pAgent.A_DrawR > 0 && model.C_DrawR <= 0) { error.ErrMsg = "父级代理的和局率不为0,所以此会员的和局率不能为0"; return(false); } if (model.C_DrawR != null && model.C_DrawR > pAgent.A_DrawR) { error.ErrMsg = "和局率超出父级代理范围"; return(false); } if (model.C_MX_Z != null && model.C_MX_Z > pAgent.A_MX_Z) { error.ErrMsg = "最大限红超出父级代理范围"; return(false); } if (model.C_MN_Z != null && model.C_MN_Z < pAgent.A_MN_Z) { error.ErrMsg = "最小限红超出父级范围"; return(false); } #region 组装修改会员Sql clntBuilder.Append("UPDATE T_Client set "); clntBuilder.Append(" ClientID ='" + model.C_ID + "'"); if (!string.IsNullOrEmpty(model.C_UserID)) { clntBuilder.Append(",LogName='" + model.C_UserID + "'"); } if (!string.IsNullOrEmpty(model.C_Name)) { clntBuilder.Append(",ClientName='" + model.C_Name + "'"); } if (model.C_MN_Z != null) { clntBuilder.Append(",Min_Z =" + model.C_MN_Z); clntBuilder.Append(",Min_X =" + model.C_MN_Z); clntBuilder.Append(",Min_XD =" + model.C_MN_Z); clntBuilder.Append(",Min_ZD =" + model.C_MN_Z); clntBuilder.Append(",Min_H =" + model.C_MN_Z); logDesc.Append("把最小限红改为了" + model.C_MN_Z + ";"); } if (model.C_MX_Z != null) { clntBuilder.Append(",Max_Z =" + model.C_MX_Z); clntBuilder.Append(",Max_X =" + model.C_MX_Z); clntBuilder.Append(",Max_XD =" + model.C_MX_Z / 10); clntBuilder.Append(",Max_ZD =" + model.C_MX_Z / 10); clntBuilder.Append(",Max_H =" + model.C_MX_Z / 10); logDesc.Append("把最大限红改为了" + model.C_MX_Z + ";"); } if (!string.IsNullOrEmpty(model.C_F2)) { clntBuilder.Append(",F_2 ='" + model.C_F2 + "'"); } if (model.C_WashT != null) { clntBuilder.Append(",WashType ='" + ((model.C_WashT) == true ? "s" : "d") + "'"); logDesc.Append("把洗码类型修改为了" + ((model.C_WashT == true) ? "双边" : "单边") + ";"); } if (model.C_WashR != null) { clntBuilder.Append(",WashRate =" + model.C_WashR); logDesc.Append("把洗码率修改为" + model.C_WashR + ";"); } if (model.C_DrawR != null) { clntBuilder.Append(",DrawRate =" + model.C_DrawR); logDesc.Append("把和局率修改为" + model.C_DrawR + ";"); } if (!string.IsNullOrEmpty(model.C_State)) { clntBuilder.Append(",State ='" + model.C_State + "'"); logDesc.Append("把状态修改为" + model.C_State + ";"); } clntBuilder.Append(" WHERE ClientID = '" + model.C_ID + "'"); strSql = strSql.Replace("${updateClient}", clntBuilder.ToString()); #endregion #region 组装修改会员限红sql authBuilder.Append("Update T_Authority set Priority='C'"); if (model.C_MX_Z != null && model.C_MX_Z >= 0) { authBuilder.Append(",Max_Z=" + model.C_MX_Z); authBuilder.Append(",Max_X=" + model.C_MX_Z); authBuilder.Append(",Max_H=" + model.C_MX_Z / 10); authBuilder.Append(",Max_XD=" + model.C_MX_Z / 10); authBuilder.Append(",Max_ZD=" + model.C_MX_Z / 10); } if (model.C_MN_Z != null && model.C_MN_Z >= 0) { authBuilder.Append(",Min_Z=" + model.C_MN_Z); authBuilder.Append(",Min_X=" + model.C_MN_Z); authBuilder.Append(",Min_H=" + model.C_MN_Z); authBuilder.Append(",Min_ZD=" + model.C_MN_Z); authBuilder.Append(",Min_XD=" + model.C_MN_Z); } authBuilder.Append(" WHERE [Priority] = 'C' and ClientID = '" + model.C_ID + "' "); strSql = strSql.Replace("${upAuthority}", authBuilder.ToString()); #endregion #region 组装修改会员赔率及显示隐藏洗码 clntExBuilder.Append("update T_ClientEx set "); clntExBuilder.Append(" ClientID ='" + model.C_ID + "'"); if (model.C_HdShow != null) { clntExBuilder.Append(",ClientDataShow=" + ((model.C_HdShow == true) ? 2 : 1)); } if (pAgent != null && !string.IsNullOrEmpty(pAgent.A_Perm) && pAgent.A_Perm.IndexOf("\"SetPV\":true") != -1) //需要所属代理有抽水权限才能修改赔率 { if (model.C_ODF != null) { clntExBuilder.Append(",Odds_Fu_Client=" + model.C_ODF); } if (model.C_ODH != null) { clntExBuilder.Append(",Odds_H_Client=" + model.C_ODH); } if (model.C_ODHe != null) { clntExBuilder.Append(",Odds_He_Client=" + model.C_ODHe); } if (model.C_ODL != null) { clntExBuilder.Append(",Odds_Long_Client=" + model.C_ODL); } if (model.C_ODX != null) { clntExBuilder.Append(",Odds_X_Client=" + model.C_ODX); } if (model.C_ODXD != null) { clntExBuilder.Append(",Odds_XD_Client=" + model.C_ODXD); } if (model.C_ODZ != null) { clntExBuilder.Append(",Odds_Z_Client=" + model.C_ODZ); } if (model.C_ODZD != null) { clntExBuilder.Append(",Odds_ZD_Client=" + model.C_ODZD); } } clntExBuilder.Append(" where ClientID ='" + model.C_ID + "'"); strSql = strSql.Replace("${upClientEx}", clntExBuilder.ToString()); #endregion strSql = strSql.Replace("##'", ""); strSql = strSql.Replace("##\"", ""); strSql = strSql.Replace("'##", ""); strSql = strSql.Replace("\"##", ""); Db.Context_SqlServer.FromSql(strSql).ToDataSet(); opLog.LogID = Guid.NewGuid().ToString().Replace("-", ""); opLog.LogTime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); opLog.LogType = "修改会员"; opLog.OpID = head.LoginID; opLog.LogInfo = logDesc.ToString(); if (Db.Context_SqlServer.Insert <T_OperationLog>(opLog) <= 0) { Common.LogHelper.WriteErrLog(typeof(AgentListDAL), "插入" + head.Account + "修改会员日志失败"); } error.ErrMsg = "修改会员成功"; error.ErrNo = "0000"; return(true); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(ClientListDAL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); return(false); } }
/// <summary> /// 获取会员邀请关系及会员所属代理层级关系 /// </summary> /// <param name="loginID"></param> /// <param name="userID"></param> /// <param name="msg"></param> /// <returns></returns> public static List <AgentSearchModel> GetAgentTree(string loginID, string userID, out string msg) { try { List <AgentSearchModel> agentList = new List <AgentSearchModel>(); int clntInvite = Db.Context_SqlServer.FromSql("select count(*) from T_WeiTou_Detail where logName = '" + userID + "'").ToScalar <int>(); if (clntInvite <= 0)//如果不是H5会员,则先查出此会员对应的代理ID,然后按照代理方式执行 { string aId = Db.Context_SqlServer.FromSql("select AgentID from T_Client where LogName ='" + userID + "'").ToScalar <string>(); return(GetAgentTree(loginID, "id", aId, out msg)); } string pSq = "select ClientID A_ID , logName A_UserID,InviterLogName A_Name,InviterID A_PID,AgentID3Bao A_Sub from T_WeiTou_Detail where logName = '" + userID + "'"; AgentSearchModel agent = Db.Context_SqlServer.FromSql(pSq).ToFirst <AgentSearchModel>(); if (agent == null) { msg = "没有找到数据"; return(null); } if (agent.A_PID == loginID) { if (!agentList.Contains(agent)) { agentList.Insert(0, agent); AgentSearchModel loginA = Db.Context_SqlServer.FromSql("select AgentID A_ID,LogName A_UserID,AgentName A_Name,ParentID A_PID from T_Agent where AgentID = '" + agent.A_PID + "'").ToFirst <AgentSearchModel>(); if (!agentList.Contains(loginA)) { agentList.Insert(0, loginA); } } msg = "ok"; return(agentList); } else { if (agent.A_ID == null || agent.A_PID == null) { msg = "你无权限查看此账号数据"; return(null); } if (!agentList.Contains(agent)) { agentList.Insert(0, agent); } string pID = agent.A_PID; int i = 0; while (true) { string zSql = "select ClientID A_ID , logName A_UserID,InviterLogName A_Name,InviterID A_PID from T_WeiTou_Detail where ClientID = '" + pID + "'"; AgentSearchModel agentSon = Db.Context_SqlServer.FromSql(zSql).ToFirst <AgentSearchModel>(); i++; AgentSearchModel loginAg = new AgentSearchModel(); if (i > 100) { msg = "超出邀请范围,无法查找到指定数据"; return(null); } if (agentSon == null) { agentSon = loginAg = Db.Context_SqlServer.FromSql("select AgentID A_ID,LogName A_UserID,AgentName A_Name,ParentID A_PID from T_Agent where AgentID = '" + pID + "'").ToFirst <AgentSearchModel>(); } if (agentSon == null) { msg = "超出邀请范围,无法查找到指定数据"; return(null); } if (agentSon.A_PID == loginID) { if (!agentList.Contains(agentSon)) { agentList.Insert(0, agentSon); loginAg = Db.Context_SqlServer.FromSql("select AgentID A_ID,LogName A_UserID,AgentName A_Name,ParentID A_PID from T_Agent where AgentID = '" + agentSon.A_PID + "'").ToFirst <AgentSearchModel>(); if (!agentList.Contains(loginAg)) { agentList.Insert(0, loginAg); } } msg = "ok"; return(agentList); } if (!agentList.Contains(agentSon)) { agentList.Insert(0, agentSon); } pID = agentSon.A_PID; }//while循环结束 } } catch (Exception ex) { LogHelper.WriteLog(typeof(CommonDAL), ex); throw; } }
public string LoginLogic(string requestMsg, HeadMessage head, ClientOP client) { sendHead.Method = head.Method ?? ""; error.ErrNo = "0004"; try { AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); string responseMsg = ""; string pId; if (CommonDAL.IsSubAgent(head.LoginID, out pId)) { head.LoginID = pId;//如果当前登录代理是子账号则,将此子账号的所属代理ID赋值为当前登录代理ID } if (aSearch == null) { error.ErrMsg = "没有接收到登录账号或密码"; error.ErrNo = "0003"; } else { switch (sendHead.Method) { case "Login": sendHead.Token = Guid.NewGuid().ToString().Replace("-", ""); responseMsg = loginDal.Login(aSearch, head, out error); if (error.ErrNo == "0000") { foreach (KeyValuePair <string, ClientOP> kv in WsSocket.dic_Clients) { if (!string.IsNullOrEmpty(aSearch.A_UserID) && kv.Value.LogName == aSearch.A_UserID) { ErrorMessage outErr = new ErrorMessage(); outErr.ErrNo = "0000"; outErr.ErrMsg = "此账号已在别处登录"; HeadMessage outHead = new HeadMessage(); outHead.Method = "GoOut"; ComunicationMsg outSend = new ComunicationMsg(); outSend.Head = JSON.ToJSON(outHead); outSend.Error = JSON.ToJSON(outErr); WsSocket ws = new WsSocket(); ws.Send(JSON.ToJSON(outSend), kv.Value.cSocket, true); ws.closeConnect(kv.Value.cSocket); //断开之前的连接 ClientOP op; WsSocket.dic_Clients.TryRemove(kv.Key, out op); //将连接移除字典 break; } } client.LogName = aSearch.A_UserID; client.Token = sendHead.Token; //将成功登录的客户端添加到字典中 WsSocket.dic_Clients.AddOrUpdate(client.ConID, client, (key, oldv) => client); } break; case "GetSelfCenterInfo": responseMsg = loginDal.GetATodayBillCount(aSearch, head, out error); break; case "CenterPlayList": responseMsg = loginDal.GetOnlineClntList(aSearch, head, out error); break; case "GetLoginACount": responseMsg = loginDal.GetACountByDate(aSearch, head, out error); break; case "AgentClientCount": responseMsg = loginDal.GetAClntCount(aSearch, head, out error); break; case "GetAorCAgentData": responseMsg = loginDal.GetAorCAgentData(aSearch, head, out error); break; case "GetAListByID": responseMsg = loginDal.GetAListByID(aSearch, head, out error); break; default: responseMsg = ""; break; } } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = JSON.ToJSON(new { JsonData = (string.IsNullOrEmpty(responseMsg)) ? "{}" : responseMsg }); return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(LoginBLL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
/// <summary> /// 根据LogName 或者AgentID 获取它在当前登录代理下的层级 /// </summary> /// <param name="loginID">当前登录代理AentID</param> /// <param name="sign">id表示通过AgentID查询 name表示通过LogName查询</param> /// <param name="value">LogName 获取 AgentID的值</param> /// <param name="msg">结果状态描述</param> /// <returns></returns> public static List <AgentSearchModel> GetAgentTree(string loginID, string sign, string value, out string msg) { try { List <AgentSearchModel> agentList = new List <AgentSearchModel>(); string pSql = "";//,WashRate A_WashR,IntoRate A_IntoR,DrawRate A_DrawR,Max_Z A_Mx_Z,Max_X A_Mx_X if (sign == "name") { pSql = "select AgentID A_ID,LogName A_UserID,AgentName A_Name,ParentID A_PID,WashRate A_WashR,IntoRate A_IntoR,DrawRate A_DrawR,Max_Z A_Mx_Z,Min_Z A_MN_Z,Principal A_Prncpl,F_3 A_Perm from T_Agent where LogName = '" + value + "'"; } else if (sign == "id") { pSql = "select AgentID A_ID,LogName A_UserID,AgentName A_Name,ParentID A_PID,WashRate A_WashR,IntoRate A_IntoR,DrawRate A_DrawR,Max_Z A_Mx_Z,Min_Z A_MN_Z, Principal A_Prncpl,F_3 A_Perm from T_Agent where AgentID = '" + value + "'"; } else { msg = "请传入正确的查询标记"; return(null); } AgentSearchModel agent = Db.Context_SqlServer.FromSql(pSql).ToFirst <AgentSearchModel>(); if (agent != null) { if (agent.A_ID == loginID) { if (!agentList.Contains(agent)) { agentList.Insert(0, agent); } msg = "ok"; return(agentList); } else { if (agent.A_ID == null || agent.A_ID == "root" || agent.A_PID == null || agent.A_PID == "root") { msg = "你无权限查看此账号数据"; return(null); } if (!agentList.Contains(agent)) { agentList.Insert(0, agent); } string pID = agent.A_PID; int i = 0; while (true) { string zSql = "select AgentID A_ID,LogName A_UserID,AgentName A_Name,ParentID A_PID,WashRate A_WashR,IntoRate A_IntoR,DrawRate A_DrawR,Max_Z A_Mx_Z,Max_X A_Mx_X, Principal A_Prncpl,F_3 A_Perm from T_Agent where AgentID = '" + pID + "'"; AgentSearchModel agentSon = Db.Context_SqlServer.FromSql(zSql).ToFirst <AgentSearchModel>(); i++; if (i > 20) { //防止造成死循环 超过20层层级的不处理 msg = "层级关系超出预期范围"; return(null); } if (agentSon != null) { if (agentSon.A_ID == loginID) { if (!agentList.Contains(agentSon)) { agentList.Insert(0, agentSon); } msg = "ok"; return(agentList); } if (agentSon.A_ID == null || agentSon.A_ID == "root" || agent.A_PID == null || agent.A_PID == "root") { msg = "你无权限查看此账号数据"; return(null); } else { if (!agentList.Contains(agentSon)) { agentList.Insert(0, agentSon); } pID = agentSon.A_PID; } } else { msg = "没有找到数据"; return(null); } } } } else { msg = "没有找到数据"; return(null); } } catch (Exception ex) { LogHelper.WriteLog(typeof(CommonDAL), ex); throw; } }
/// <summary> /// 新增代理/修改代理 /// </summary> /// <param name="requestMsg"></param> /// <param name="head"></param> /// <returns></returns> public string InsertAgent(string requestMsg, HeadMessage head) { sendHead.Method = head.Method ?? ""; error.ErrNo = "0004"; try { AgentSearchModel aSearch = JSON.ToObject <AgentSearchModel>(requestMsg); bool insertRes = false; string pId; if (CommonDAL.IsSubAgent(head.LoginID, out pId)) { head.LoginID = pId; error.ErrMsg = "子账号不具有此权限"; } else if (!CommonDAL.IsYes(head.LoginID)) { error.ErrMsg = "当前代理未启用,不具有此权限"; } else if (aSearch == null) { error.ErrMsg = "没有接收到正确的参数"; } else { switch (sendHead.Method) { case "InsertAgent": insertRes = agentListDal.InsertAgent(aSearch, head, out error); break; case "UpdateAgent": insertRes = agentListDal.UpdateAgent(aSearch, head, out error); break; case "AgentModifyPwd": insertRes = agentListDal.UpdateAPwd(aSearch, head, out error); break; case "AgentSelfModifyPwd": insertRes = agentListDal.UpdateLoginAPwd(aSearch, head, out error); break; case "AgentPoint": insertRes = agentListDal.AgentPoint(aSearch, head, out error); break; case "AgentClear": insertRes = agentListDal.ClearAgent(aSearch, head, out error); break; case "SettleOdds4Agent": insertRes = agentListDal.SettleOdds(aSearch, head, out error); break; case "SettleWashF4Agent": insertRes = agentListDal.SettleWashF(aSearch, head, out error); break; case "DeleteAgent": default: insertRes = false; break; } } sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Error = JSON.ToJSON(error); sendMsg.Reponse = JSON.ToJSON(new { JsonData = JSON.ToJSON(new { Result = insertRes }) }); return(JSON.ToJSON(sendMsg)); } catch (Exception ex) { Common.LogHelper.WriteLog(typeof(LoginBLL), ex); error.ErrMsg = ex.Message.Replace("\r", "").Replace("\n", ""); sendMsg.Head = JSON.ToJSON(sendHead); sendMsg.Reponse = "{}"; sendMsg.Error = JSON.ToJSON(error); return(JSON.ToJSON(sendMsg)); } }
public ActionResult AgentSearch(AgentSearchModel model) { var userId = User.Identity.GetUserId(); var aiaUserId = db.AIAUsers.First(u => u.ApplicationUserId == userId).Id; var quotes = db.Quotes.Where(q => q.AIAUserId == aiaUserId).ToList(); //var quotes = db.Quotes.ToList(); if (model.Id != null) { quotes = quotes.Where(q => q.Id == model.Id).ToList(); } if (!String.IsNullOrEmpty(model.CustomerFirstName)) { quotes = quotes.Where(q => q.CustomerFirstName.StartsWith(model.CustomerFirstName)).ToList(); } if (!String.IsNullOrEmpty(model.CustomerLastName)) { quotes = quotes.Where(q => q.CustomerLastName.StartsWith(model.CustomerLastName)).ToList(); } if (!String.IsNullOrEmpty(model.PhoneNumber)) { quotes = quotes.Where(q => q.CustomerPhone.Contains(model.PhoneNumber)).ToList(); } if (!String.IsNullOrEmpty(model.State)) { quotes = quotes.Where(q => q.State == model.State).ToList(); } if (model.Submitted != null) { quotes = quotes.Where(q => q.Submitted == model.Submitted).ToList(); } if (model.Skip != null && model.Take != null) { //return Json(quotes.Skip(model.Skip.Value).Take(model.Take.Value)); return(Json(quotes.Select(q => new { Id = q.Id, AIAUserId = q.AIAUserId, Price = q.Price, Submitted = q.Submitted, SubmissionTime = q.SubmissionTime, State = q.State, MovingViolation = q.MovingViolation, PreviousCarrier = q.PreviousCarrier, ClaimInLastFive = q.ClaimInLastFive, ForceMultiDiscount = q.ForceMultiDiscount, CustomerFirstName = q.CustomerFirstName, CustomerLastName = q.CustomerLastName, CustomerAddress = q.CustomerAddress, CustomerPhone = q.CustomerPhone, CustomerSsn = q.CustomerSsn, CustomerDob = q.CustomerDob }) .Skip(model.Skip.Value).Take(model.Take.Value))); } if (model.Skip != null && model.Take == null) { //return Json(quotes.Skip(model.Skip.Value)); return(Json(quotes.Select(q => new { Id = q.Id, AIAUserId = q.AIAUserId, Price = q.Price, Submitted = q.Submitted, SubmissionTime = q.SubmissionTime, State = q.State, MovingViolation = q.MovingViolation, PreviousCarrier = q.PreviousCarrier, ClaimInLastFive = q.ClaimInLastFive, ForceMultiDiscount = q.ForceMultiDiscount, CustomerFirstName = q.CustomerFirstName, CustomerLastName = q.CustomerLastName, CustomerAddress = q.CustomerAddress, CustomerPhone = q.CustomerPhone, CustomerSsn = q.CustomerSsn, CustomerDob = q.CustomerDob }).Skip(model.Skip.Value))); } if (model.Skip == null && model.Take != null) { //return Json(quotes.Take(model.Take.Value)); return(Json(quotes.Select(q => new { Id = q.Id, AIAUserId = q.AIAUserId, Price = q.Price, Submitted = q.Submitted, SubmissionTime = q.SubmissionTime, State = q.State, MovingViolation = q.MovingViolation, PreviousCarrier = q.PreviousCarrier, ClaimInLastFive = q.ClaimInLastFive, ForceMultiDiscount = q.ForceMultiDiscount, CustomerFirstName = q.CustomerFirstName, CustomerLastName = q.CustomerLastName, CustomerAddress = q.CustomerAddress, CustomerPhone = q.CustomerPhone, CustomerSsn = q.CustomerSsn, CustomerDob = q.CustomerDob }) .Take(model.Take.Value))); } else { //return Json(quotes); return(Json(quotes.Select(q => new { Id = q.Id, AIAUserId = q.AIAUserId, Price = q.Price, Submitted = q.Submitted, SubmissionTime = q.SubmissionTime, State = q.State, MovingViolation = q.MovingViolation, PreviousCarrier = q.PreviousCarrier, ClaimInLastFive = q.ClaimInLastFive, ForceMultiDiscount = q.ForceMultiDiscount, CustomerFirstName = q.CustomerFirstName, CustomerLastName = q.CustomerLastName, CustomerAddress = q.CustomerAddress, CustomerPhone = q.CustomerPhone, CustomerSsn = q.CustomerSsn, CustomerDob = q.CustomerDob }))); } }