using BizCom; using SiteCore.Redis; using SQLData; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; namespace SiteCore.Handler { public partial class sync { public void get_qdb_sitedev() { if (UrlPostParmsCheck("sid")) { int pbid = GetPostInt("sid"); DataStruct dStruct = GetStruct(); List lw = new List(); lw.Add("siteid=" + pbid); string sql = "select a.id,a.name as sitename,b.* from s_dusite as a left join s_dusitedev as b on a.id=b.siteid"; dStruct.Order = "sitename asc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData(sql, dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } } public void save_qdb_sitedev() { if (UrlPostParmsCheck("sid")) { int sid = GetPostInt("sid"); string devip1 = GetPostString("DevIP1"); string devip2 = GetPostString("DevIP2"); string mac1 = GetPostString("MAC1"); string mac2 = GetPostString("MAC2"); bool isnew = false; SDuSiteDev entity = SDuSiteDev.Get(sid); if (entity != null) { isnew = false; } else { entity = new SDuSiteDev(); isnew = true; entity.SiteID = sid; } entity.DevIP1 = devip1; entity.DevIP2 = devip2; entity.MAC1 = mac1; entity.MAC2 = mac2; if (isnew) entity.Create(); else entity.Update(); returnSuccessMsg("保存成功"); } } public void get_duentryexit() { DataStruct dStruct = GetPostStruct(); List lw = new List(); string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format(" (nickname like '%{0}%' or mobile like '%{0}%') ", key)); int sid = GetPostInt("sid"); if (sid > 0) { lw.Add(" siteid=" + sid); } dStruct.Order = "addtime desc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("view_DuEntryExit", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void get_duinouthistory() { DataStruct dStruct = GetPostStruct(); List lw = new List(); int id = GetPostInt("sid"); if (id > 0) { lw.Add("siteid=" + id); } string ctime = GetPostString("ctime"); if (ctime != "") { lw.Add(string.Format(" datediff(d,addtime,'{0}')=0 ", ctime)); } string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format(" (nickname like '%{0}%' or mobile like '%{0}%') ", key)); dStruct.Order = "id desc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("view_DuEntryExit", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void get_duuser() { DataStruct dStruct = GetPostStruct(); List lw = new List(); int id = GetPostInt("sid"); string ctime = GetPostString("ctime"); if (ctime != "") { lw.Add(string.Format(" datediff(d,addtime,'{0}')=0 ", ctime)); } string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format(" (nickname like '%{0}%' or mobile like '%{0}%') ", key)); string st = GetPostString("st"); if (st.Length>0 && st!="-1") { lw.Add("state=" + st); } dStruct.Order = "id desc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("s_duuser", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void set_qdb_userstate() { if (UrlPostParmsCheck("uid,state,opid")) { int state = GetPostInt("state"); int uid = GetPostInt("uid"); string openid = GetPostString("opid"); openid = HttpUtility.UrlDecode(openid); string sql = "update s_duuser set state="+state+" where id=" + uid; DbHelper.DbConn.ExecuteNonQuery(sql); redis.RedisHelper.StringSet(openid, uid + "|" + state); returnSuccessMsg("设置成功!"); } } public void get_quduba_site() { DataStruct dStruct = GetPostStruct(); List lw = new List(); string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format("name like '%{0}%'", key)); dStruct.Order = "id asc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("S_DuSite", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void save_quduba_site() { if (UrlPostParmsCheck("name,address")) { int sid = GetPostInt("sid"); string name = GetPostString("name"); string address = GetPostString("address"); string optime = GetPostString("optime"); string devip1 = GetPostString("devip1"); string devip2 = GetPostString("devip2"); string mac1 = GetPostString("mac1"); string mac2 = GetPostString("mac2"); string blnglat = GetPostString("blnglat"); string lnglat = GetPostString("lnglat"); SDuSite entity = null; if (sid > 0) entity = SDuSite.Get(sid); else entity = new SDuSite(); entity.Name = name; entity.Address = address; entity.OpenTime = optime; entity.DevIP1 = devip1; entity.DevIP2 = devip2; entity.MAC1 = mac1; entity.MAC2 = mac2; string[] tmp; if (blnglat.Length > 0) { tmp = blnglat.Split(','); entity.bLng = tmp[0]; entity.bLat = tmp[1]; } if (lnglat.Length > 0) { tmp = lnglat.Split(','); entity.Lng = tmp[0]; entity.Lat = tmp[1]; } if (sid > 0) entity.Update(); else entity.Create(); //redis.RedisHelper.KeyDelete("duba_site"); //duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("保存成功"); } } public void del_quduba_site() { if (UrlParmsCheck("sid")) { int sid = GetInt("sid"); SDuSite.Del(sid); //redis.RedisHelper.KeyDelete("duba_site"); //duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("删除成功!"); } } public void startstop_quduba_site() { if (UrlPostParmsCheck("sid")) { int state = GetPostInt("st"); int sid = GetPostInt("sid"); string sql = string.Format("update s_dusite set state={0} where id={1}", state, sid); DbHelper.DbConn.ExecuteNonQuery(sql.ToString()); //redis.RedisHelper.KeyDelete("duba_site"); //duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("操作成功!"); } } public void refresh_quduba_site() { redis.RedisHelper.KeyDelete("duba_site"); duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("推送成功!"); } public void get_quduba_limitopen() { DataStruct dStruct = GetPostStruct(); List lw = new List(); string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format("name like '%{0}%'", key)); dStruct.Order = "id asc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("view_DuLimitOpen", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void del_quduba_limitopen() { if (UrlPostParmsCheck("sid")) { int sid = GetPostInt("sid"); SDuLimitOpen.Del(sid); duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("删除成功!"); } } public void save_quduba_limitopen() { if (UrlPostParmsCheck("sdate,edate")) { int siteid = GetPostInt("siteid"); string sdate = GetPostString("sdate"); string edate = GetPostString("edate"); string hstime = GetPostString("hstime"); string hetime = GetPostString("hetime"); int isclose = GetPostInt("isclose"); int sid = GetPostInt("sid"); SDuLimitOpen limit = null; if (sid > 0) { limit = SDuLimitOpen.Get(sid); } else { limit = new SDuLimitOpen(); } limit.siteid = siteid; limit.sdate = sdate; limit.edate = edate; limit.stime = hstime; limit.etime = hetime; limit.isclose = isclose == 1 ? true : false; if (sid > 0) limit.Update(); else limit.Create(); duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("保存成功!"); } } public void get_quduba_opentime() { DataStruct dStruct = GetPostStruct(); List lw = new List(); string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format("SiteName like '%{0}%'", key)); dStruct.Order = "id asc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("view_DuOpenTime", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void save_qdb_opentime() { if (UrlPostParmsCheck("optime")) { int id = GetPostInt("oid"); int siteid = GetPostInt("sid"); string optime = GetPostString("optime"); string effect = GetPostString("effect"); SDuOpenTime entity = null; if (id > 0) entity = SDuOpenTime.Get(id); else { if (SDuOpenTime.Exists("SiteID=?", siteid)) { returnErrorMsg("已存在该吧点的配置,直接修改就行!"); return; } entity = new SDuOpenTime(); } entity.SiteID = siteid; entity.OpenTime = optime; if (effect != "") entity.EffectTime = Convert.ToDateTime(effect); else entity.EffectTime = DateTime.Now; if (id > 0) entity.Update(); else entity.Create(); duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("保存成功!"); } } public void del_qdb_opentime() { if(UrlPostParmsCheck("oid")) { int oid = GetPostInt("oid"); SDuOpenTime.Del(oid); duRedis.RedisHelper.KeyDelete("remoteOpen"); returnSuccessMsg("删除成功!"); } } public void get_quduba_notify() { DataStruct dStruct = GetPostStruct(); List lw = new List(); string key = GetPostString("key"); if (key.Length > 0) lw.Add(string.Format("name like '%{0}%'", key)); dStruct.Order = "id asc"; dStruct.MainWhere = string.Join(" and ", lw.ToArray()); DataTable dt = WebCache.GetData("view_DuNotify", dStruct); writeGridJson(dStruct.TotalCount, Utils.Serialization.JsonString.DataTable2MiniAjaxJson(dt)); } public void save_quduba_notify() { if (UrlPostParmsCheck("con")) { int id = GetPostInt("sid"); int siteid = GetPostInt("siteid"); string con = GetPostString("con"); string effect = GetPostString("effect"); SDuNotify entity = null; if (id > 0) entity = SDuNotify.Get(id); else { if (SDuNotify.Exists("SiteID=?", siteid)) { returnErrorMsg("已存在该吧点的配置,直接修改就行!"); return; } entity = new SDuNotify(); } entity.SiteID = siteid; entity.WavConfig = con; if (effect != "") entity.EffectTime = Convert.ToDateTime(effect); else entity.EffectTime = DateTime.Now; if (id > 0) entity.Update(); else entity.Create(); returnSuccessMsg("保存成功!"); } } public void del_quduba_notify() { if (UrlPostParmsCheck("oid")) { int oid = GetPostInt("oid"); SDuNotify.Del(oid); returnSuccessMsg("删除成功!"); } } public void update_qdb_opentime() { StringBuilder sql = new StringBuilder(); sql.AppendFormat("select * from S_DuOpenTime ;"); DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString()); DataTable dt = ds.Tables[0]; List opLst = new List(); foreach (DataRow dr in dt.Rows) { opLst.Add("OPSite" + dr["siteid"] + "=" + Convert.ToDateTime(dr["effecttime"]).ToString("yyyy-MM-dd") + "$" + dr["opentime"]); } if (opLst.Count > 0) { opLst.Insert(0, "[SET]"); wirteFile(webConfig.dbdownPath + "\\otset.txt", opLst); updateVer(); } returnSuccessMsg("已推送更新!"); } public void update_qdb_limitopen() { DateTime dTime = DateTime.Now; string nTime = dTime.ToString("yyyy-MM-dd"); StringBuilder sql = new StringBuilder(); sql.AppendFormat("select * from S_DuLimitOpen where sdate>='" + nTime + "' order by sdate asc;"); DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString()); DataTable dt = ds.Tables[0]; List opLst = new List(); Dictionary> dics = new Dictionary>(); foreach (DataRow dr in dt.Rows) { if(dics.ContainsKey("LOSite" + dr["siteid"])) { dics.Add("LOSite" + dr["siteid"],new List()); } dics["LOSite" + dr["siteid"]].Add(dr["sdate"] + "," + dr["edate"] + "," + dr["stime"] + "," + dr["etime"] + "," + (Convert.ToBoolean(dr["isclose"]) ? "1" : "0")); //opLst.Add("LOSite" + dr["siteid"] + "=" + ); } foreach(KeyValuePair> kvp in dics) { opLst.Add(kvp.Key+"="+ string.Join(",", kvp.Value.ToArray())); } if (opLst.Count > 0) { opLst.Insert(0, "[SET]"); wirteFile(webConfig.dbdownPath + "\\lotset.txt", opLst); updateVer(); } returnSuccessMsg("已推送更新!"); } public void update_qdb_wavsetting() { DateTime dTime = DateTime.Now; string nTime = dTime.ToString("yyyy-MM-dd"); StringBuilder sql = new StringBuilder(); sql.AppendFormat("select * from S_DuNotify ;"); DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString()); DataTable dt = ds.Tables[0]; List opLst = new List(); foreach (DataRow dr in dt.Rows) { opLst.Add("WavSite" + dr["siteid"] + "=" + Convert.ToDateTime(dr["effecttime"]).ToString("yyyy-MM-dd") + "$" + dr["wavconfig"]); } if (opLst.Count > 0) { opLst.Insert(0, "[SET]"); wirteFile(webConfig.dbdownPath + "\\wavset.txt", opLst); updateVer(); } returnSuccessMsg("已推送更新!"); } private void updateVer() { string file = con.Server.MapPath("../du/qdb_ver.html"); if (!File.Exists(file)) return; string str = ""; using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read)) { using (StreamReader sr = new StreamReader(fs, Encoding.ASCII)) { str = sr.ReadToEnd(); } } double ver = 0.01; if (str != "") ver = Convert.ToDouble(str) + 0.01; using (FileStream fs1 = new FileStream(file, FileMode.Open, FileAccess.Write)) { using (StreamWriter sw = new StreamWriter(fs1)) { sw.Write(ver.ToString()); } } } private void wirteFile(string file,List opLst) { FileStream fs = new FileStream(file, FileMode.Create); StreamWriter sw = new StreamWriter(fs,Encoding.Default); sw.Write(string.Join("\r\n", opLst.ToArray())); //清空缓冲区内容 sw.Flush(); //关闭流 sw.Close(); fs.Close(); } } }