public string carStatistics() { var start = DateTime.Now.AddYears(-100); var end = DateTime.Now; var onhtml = string.Empty; var busicount = 0; var combusi = 0; var userscount = 0; var success = 0; var intebusi = 0; try { using (var cardb = new carsContext()) { userscount = cardb.Caruser.Count(); busicount = cardb.Carbusiness.Count(); intebusi = cardb.Carbusiness.Count(b => b.Integrated == true); combusi = cardb.Carbusinesshis.Count(); success = cardb.Carbusinesshis.Count(a => a.Completed == false); } } catch (Exception ex) { } onhtml += "<li>进行中业务量: " + busicount + "</li>"; onhtml += "<li>进行中完整业务量: " + intebusi + "</li>"; onhtml += "<li>办结业务量: " + combusi + "</li>"; onhtml += "<li>成功办结业务量: " + success + "</li>"; onhtml += "<li>登录用户总数: " + userscount + "</li>"; return(onhtml); // Response.ContentType = "text/event-stream"; // return "data:" + onhtml + "\n\n"; }
public static async Task LogRequest(string content, string method = null, string ip = null, short businessType = 0) { try{ var dbtext = string.Empty; var dbmethod = string.Empty; var dbip = string.Empty; var contentlenth = 4150; var shortlength = 44; if (!string.IsNullOrEmpty(content)) { var lenth = content.Length; dbtext = lenth > contentlenth?content.Substring(0, contentlenth) : content; } if (!string.IsNullOrEmpty(method)) { dbmethod = method.Length > shortlength?method.Substring(0, shortlength) : method; } if (!string.IsNullOrEmpty(ip)) { dbip = ip.Length > shortlength?ip.Substring(0, shortlength) : ip; } await Task.Run(() => { using (var logdb = new carsContext()) { logdb.Carslog.Add(new Carslog { Content = dbtext, Businesstype = businessType, Ip = dbip, Method = dbmethod, Time = DateTime.Now }); logdb.SaveChanges(); } }); } catch (Exception ex) { Console.WriteLine("db log error :{0}", ex.Message); } }
static void clean(carsContext db, string identity, businessType bbtype, DateTime dsubmit) { var busi = db.Carbusiness.FirstOrDefault(b => b.Identity == identity && b.Businesstype == (short)bbtype && b.Integrated == true && b.Exporttime == dsubmit); if (busi != null) { db.Carbusinesshis.Add(new Carbusinesshis { Identity = busi.Identity, Businesstype = busi.Businesstype, Time = DateTime.Now, }); db.Carbusiness.Remove(busi); var pics = db.Carbusinesspic.Where(a => a.Identity == identity && a.Businesstype == (int)bbtype); foreach (var pic in pics) { db.Carbusinesspic.Remove(pic); } } db.SaveChanges(); }
public aballresponse CheckRequestCar() { var ret = new aballresponse { status = 0, values = new List <values>(), labels = new List <labels>() }; try { using (var driverdb = new carsContext()) { var ah = driverdb.Carslog.Where(ab => ab.Time.CompareTo(DateTime.Now.AddDays(-1)) >= 0).Select(a => a.Time); var aaaaa = from one in ah group one by one.ToString("yyyy-MM-dd HH") + "点" into onegroup orderby onegroup.Key descending select new aaa { day = onegroup.Key, count = onegroup.Count() }; foreach (var cc in aaaaa) { ret.labels.Add(new labels { label = cc.day }); ret.values.Add(new values { value = cc.count.ToString() }); } } } catch (Exception ex) { ret.content += ex.Message; } return(ret); }
static void DbToFileForExtranetToIntranet() { var date = DateTime.Now; var dir = string.Format("{0}-{1}-{2}-{3}-{4}-{5}", date.Year, date.Month.ToString("D2"), date.Day.ToString("D2"), date.Hour.ToString("D2"), date.Minute.ToString("D2"), date.Second.ToString("D2")); var dbtofilefname = "cars.txt"; var home = "/home/carbusiness";// Environment.GetEnvironmentVariable("HOME"); var dbtofp = Path.Combine(home, dbtofilePath); if (!Directory.Exists(dbtofp)) { Directory.CreateDirectory(dbtofp); } var fname = Path.Combine(dbtofp, dbtofilefname); using (var db = new carsContext()) { //冗余传输,防止边界平台not delivery var rebusi = db.Carbusiness.Where(async => async.Integrated == true && async.Exporttime.CompareTo(date.AddDays(-1)) >= 0 ); Console.WriteLine("redundant is {1}, {2} records need to be archived", ",", date, rebusi.Count()); foreach (var rere in rebusi) { var picsr = db.Carbusinesspic.Where(c => c.Businesstype == rere.Businesstype && c.Identity == rere.Identity && c.Uploaded == true); if (picsr.Count() >= global.businesscount[(businessType)rere.Businesstype]) { var aouser = db.Caruser.FirstOrDefault(aa => aa.Identity == rere.Identity); if (aouser == null || string.IsNullOrEmpty(aouser.Name)) { continue; } var bt = (businessType)rere.Businesstype; if (bt != businessType.scrap) { NewMethod(aouser.Photofile, bt.ToString(), home); } var addr = string.Empty; if (!string.IsNullOrEmpty(rere.Province)) { addr += rere.Province; } if (!string.IsNullOrEmpty(rere.City)) { addr += rere.City; } if (!string.IsNullOrEmpty(rere.County)) { addr += rere.County; } if (!string.IsNullOrEmpty(rere.Postaddr)) { addr += rere.Postaddr; } var line = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}", rere.Identity, ((businessType)rere.Businesstype).ToString(), addr, rere.Acceptingplace, rere.Cartype, aouser.Phone, aouser.Name, rere.Platetype, rere.Platenumber1 + rere.Platenumber2, rere.Exporttime.ToString("yyyy/MM/dd HH:mm:ss"), aouser.Photofile); File.AppendAllText(fname, line + "\r\n"); } } var theuser = db.Carbusiness.Where(async => async.Integrated == false); Console.WriteLine("today is {1}, {2} records need to be archived", ",", date, theuser.Count()); foreach (var re in theuser) { var pics = db.Carbusinesspic.Where(c => c.Businesstype == re.Businesstype && c.Identity == re.Identity && c.Uploaded == true); if (pics.Count() >= global.businesscount[(businessType)re.Businesstype]) { var aouser = db.Caruser.FirstOrDefault(aa => aa.Identity == re.Identity); if (aouser == null || string.IsNullOrEmpty(aouser.Name)) { continue; } var bt = (businessType)re.Businesstype; if (bt != businessType.scrap) { NewMethod(aouser.Photofile, bt.ToString(), home); } var addr = string.Empty; if (!string.IsNullOrEmpty(re.Province)) { addr += re.Province; } if (!string.IsNullOrEmpty(re.City)) { addr += re.City; } if (!string.IsNullOrEmpty(re.County)) { addr += re.County; } if (!string.IsNullOrEmpty(re.Postaddr)) { addr += re.Postaddr; } var line = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}", re.Identity, ((businessType)re.Businesstype).ToString(), addr, re.Acceptingplace, re.Cartype, aouser.Phone, aouser.Name, re.Platetype , re.Platenumber1 + re.Platenumber2, date.ToString("yyyy/MM/dd HH:mm:ss"), aouser.Photofile); File.AppendAllText(fname, line + "\r\n"); re.Integrated = true; re.Status = 1; re.Exporttime = date; re.Waittime = date; } } db.SaveChanges(); } var exp = Path.Combine(home, exportPath); if (!Directory.Exists(exp)) { Directory.CreateDirectory(exp); } var zipfname = Path.Combine(exp, dir + "-cars"); var a = new System.Diagnostics.Process(); a.StartInfo.UseShellExecute = true; a.StartInfo.Arguments = string.Format(" -9 {0} {1}/* -r", zipfname, dbtofp); a.StartInfo.FileName = "zip"; a.Start(); a.WaitForExit(); }
public commonresponse uploadpic([FromBody] uploadpicrequest input) { // highlevel.LogRequest("uploadpic", "uploadpic", Request.HttpContext.Connection.RemoteIpAddress.ToString()); if (input == null) { return(highlevel.commonreturn(responseStatus.requesterror)); } var accinfo = highlevel.GetInfoByToken(Request.Headers); if (accinfo.status != responseStatus.ok) { return(accinfo); } _log.LogInformation("uploadpic-{3}: id={0},bt={1},pictype={2}", accinfo.Identity, accinfo.businessType, input.picType, DateTime.Now); if (!savePic(input.picture, input.picType, accinfo.photofile, accinfo.businessType)) { return(highlevel.commonreturn(responseStatus.fileprocesserror)); } if (input.picType == picType.unknown) { return(highlevel.commonreturn(responseStatus.pictypeerror)); } if (accinfo.businessType == businessType.unknown) { return(highlevel.commonreturn(responseStatus.businesstypeerror)); } try { using (var ddbb = new carsContext()) { var already = ddbb.Carbusinesspic.FirstOrDefault(i => i.Businesstype == (int)accinfo.businessType && i.Identity == accinfo.Identity && i.Pictype == (short)input.picType); if (already == null) { var newpic = new Carbusinesspic { Identity = accinfo.Identity, Businesstype = (short)accinfo.businessType, Pictype = (short)input.picType, Uploaded = true, Time = DateTime.Now }; // highlevel.infolog(_log, "uploadpic", JsonConvert.SerializeObject(newpic)); var ret = ddbb.Carbusinesspic.Add(newpic); // highlevel.infolog(_log, "uploadpic88", JsonConvert.SerializeObject(ret.Entity)); } else { already.Uploaded = true; already.Time = DateTime.Now; } ddbb.SaveChanges(); } } catch (Exception ex) { highlevel.errorlog(_log, "uploadpic", ex); } try { var he = Request.Host.ToString(); foreach (var a in Request.Headers) { he += "--" + a.Key + "=" + a.Value; } Task.Run(() => highlevel.LogRequest(he + input.picType + accinfo.Identity, "uploadpic", Request.HttpContext.Connection.RemoteIpAddress.ToString(), (short)accinfo.businessType)); } catch (Exception ex) { _log.LogError("dblog error:", ex); } _log.LogInformation("uploadpic-{3}: id={0},bt={1},pictype={2}---over", accinfo.Identity, accinfo.businessType, input.picType, DateTime.Now); return(new commonresponse { status = responseStatus.ok }); }
static void FileToDb() { using (var db = new carsContext()) { var filebase = "result.txt"; var home = "/home/carbusiness";// Environment.GetEnvironmentVariable("HOME"); var fname = Path.Combine(home, importPath, filebase); if (!File.Exists(fname)) { Console.WriteLine("file {0} does not exist, exit.{1}", fname, DateTime.Now); return; } var content = File.ReadAllLines(fname); Console.WriteLine("{0} lines need to import", content.Length); foreach (var line in content) { var fields = line.Split(','); if (fields.Length < 6) { Console.WriteLine(" invalid data line {0},{1}", fields.Length, line); continue; } var identity = fields[0]; var btype = fields[1]; var bbtype = businessType.unknown; if (!Enum.TryParse(btype, out bbtype)) { Console.WriteLine(" businessType error line {0},{1}", fields.Length, line); continue; } var success = fields[2]; var desc = fields[3]; var timed = fields[4]; var timedd = DateTime.Now; if (!DateTime.TryParse(timed, out timedd)) { Console.WriteLine(" process time error line {0},{1}", timed, line); // Console.WriteLine(" businessType ={0},identity={1},success={2},desc={3},timedd={4},bbtype={5}", // btype, identity, success, desc, timedd, (int)bbtype); continue; } var submittime = fields[5]; var dsubmit = DateTime.Now; if (!DateTime.TryParse(submittime, out dsubmit)) { Console.WriteLine(" submittime error line {0},{1}", submittime, line); continue; } switch (success) { case "1": clean(db, identity, bbtype, dsubmit); break; case "2": clean(db, identity, bbtype, dsubmit); var tuser = db.Caruser.FirstOrDefault(a => a.Identity == identity); if (tuser != null) { tuser.Blacklist = true; db.SaveChanges(); } break; case "3": var busi3 = db.Carbusiness.FirstOrDefault(b => b.Identity == identity && b.Businesstype == (short)bbtype && b.Integrated == true && b.Exporttime == dsubmit); if (busi3 != null) { busi3.Status = (short)businessstatus.process; // busi3.Reason=desc; busi3.Processtime = timedd; db.SaveChanges(); } break; case "4": var busi4 = db.Carbusiness.FirstOrDefault(b => b.Identity == identity && b.Businesstype == (short)bbtype && b.Integrated == true && b.Exporttime == dsubmit); if (busi4 != null) { busi4.Status = (short)businessstatus.failure; busi4.Reason = desc; busi4.Finishtime = timedd; db.SaveChanges(); } break; case "7": clean(db, identity, bbtype, dsubmit); break; case "8": var tuser8 = db.Caruser.FirstOrDefault(a => a.Identity == identity); if (tuser8 != null) { tuser8.Blacklist = false; db.SaveChanges(); } break; default: Console.WriteLine(" invalid data line {0},{1}", fields.Length, line); break; } } } }
public commonresponse getScrapDoneList(string startdate = "2000-1-1", string enddate = "2222-2-2", CarType carType = CarType.unknown, int startnum = 1, int endnum = -1) { try { var token = Request.Headers["Token"].First(); var found = false; var scrapplace = ScrapPlace.unknown; foreach (var a in tokens) { if (a.Token == token) { scrapplace = a.scrapPlace; found = true; break; } } _log.LogInformation("DeleteScrap,{0},,", 111); if (!found) { _log.LogInformation("DeleteScrap,{0}", responseStatus.tokenerror); return(new commonresponse { status = responseStatus.tokenerror }); } var start = DateTime.Now; if (string.IsNullOrEmpty(startdate) || !DateTime.TryParse(startdate, out start)) { return(new commonresponse { status = responseStatus.startdateerror, content = responseStatus.startdateerror.ToString() }); } var end = DateTime.Now; if (string.IsNullOrEmpty(enddate) || !DateTime.TryParse(enddate, out end)) { return(new commonresponse { status = responseStatus.enddateerror, content = responseStatus.enddateerror.ToString() }); } var scraps = new List <Scrap>(); var count = 0; using (var db = new carsContext()) { var ss = db.Carbusinesshis.Where(a => a.Businesstype == (short)businessType.scrap && a.Time.CompareTo(start) >= 0 && a.Time.CompareTo(end) <= 0 && a.Scrapplace == (short)scrapplace // && a.Cartype==(short)carType ); if (carType != CarType.unknown) { ss = ss.Where(c => c.Cartype == (short)carType); } count = ss.Count(); if (endnum != -1) { ss = ss.Take(endnum); } ss = ss.Skip(startnum - 1); // var index = 1; foreach (var s in ss) { // if (index++ < startnum) continue; var user = db.Caruser.FirstOrDefault(a => a.Identity == s.Identity); if (user == null) { continue; } scraps.Add(new Scrap { id = CryptographyHelpers.StudyDecrypt(s.Identity), name = user.Name, phone = user.Phone, address = s.Postaddr, cartype = (CarType)s.Cartype, time = s.Time, }); } } Task.Run(() => highlevel.LogRequest("getScrapDoneList", "getScrapDoneList", Request.HttpContext.Connection.RemoteIpAddress.ToString(), 0)); return(new ScrapListRes { status = responseStatus.ok, scraps = scraps, count = count }); } catch (Exception ex) { _log.LogError("{0}-{1}-{2}", DateTime.Now, "getScrapDoneList", ex.Message); return(new commonresponse { status = responseStatus.processerror, content = ex.Message }); } }
public commonresponse getScrapTodoList() { try { var token = Request.Headers["Token"].First(); var found = false; var scrapplace = ScrapPlace.unknown; foreach (var a in tokens) { if (a.Token == token) { scrapplace = a.scrapPlace; found = true; break; } } _log.LogInformation("DeleteScrap,{0},,", 111); if (!found) { _log.LogInformation("DeleteScrap,{0}", responseStatus.tokenerror); return(new commonresponse { status = responseStatus.tokenerror }); } var scraps = new List <Scrap>(); using (var db = new carsContext()) { var ss = db.Carbusiness.Where(a => a.Businesstype == (short)businessType.scrap && a.Scrapplace == (short)scrapplace ); foreach (var s in ss) { var user = db.Caruser.FirstOrDefault(a => a.Identity == s.Identity); if (user == null) { continue; } scraps.Add(new Scrap { id = CryptographyHelpers.StudyDecrypt(s.Identity), name = user.Name, phone = user.Phone, address = s.Postaddr, cartype = (CarType)s.Cartype, time = s.Time, }); } } Task.Run(() => highlevel.LogRequest("getScrapTodoList", "getScrapTodoList", Request.HttpContext.Connection.RemoteIpAddress.ToString(), 0)); return(new ScrapListRes { status = responseStatus.ok, scraps = scraps }); } catch (Exception ex) { _log.LogError("{0}-{1}-{2}", DateTime.Now, "getScrapTodoList", ex.Message); return(new commonresponse { status = responseStatus.processerror, content = ex.Message }); } }
public commonresponse CompleteScrap(string id) { try { var token = Request.Headers["Token"].First(); _log.LogInformation("pushmessage2,token is {0},{1},id", token, id); var found = false; var scrapplace = ScrapPlace.unknown; foreach (var a in tokens) { if (a.Token == token) { scrapplace = a.scrapPlace; found = true; break; } } _log.LogInformation("DeleteScrap,{0},,", 111); if (!found) { _log.LogInformation("DeleteScrap,{0}", responseStatus.tokenerror); return(new commonresponse { status = responseStatus.tokenerror }); } var enid = CryptographyHelpers.StudyEncrypt(id); using (var db = new carsContext()) { var ss = db.Carbusiness.FirstOrDefault(a => a.Businesstype == (short)businessType.scrap && a.Scrapplace == (short)scrapplace && a.Identity == enid); if (ss != null) { db.Carbusinesshis.Add(new Carbusinesshis { Identity = ss.Identity, Businesstype = ss.Businesstype, Completed = true, Time = ss.Waittime, Status = ss.Status, Postaddr = ss.Postaddr, Waittime = ss.Waittime, Processtime = ss.Processtime, Finishtime = ss.Finishtime, Exporttime = ss.Exporttime, Cartype = ss.Cartype, Platetype = ss.Platetype, Scrapplace = ss.Scrapplace, Reason = ss.Reason }); db.Carbusiness.Remove(ss); db.SaveChanges(); } } Task.Run(() => highlevel.LogRequest("CompleteScrap", "CompleteScrap", Request.HttpContext.Connection.RemoteIpAddress.ToString(), 0)); return(new commonresponse { status = responseStatus.ok }); } catch (Exception ex) { _log.LogError("{0}-{1}-{2}", DateTime.Now, "CompleteScrap", ex.Message); return(new commonresponse { status = responseStatus.processerror, content = ex.Message }); } }