Example #1
0
 /// <summary>
 /// 报平安Post
 /// </summary>
 /// <param name="user"></param>
 public bool PostReport(Global.User user)
 {
     try
     {
         var name = user.Name;
         user = Global.GetUserInfo(user.Cookie);//刷新一次账号信息
         if (user.TodayTaskState == "未填报")
         {
             var rows = user.GetTodayJb;
             //开始整理表单参数
             Invoke(new Action(() =>
             {
                 NutDebug("开始自动报平安!");
             }));
             String PostData   = CreatePostdate(user);
             var    postUrl    = "http://ehall.sicnu.edu.cn/qljfwapp/sys/lwReportEpidemicUndergraduate/modules/application/T_REPORT_UNDERGRADUATE_CHECKIN_SAVE.do";
             var    PostResult = NutWeb.Nut_Post(postUrl, PostData, user.Cookie, null);
             user = Global.GetUserInfo(user.Cookie);//刷新一次账号信息
             AddToListView(user);
             return(true);
         }
         user.Name = name;
         AddToListView(user);
         return(false);
     }
     catch
     {
         Invoke(new Action(() =>
         {
             NutDebug("未知错误-PostReport");
         }));
         return(false);
     }
 }
Example #2
0
        /// <summary>
        /// 将账号添加到ListView并更新List和本地json
        /// </summary>
        /// <param name="AddUser"></param>
        public void AddToListView(Global.User AddUser)
        {
            var List = listView1.Items;

            var AccountNum = Form1.MainForm.listView1.Items.Count;

            if (AccountNum != 0)
            {
                for (int i = 0; i <= AccountNum - 1; i++)
                {
                    String name = "";
                    Invoke(new Action(() =>
                    {
                        name = Form1.MainForm.listView1.Items[i].SubItems[0].Text;
                    }));
                    if (name == AddUser.Name)
                    {
                        //账号已经在列表中
                        Invoke(new Action(() =>
                        {
                            Form1.MainForm.listView1.Items[i].SubItems[1].Text = AddUser.TodayTaskState;
                        }));
                    }
                }
            }
            //更新json
            Global.AddUserToJson(AddUser);
            //更新List
            bool inlist = false;

            foreach (var user in Global.UserList)
            {
                if (AddUser.Name == user.Name)
                {
                    int index = Global.UserList.IndexOf(user);
                    Global.UserList[index] = AddUser;
                    inlist = true;
                    break;
                }
            }

            if (!inlist)
            {
                Invoke(new Action(() =>
                {
                    var item = new ListViewItem(AddUser.Name);
                    item.SubItems.Add(AddUser.TodayTaskState);
                    Global.UserList.Add(AddUser);
                    listView1.Items.Add(item);
                }));
            }

            Global.AddUserToJson(AddUser);
        }
Example #3
0
        /// <summary>
        /// 根据cookie获取最新的账号信息
        /// </summary>
        /// <param name="Cookie"></param>
        /// <returns>完成返回null 没完成返回表单wid参数</returns>
        public static Global.User GetUserInfo(String Cookie)
        {
            try
            {
                var GetUrl    = "http://ehall.sicnu.edu.cn/qljfwapp/sys/lwReportEpidemicUndergraduate/modules/application/getMyTodayReportWid.do";
                var GetResult = NutWeb.Nut_Get(GetUrl, null, Cookie);

                var GetUrl2    = "http://ehall.sicnu.edu.cn/qljfwapp/sys/lwReportEpidemicUndergraduate/modules/application/getLatestDailyReportData.do";
                var GetResult2 = NutWeb.Nut_Get(GetUrl2, null, Cookie);

                var returnUser = new Global.User();
                if (GetResult != null && GetResult2 != null)
                {
                    JObject JsonObj = (JObject)JsonConvert.DeserializeObject(GetResult.Html);
                    var     rows    = JsonObj["datas"]["getMyTodayReportWid"]["rows"].First;

                    JObject JsonObj2 = (JObject)JsonConvert.DeserializeObject(GetResult2.Html);
                    var     rows2    = JsonObj2["datas"]["getLatestDailyReportData"]["rows"].First;

                    if (rows != null && rows2 != null)
                    {
                        returnUser.Cookie         = Cookie;
                        returnUser.TodayTaskState = rows["CHECKED_DISPLAY"].ToString();
                        returnUser.Name           = rows["USER_NAME"].ToString();
                        returnUser.TodayWid       = rows["WID"].ToString();
                        returnUser.GetTodayJb     = rows;
                        returnUser.LatestDailyJb  = rows2;
                        Form1.MainForm.NutDebug("获取成功! 当前用户--->" + returnUser.Name);
                        Form1.MainForm.NutDebug("今日填报状态--->" + returnUser.TodayTaskState);
                        return(returnUser);
                    }
                }
                Form1.MainForm.NutDebug("当前账号Cookie已经失效");
                returnUser.TodayTaskState = "账号失效";
                return(returnUser);
            }
            catch
            {
                Form1.MainForm.NutDebug("当前账号Cookie已经失效");
                var returnUser = new Global.User();
                returnUser.TodayTaskState = "账号失效";
                return(returnUser);
            }
        }
Example #4
0
        /// <summary>
        /// 从本地json读取账号
        /// </summary>
        public static void ReadUserJson()
        {
            var path = Global.DataPath + "\\UserInfo.json";

            if (!File.Exists(path))
            {
                Form1.MainForm.NutDebug("本地没有账号");
                return;
            }
            var Text = File.ReadAllText(path);

            JObject JsonObj = (JObject)JsonConvert.DeserializeObject(Text);

            if (JsonObj == null)
            {
                JsonObj = new JObject(new JProperty("user", new JArray()));
            }
            //获取账号数量

            if (JsonObj["user"] == null)
            {
                JsonObj.Last.AddAfterSelf(new JProperty("user", new JArray()));
            }
            var count = ((JContainer)JsonObj["user"]).Count;

            if (count > 0)
            {
                var users = JsonObj["user"];
                foreach (var user in users)
                {
                    var adduser = new Global.User();
                    adduser.Name           = user["name"].ToString();
                    adduser.Cookie         = user["cookie"].ToString();
                    adduser.TodayTaskState = user["todaydone"].ToString();
                    adduser.TodayWid       = user["wid"].ToString();
                    Form1.MainForm.AddToListView(adduser);
                }
            }
        }
Example #5
0
        /// <summary>
        /// 整理报平安参数
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public String CreatePostdate(Global.User user)
        {
            String ReturnStr = "";
            String dataA     = "WID&USER_ID&USER_NAME&GENDER_CODE&GENDER&DEPT_CODE&DEPT_NAME&MAJOR_CODE&MAJOR&CLASS_CODE&CLASS_NAME&TO_LOCATION";
            var    dataAs    = dataA.Split('&');

            foreach (var key in dataAs)
            {
                ReturnStr += key + "=" + Global.UrlEncode(user.GetTodayJb[key].ToString()) + "&";
            }
            String dataB  = "CAMPUS_DISPLAY&CAMPUS&PHONE_NUMBER&PARENT_NAME&PARENT_PHONE&LOCATION_PROVINCE_CODE_DISPLAY&LOCATION_PROVINCE_CODE&LOCATION_CITY_CODE_DISPLAY&LOCATION_CITY_CODE&LOCATION_COUNTY_CODE_DISPLAY&LOCATION_COUNTY_CODE&DETAIL_LOCATION&NOW_LOCATION&INFET_STATE_DISPLAY&INFET_STATE&ISOLATE_STATE_DISPLAY&ISOLATE_STATE&NOW_TEMPERATURE&AFTERNOON_TEMPERATURE&IS_TO_HUBEI_DISPLAY&IS_TO_HUBEI&IS_CONTACT_HUBEI_PEOPLE_DISPLAY&IS_CONTACT_HUBEI_PEOPLE&IS_SYMPTOM_DISPLAY&IS_SYMPTOM&IS_CONTACT_VIRUS_PEOPLE_DISPLAY&IS_CONTACT_VIRUS_PEOPLE&IS_TO_DISASTER_AREA_DISPLAY&IS_TO_DISASTER_AREA&IS_CONTACT_DISASTER_PEOPLE_DISPLAY&IS_CONTACT_DISASTER_PEOPLE&CONTACT_DATE&FAMILY_INFO";
            var    dataBs = dataB.Split('&');

            foreach (var key in dataBs)
            {
                ReturnStr += key + "=" + Global.UrlEncode(user.LatestDailyJb[key].ToString()) + "&";
            }
            var time  = Global.UrlEncode(DateTime.Now.ToString().Replace(@"/", "-"));
            var time2 = Global.UrlEncode(DateTime.Now.AddDays(-1).ToShortDateString().ToString() + " 23:50:48");

            ReturnStr += "CREATED_AT=" + time + "&CZR=&CZZXM=&CZRQ=" + time2 + "&CHECKED_DISPLAY=%E6%9C%AA%E5%A1%AB%E6%8A%A5&CHECKED=NO";
            return(ReturnStr);
        }
Example #6
0
        /// <summary>
        /// 把账号信息添加到Json
        /// </summary>
        /// <param name="Name"></param>
        /// <param name="Cookie"></param>
        public static void AddUserToJson(Global.User AddUser)
        {
            var path = Global.DataPath + "\\UserInfo.json";

            if (!File.Exists(path))
            {
                File.Create(path).Dispose();
            }
            var Text = File.ReadAllText(path);

            JObject JsonObj    = (JObject)JsonConvert.DeserializeObject(Text);
            JObject NewAccount = new JObject();

            NewAccount.Add("name", AddUser.Name);
            NewAccount.Add("cookie", AddUser.Cookie);
            NewAccount.Add("todaydone", AddUser.TodayTaskState);
            NewAccount.Add("wid", AddUser.TodayWid);
            if (JsonObj == null)
            {
                JsonObj = new JObject(new JProperty("user", new JArray(NewAccount)));
            }

            if (JsonObj["user"] == null)
            {
                JsonObj.Last.AddAfterSelf(new JProperty("user", new JArray()));
            }

            var count = ((JContainer)JsonObj["user"]).Count;


            if (count > 0)
            {
                var AccountList = JsonObj["user"];
                for (int i = 0; i < count; i++)
                {
                    var account = AccountList[i];
                    if (account["name"].ToString() == AddUser.Name)
                    {
                        //如果账号存在于json中
                        account["cookie"]    = AddUser.Cookie;
                        account["name"]      = AddUser.Name;
                        account["todaydone"] = AddUser.TodayTaskState;
                        account["wid"]       = AddUser.TodayWid;

                        AccountList[i]  = account;
                        JsonObj["user"] = AccountList;
                        string out_put = Newtonsoft.Json.JsonConvert.SerializeObject(JsonObj, Newtonsoft.Json.Formatting.Indented);
                        File.WriteAllText(path, out_put, UTF8Encoding.UTF8);
                        return;
                    }
                }
            }

            if (count == 0)
            {
                JsonObj["user"] = new JArray(NewAccount);
                string out_put = Newtonsoft.Json.JsonConvert.SerializeObject(JsonObj, Newtonsoft.Json.Formatting.Indented);
                File.WriteAllText(path, out_put, UTF8Encoding.UTF8);
                return;
            }

            JsonObj["user"].Last.AddAfterSelf(NewAccount);
            string output = Newtonsoft.Json.JsonConvert.SerializeObject(JsonObj, Newtonsoft.Json.Formatting.Indented);

            File.WriteAllText(path, output, UTF8Encoding.UTF8);
            return;
        }