Exemplo n.º 1
0
        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";
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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
            });
        }
Exemplo n.º 7
0
        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;
                    }
                }
            }
        }
Exemplo n.º 8
0
 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
         });
     }
 }
Exemplo n.º 9
0
        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
                });
            }
        }
Exemplo n.º 10
0
        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
                });
            }
        }