| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- using SiteCore.Redis;
- using SQLData;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SiteCore.Handler
- {
- public partial class app
- {
- public void qdb_api_site()
- {
- //redis.RedisHelper.StringSet("duba_site", "");
- string siteStr = redis.RedisHelper.StringGet("duba_site");
- if (string.IsNullOrEmpty(siteStr))
- {
- string sql = "select id,(lng+'|'+lat) as lnglat,name,address from s_dusite where lng<>'' order by id asc";
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- List<string> strLst = new List<string>();
- foreach (DataRow dr in dt.Rows)
- {
- strLst.Add("{ title: \"" + dr["name"] + "\",point:\"" + dr["lnglat"] + "\",address:\"" + dr["address"] + "\"}");
- }
- if (strLst.Count > 0)
- {
- string str = string.Join(",", strLst.ToArray());
- redis.RedisHelper.StringSet("duba_site", str);
- conSuccess("success", str);
- return;
- }
- }
- }
- else
- {
- conSuccess("success", siteStr);
- return;
- }
- conError("none");
- }
- public void qdb_api_usesite()
- {
- //redis.RedisHelper.StringSet("duba_usesite", "");
- string siteStr = redis.RedisHelper.StringGet("duba_usesite");
- if (string.IsNullOrEmpty(siteStr))
- {
- string sql = "select id,(lng+'|'+lat) as lnglat,name,address from s_dusite where lng<>'' order by id asc";
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- List<string> strLst = new List<string>();
- foreach (DataRow dr in dt.Rows)
- {
- strLst.Add("{ \"id\":\"" + dr["id"] + "\", \"name\": \"" + dr["name"] + "\",\"point\":\"" + dr["lnglat"] + "\",\"address\":\"" + dr["address"] + "\"}");
- }
- if (strLst.Count > 0)
- {
- string str = string.Join(",", strLst.ToArray());
- redis.RedisHelper.StringSet("duba_usesite", str);
- conSuccess("success", str);
- return;
- }
- }
- }
- else
- {
- conSuccess("success", siteStr);
- return;
- }
- conError("none");
- }
- public void qdb_api_perday()
- {
- string perday = redis.RedisHelper.StringGet("duba_perday");
- if (string.IsNullOrEmpty(perday))
- {
- StringBuilder sql = new StringBuilder();
- sql.AppendFormat("select (SELECT COUNT(0) FROM S_DuUser where Mobile<>'') as ucount,(SELECT COUNT(0) FROM S_DuUser WHERE DATEDIFF(D, addtime, GETDATE())=0 and Mobile <> '') as joinuser,(SELECT COUNT(0) FROM S_DuEntryExit WHERE DATEDIFF(D,addtime,GETDATE())=0) as entryuser");
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- DataRow dr = dt.Rows[0];
- StringBuilder result = new StringBuilder();
- result.Append("{");
- result.AppendFormat("\"ucount\":{0},\"joinuser\":{1},\"entryuser\":{2}", dr["ucount"], dr["joinuser"], dr["entryuser"]);
- result.Append("}");
- redis.RedisHelper.StringSet("duba_perday", result.ToString(), TimeSpan.FromMinutes(1));
- conSuccess("success", result.ToString());
- }
- }
- else
- {
- conSuccess("success", perday.ToString());
- }
- }
- public void qdb_api_sitecurday()
- {
- //redis.RedisHelper.StringSet("duba_siteperday", "");
- string siteperday = redis.RedisHelper.StringGet("duba_siteperday");
- if (string.IsNullOrEmpty(siteperday))
- {
- StringBuilder sql = new StringBuilder();
- sql.AppendFormat("SELECT siteid,COUNT(0) as c FROM S_DuEntryExit WHERE DATEDIFF(D,addtime,GETDATE())=0 group by siteid");
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- StringBuilder result = new StringBuilder();
- int k = 0;
- foreach (DataRow dr in dt.Rows)
- {
- if (k > 0) result.Append(",{");
- else result.Append("{");
- result.AppendFormat("\"siteid\":{0},\"ucount\":{1}", dr["siteid"], dr["c"]);
- result.Append("}");
- k++;
- }
- redis.RedisHelper.StringSet("duba_siteperday", result.ToString(), TimeSpan.FromMinutes(1));
- conSuccess("success", result.ToString());
- }
- }
- else
- {
- conSuccess("success", siteperday.ToString());
- }
- }
- public void qdb_api_sitemonth()
- {
- //redis.RedisHelper.StringSet("duba_sitemonth", "");
- string rstr = redis.RedisHelper.StringGet("duba_sitemonth");
- if (string.IsNullOrEmpty(rstr))
- {
- StringBuilder sql = new StringBuilder();
- sql.AppendFormat("SELECT siteid,COUNT(0) as c FROM S_DuEntryExit WHERE DATEDIFF(m,addtime,GETDATE())=0 group by siteid");
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- StringBuilder result = new StringBuilder();
- int k = 0;
- foreach (DataRow dr in dt.Rows)
- {
- if (k > 0) result.Append(",{");
- else result.Append("{");
- result.AppendFormat("\"siteid\":{0},\"ucount\":{1}", dr["siteid"], dr["c"]);
- result.Append("}");
- k++;
- }
- redis.RedisHelper.StringSet("duba_sitemonth", result.ToString(), TimeSpan.FromMinutes(10));
- conSuccess("success", result.ToString());
- }
- }
- else
- {
- conSuccess("success", rstr);
- }
- }
- public void qdb_api_monthreport()
- {
- //redis.RedisHelper.StringSet("duba_monthreport", "");
- string rstr = redis.RedisHelper.StringGet("duba_monthreport");
- if (string.IsNullOrEmpty(rstr))
- {
- StringBuilder sql = new StringBuilder();
- sql.AppendFormat("SELECT convert(varchar,addtime,23) as ctime,COUNT(0) as c FROM S_DuEntryExit WHERE DATEDIFF(m,addtime,GETDATE())=0 group by convert(varchar,addtime,23)");
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- StringBuilder result = new StringBuilder();
- int k = 0;
- foreach (DataRow dr in dt.Rows)
- {
- if (k > 0) result.Append(",{");
- else result.Append("{");
- result.AppendFormat("\"day\":{0},\"ucount\":{1}", Convert.ToDateTime(dr["ctime"]).Day, dr["c"]);
- result.Append("}");
- k++;
- }
- redis.RedisHelper.StringSet("duba_monthreport", result.ToString(), TimeSpan.FromMinutes(10));
- conSuccess("success", result.ToString());
- }
- }
- else
- {
- conSuccess("success", rstr);
- }
- }
- public void qdb_api_userduty()
- {
- //redis.RedisHelper.StringSet("duba_userduty", "");
- string rstr = redis.RedisHelper.StringGet("duba_userduty");
- if (string.IsNullOrEmpty(rstr))
- {
- StringBuilder sql = new StringBuilder();
- sql.AppendFormat("SELECT duty,COUNT(0) as c FROM s_duuser group by duty order by count(0) desc");
- DataTable dt = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
- if (dt != null && dt.Rows.Count > 0)
- {
- StringBuilder result = new StringBuilder();
- int i = 0;
- foreach (DataRow dr in dt.Rows)
- {
- if (dr["duty"].ToString() == "") continue;
- if(i==0) result.Append("{");
- else result.Append(",{");
- result.AppendFormat("\"duty\":\"{0}\",\"ucount\":{1}", dr["duty"], dr["c"]);
- result.Append("}");
- i++;
- if (i >= 5) break;
- }
- var pList = from t in dt.AsEnumerable()
- group t by new { } into v
- select new
- {
- count = v.Sum(t => t.Field<int>("c"))
- };
- if (pList.Count() > 0)
- {
- result.Append(",{");
- result.AppendFormat("\"duty\":\"其它\",\"ucount\":{0}", pList.ToList()[0].count);
- result.Append("}");
-
- }
- redis.RedisHelper.StringSet("duba_userduty", result.ToString(), TimeSpan.FromMinutes(10));
- conSuccess("success", result.ToString());
- }
- }
- else
- {
- conSuccess("success", rstr);
- }
- }
- }
- }
|