private void LacSettleDetail(FlowModelData data) { logger.Info("3-1.정산내역 ( 정산관리 > 정산내역 조회 > 옥션 정산내역 관리 )"); DateTime enddate = DateTime.Now; DateTime startdate = enddate.AddYears(-1).AddDays(1); var SearchParam = new { MemberID = Parameter.Id1, ItemNo = "", BuyerName = "", BuyerId = "", OrderNo = 0, DateType = "R", DateFrom = startdate.ToString("yyyy-MM-dd"), DateTo = enddate.ToString("yyyy-MM-dd"), CategoryId = "", RemittanceType = "0", GroupOrderSeqNo = "0", PageNo = 1, PageSize = 20 }; String json = JsonConvert.SerializeObject(SearchParam); logger.Debug(json); PostAjaxJson(data.Document, "https://www.esmplus.com/Member/Settle/IacRemitListExcelDownload?SearchParam=" + json, new Dictionary <String, Object>() { { "eSortType", "" }, }); }
protected override void ScrapType2(FlowModelData flowModelData) { FlowList.Add("stdservice/ipssCheckLogin.do", Login, null); FlowList.Add("member/login.do", Login2, null, (data) => { data.DataPack["st"] = DateTime.Now.AddMonths(-1).AddDays(-DateTime.Now.Day).AddDays(1); }); FlowList.Add("ipss/ipssmainscr.do", Main, null, (data) => { buffer.Clear(); buffer.Append("http://ipss.interpark.com/settlement/ProOMSetlDetail.do?"); this.buffer.Append(CreateGetParameter(new Dictionary <String, String>() { { "_method", "totalPro" }, { "_style", "grid" }, { "sc.strDt", data.DataPack["st"].ToString("yyyyMMdd") }, { "sc.endDt", data.DataPack["st"].AddMonths(1).AddDays(-1).ToString("yyyyMMdd") }, { "_search", "false" }, { "nd", "" }, { "rows", "30" }, { "page", "1" }, { "sidx", "" }, { "sord", "asc" } })); base.Navigate(buffer.ToString()); }); FlowList.Add("settlement/ProOMSetlDetail.do", ProOMSetlDetail, null, (data) => { Response.SetResultCode(ResultCode.RC1000); data.IsNextScrap = false; }); }
private void Login(FlowModelData data) { PostAjaxJson(data.Document, "https://ipss.interpark.com/member/login.do", new Dictionary <String, Object>() { { "_method", "loginIframe" } }); }
private void SellerMenuAction(FlowModelData data) { var data02 = data.Document.GetElementById <GeckoElement>("sellerGradePop").ParentElement.GetElementByTagName <GeckoElement>("A").TextContent; SetCommonData(2, data02); base.Navigate("https://soffice.11st.co.kr/register/SellerInfoEdit.tmall?method=sellerInfoEdit&orgMenuNo=5002"); }
private void CSManagement(FlowModelData data) { var val = data.Document.GetElementById <GeckoElement>("msg_auction").GetElementsByTagName("A")[0].FirstChild.NodeValue; SetCommonData(20, val); base.Navigate("http://www.esmplus.com/Home/SSO?code=TDM155&id=" + Parameter.Id1); }
private void ProOMSetlDetail(FlowModelData data) { if (!data.DataPack.ContainsKey("index")) { data.DataPack["index"] = 0; } String val = data.Document.Body.InnerHtml; ProOMSetlDetailJson json = JsonConvert.DeserializeObject <ProOMSetlDetailJson>(val); SetPackageData(0, data.DataPack["index"]++, JsonConvert.SerializeObject(json.bs[0])); int nowtick = (DateTime.Now.Year * 100) + DateTime.Now.Month; int checktick = (data.DataPack["st"].Year * 100) + data.DataPack["st"].Month; if (nowtick - 300 > checktick) { return; } data.DataPack["st"] = data.DataPack["st"].AddMonths(-1); buffer.Append("http://ipss.interpark.com/settlement/ProOMSetlDetail.do?"); this.buffer.Append(CreateGetParameter(new Dictionary <String, String>() { { "_method", "totalPro" }, { "_style", "grid" }, { "sc.strDt", data.DataPack["st"].ToString("yyyyMMdd") }, { "sc.endDt", data.DataPack["st"].AddMonths(1).AddDays(-1).ToString("yyyyMMdd") }, { "_search", "false" }, { "nd", "" }, { "rows", "30" }, { "page", "1" }, { "sidx", "" }, { "sord", "asc" } })); this.Navigate(this.buffer.ToString()); data.IsSkipAction = true; }
private void Main3(FlowModelData data) { String temp = data.Document.Body.TextContent; var node = JsonConvert.DeserializeObject <Dictionary <String, Object> >(temp); SetCommonData(20, node["urgentQty"].ToString()); }
private void Sending(FlowModelData data) { //https://www.esmplus.com/Escrow/Delivery/SendingExcel? //siteGbn =1&searchAccount=10757^isorikids^1&searchDateType=ODD&searchSDT=2017-10-06&searchEDT=2017-11-06&searchKey=ON&searchKeyword=&searchStatus=0&searchAllYn=N&searchType=0&searchDistrType=AL logger.Info("4-3.정산예정금 - ( 주문관리 > 배송중/배송완료 )"); try { DateTime enddate = DateTime.Now; DateTime startdate = enddate.AddMonths(-1); this.buffer.Append("https://www.esmplus.com/Escrow/Delivery/SendingExcel?"); this.buffer.Append(CreateGetParameter(new Dictionary <String, String>() { { "siteGbn", "1" }, { "searchAccount", idkey }, { "searchDateType", "ODD" }, { "searchSDT", startdate.ToString("yyyy-MM-dd") }, { "searchEDT", enddate.ToString("yyyy-MM-dd") }, { "searchKey", "ON" }, { "searchKeyword", "" }, { "searchStatus", "0" }, { "searchAllYn", "N" }, { "searchType", "0" }, { "searchDistrType", "AL" } })); PostAjaxJson(data.Document, this.buffer.ToString(), new Dictionary <String, Object>() { { "eSortType", "" }, }); } finally { this.buffer.Clear(); } }
/// <summary> /// 5-4. 정산예정금 ( 배송관리 →구매확정) /// </summary> /// <param name="document"></param> /// <param name="uri"></param> /// <returns></returns> private void SellerRemittanceAction3(FlowModelData data) { String json = data.Document.Body.TextContent; SellerRemittanceActionJson obj = JsonConvert.DeserializeObject <SellerRemittanceActionJson>(json); var node = obj.list[0]; SetPackageData(5, 0, JsonConvert.SerializeObject(node)); }
private void Home(FlowModelData data) { //base.Navigate("https://sell.smartstore.naver.com/#/seller/info"); //PrivateNavigate(document, "https://sell.smartstore.naver.com/#/seller/info"); //TODO: issue //TODO: this site can not do that scrap is.I think because of angularjs. //TODO: I need time for research that scrap is. }
private void ItemsMng(FlowModelData data) { /*document.GetElementByName<GeckoInputElement>("chkStatus", 1).Checked = true; * document.GetElementByName<GeckoInputElement>("chkSiteId", 1).Checked = true; * document.GetElementByName<GeckoInputElement>("chkSiteA", 0).Checked = true; * document.GetElementById<GeckoImageElement>("imgItemsSearch").Click();*/ this.buffer.Append("http://www.esmplus.com/Sell/Items/GetItemMngList"); var SearchParam = new { Keyword = "", SiteId = "1", SellType = 0, CategoryCode = "", CustCategoryCode = 0, TransPolicyNo = 0, StatusCode = "11", SearchDateType = 0, StartDate = "", EndDate = "", SellerId = "", StockQty = -1, SellPeriod = 0, DeliveryFeeApplyType = 0, OptAddDeliveryType = 0, SellMinPrice = 0, SellMaxPrice = 0, OptSelUseIs = -1, PremiumEnd = 0, PremiumPlusEnd = 0, FocusEnd = 0, FocusPlusEnd = 0, CatalogGroup = 0, GoodsIds = "", SellMngCode = "", OrderByType = 11, NotiItemReg = -1, UserEvaluate = "", SearchClause = "", ScoreRange = 0, ShopCateReg = -1, IsTPLUse = "", GoodsName = "", SdBrandId = 0, SdBrandName = "" }; String json = JsonConvert.SerializeObject(SearchParam); logger.Debug(this.buffer.ToString()); PostAjaxJson(data.Document, this.buffer.ToString(), new Dictionary <String, Object>() { { "paramsData", json }, { "page", "1" }, { "start", "0" }, { "limit", "500" }, { "group", "[{\"property\":\"GoodsMasterNo\",\"direction\":\"ASC\"}]" } }); }
protected override void ScrapType4(FlowModelData flowModelData) { FlowList.Add("stdservice/ipssCheckLogin.do", Login, null); FlowList.Add("member/login.do", Login2, null); FlowList.Add("ipss/ipssmainscr.do", Main, "http://ipss.interpark.com/delivery/reportEntr.do?_method=excel&_style=ipssPro&sc.yyyymm=" + Parameter.Sdate.Substring(0, 6)); FlowList.Add("delivery/reportEntr.do", ReportEntrExcel, null); //"http://ipss.interpark.com/delivery/reportEntr.do?_method=excel&_style=ipssPro&sc.yyyymm=" + Parameter.Sdate.Substring(0, 6) //DownloadMap.Add("delivery/reportEntr.do",null); }
private void CSManagement(FlowModelData data) { var val = data.Document.GetElementById <GeckoElement>("msg_gmarket").GetElementsByTagName("A")[0].FirstChild.NodeValue; // 1. 긴급메시지 건수 SetCommonData(20, val); //보류 //base.Navigate(); }
private void ProDeliveryCheckList(FlowModelData data) { if (!data.DataPack.ContainsKey("index")) { data.DataPack["index"] = 0; } String json = data.Document.Body.TextContent; SetPackageData(1, data.DataPack["index"]++, json); }
private void Login(FlowModelData data) { if (data.Uri.ToString().IndexOf("returnURL") != -1) { SetCommonData(0, "FALSE"); } data.Document.GetElementById <GeckoInputElement>("loginName").Value = Parameter.Id1; data.Document.GetElementById <GeckoInputElement>("passWord").Value = Parameter.Pw1; data.Document.GetElementByClassName <GeckoInputElement>("btn_login").Click(); }
private void Index(FlowModelData data) { SetCommonData(0, "TRUE"); var data26 = data.Document.GetElementById <GeckoElement>("prdQnaAnswerCnt").FirstChild.NodeValue; SetCommonData(26, data26); var data25 = data.Document.GetElementById <GeckoElement>("emergencyCnt").FirstChild.NodeValue; SetCommonData(25, data25); base.Navigate("http://soffice.11st.co.kr/marketing/SellerMenuAction.tmall?method=getSellerMainNew&usedClfCd=00&memSuplCmpClfCd=01"); }
private void Main(FlowModelData data) { SetCommonData(0, "TRUE"); data.IsNextScrap = true; FlowList["ipss/ipssmainscr.do"] = new Common.Flow { Url = "ipss/ipssmainscr.do", Func = Main2, Next = "http://ipss.interpark.com/ipss/ipssmainscr.do?_method=urgentCount&_style=ipssPro" }; }
private void Login(FlowModelData data) { if (data.Uri.ToString().IndexOf("ReturnValue") != -1) { SetCommonData(0, "FALSE"); } data.Document.GetElementByName <GeckoInputElement>("rdoSiteSelect", 0).Checked = true; data.Document.GetElementById <GeckoInputElement>("SiteId").Value = Parameter.Id1; data.Document.GetElementById <GeckoInputElement>("SitePassword").Value = Parameter.Pw1; data.Document.GetElementById <GeckoAnchorElement>("btnSiteLogOn").Click(); }
protected override void ScrapType0(FlowModelData flowModelData) { FlowList.Add("stdservice/ipssCheckLogin.do", Login, null); FlowList.Add("member/login.do", Login2, null); FlowList.Add("ipss/ipssmainscr.do", Main, "http://ipss.interpark.com/ipss/ipssmainscr.do?_method=initTabMain&_style=ipssPro&newType=Y"); FlowList.Add("member/memberentrjoin.do", MemberentrJoin, null, (data) => { Response.SetResultCode(ResultCode.RC1000); data.IsNextScrap = false; }); }
private void GetItemMngList(FlowModelData data) { String val = data.Document.Body.GetElementsByTagName("PRE")[0].FirstChild.NodeValue; //logger.Debug(data); GetItemMngListJson json = JsonConvert.DeserializeObject <GetItemMngListJson>(val); int index = 0; foreach (var item in json.Data) { SetPackageData(6, index++, JsonConvert.SerializeObject(item)); } }
private void Main2(FlowModelData data) { String val = data.Document.GetElementsByClassName("line")[0].ChildNodes[3].FirstChild.TextContent; SetCommonData(2, val); FlowList["ipss/ipssmainscr.do"] = new Common.Flow { Url = "ipss/ipssmainscr.do", Func = Main3, Next = "https://ipss.interpark.com/member/memberentrjoin.do?_method=detail&_style=ipssPro#won" }; }
private void SellerInfoEdit(FlowModelData data) { FlowList["register/SellerInfoEdit.tmall"] = new Common.Flow { Key = "register/SellerInfoEdit.tmall", Func = SellerInfoEdit2, Next = "" }; data.Document.GetElementById <GeckoInputElement>("mem_pwd").Value = Parameter.Pw1; data.Document.GetElementByClassName <GeckoAnchorElement>("xladtype").Click(); }
private void StatsPeriodProdSel(FlowModelData data) { String json = data.Document.Body.TextContent; StatsPeriodProdSelJson obj = JsonConvert.DeserializeObject <StatsPeriodProdSelJson>(json); var node = obj.statsPeriodProdSelSummary[0]; SetPackageData(0, index++, JsonConvert.SerializeObject(node)); if (std.Year == DateTime.Now.Year && std.Month == DateTime.Now.Month) { std = DateTime.Now.AddYears(-3).AddDays(DateTime.Now.Day * -1).AddDays(1); DateTime etd1 = std.AddMonths(1).AddDays(-1); var interval = DateTime.Now - std; index = 0; this.buffer.Clear(); this.buffer.Append("http://soffice.11st.co.kr/remittance/SellerRemittanceAction.tmall?"); this.buffer.Append(CreateGetParameter(new Dictionary <String, String>() { { "method", "getSellerOwnSelStatSoffice" }, { "dtlSearchStlmntType", "N" }, { "searchDtType", "BUY_CNFRM_DT" }, { "stDate", std.ToString("yyyyMMdd") }, { "edDate", std.ToString("yyyyMMdd") }, { "dtlSearchType", "" }, { "ordPrdStat", "" }, { "intervalDay", interval.Days.ToString() }, { "dtlSearchVal", "" } })); base.Navigate(this.buffer.ToString()); } std = std.AddMonths(1); DateTime etd = std.AddMonths(1).AddDays(-1); if (std.Year == DateTime.Now.Year && std.Month == DateTime.Now.Month) { etd = DateTime.Now; } this.buffer.Clear(); this.buffer.Append("http://soffice.11st.co.kr/stats/StatsPeriodProdSel.tmall?"); this.buffer.Append(CreateGetParameter(new Dictionary <String, String>() { { "method", "getStatsPeriodProdSelList" }, { "start", "0" }, { "limit", "10" }, { "stDate", std.ToString("yyyy/MM/dd").Replace("-", "/") }, { "edDate", etd.ToString("yyyy/MM/dd").Replace("-", "/") }, { "stDatePre", std.ToString("yyyy/MM/dd").Replace("-", "/") }, { "edDatePre", etd.ToString("yyyy/MM/dd").Replace("-", "/") }, { "dtPeriod", "PRE_THREE_MONTH" }, { "dispGb", "grid" } })); base.Navigate(this.buffer.ToString()); }
private void Test(FlowModelData data) { logger.Debug("DEBUG......."); ThreadPool.QueueUserWorkItem(c => { for (int i = 0; i < 10; i++) { Thread.Sleep(1000); SetCommonData(i, "Common Test"); SetPackageData(i, 0, "Pacakage Test"); } }); }
private void ReportEntrExcel(FlowModelData data) { WaitFile(data.File.FullName, () => { /*BuilderExcelEntity<ReportEntrExcel> builder = new BuilderExcelEntity<ReportEntrExcel>(); * List<ReportEntrExcel> list = builder.Builder(data.File.FullName, 7, 0); * foreach (var item in list) * { * //SetPackageData(0, index++, ToExcelJson(ReflectFlyweight[typeof(BuyDecisionExcel)], item)); * } * list.Clear(); * base.Navigate("http://www.esmplus.com/Member/Settle/IacSettleDetail?menuCode=TDM298");*/ }); }
/// <summary> /// 5-2. 정산예정금 (배송관리-배송중) /// </summary> /// <param name="document"></param> /// <param name="uri"></param> /// <returns></returns> private void OrderingLogisticsAction2(FlowModelData data) { String json = data.Document.Body.TextContent; OrderingLogisticsActionJson obj = JsonConvert.DeserializeObject <OrderingLogisticsActionJson>(json); index = 0; obj.orderingLogistics.ForEach(node => { SetPackageData(3, index++, JsonConvert.SerializeObject(node)); }); FlowList["escrow/OrderingLogisticsAction.tmall"] = new Common.Flow { Func = OrderingLogisticsAction3 }; this.buffer.Clear(); this.buffer.Append("https://soffice.11st.co.kr/escrow/OrderingLogisticsAction.tmall?"); this.buffer.Append(CreateGetParameter(new Dictionary <String, String>() { { "method", "getOrderLogisticsList" }, { "listType", "orderingLogistics" }, { "start", "0" }, { "limit", "10000" }, { "shDateType", "02" }, { "shDateFrom", DateTime.Now.AddYears(-1).ToString("yyyyMMdd") }, { "shDateTo", DateTime.Now.ToString("yyyyMMdd") }, { "shBuyerType", "" }, { "shBuyerText", "" }, { "shProductStat", "501" }, { "shDelayReport", "" }, { "shPurchaseConfirm", "" }, { "shGblDlv", "N" }, { "prdNo", "" }, { "shStckNo", "" }, { "shOrderType", "on" }, { "addrSeq", "" }, { "isAbrdSellerYn", "" }, { "abrdOrdPrdStat", "" }, { "isItalyAgencyYn", "" }, { "shErrYN", "" }, { "gblRcvrNm", "" }, { "gblRcvrMailNo", "" }, { "gblRcvrBaseAddr", "" }, { "gblRcvrDtlsAddr", "" }, { "gblRcvrTlphn", "" }, { "gblRcvrPrtblNo", "" }, { "shOrdLang", "" }, { "shDlvClfCd", "" } })); base.Navigate(this.buffer.ToString()); }
private void Login(FlowModelData data) { var element = data.Document.GetElementsByTagName("H1")[0]; StringBuilder sb = new StringBuilder(); sb.Append("<button onclick='$(\"#loginId\").val(\"" + Parameter.Id1 + "\");$(\"#loginId\").trigger(\"input\");'>id</button>"); sb.Append("<button onclick='$(\"#loginPassword\").val(\"" + Parameter.Pw1 + "\");$(\"#loginPassword\").trigger(\"input\");'>pw</button>"); element.InnerHtml += sb.ToString(); var collect = element.GetElementsByTagName("BUTTON"); (collect[0] as GeckoButtonElement).Click(); (collect[1] as GeckoButtonElement).Click(); data.Document.GetElementById <GeckoButtonElement>("loginButton").Click(); }
private void Login(FlowModelData data) { if (data.Uri.ToString().IndexOf("ReturnValue") != -1) { //login 실패 //String label = document.GetElementByClassName<GeckoHtmlElement>("login_text", 0).TextContent; //Console.WriteLine(label); return; } data.Document.GetElementByName <GeckoInputElement>("rdoSiteSelect", 1).Checked = true; data.Document.GetElementById <GeckoInputElement>("SiteId").Value = Parameter.Id1; data.Document.GetElementById <GeckoInputElement>("SitePassword").Value = Parameter.Pw1; data.Document.GetElementById <GeckoAnchorElement>("btnSiteLogOn").Click(); SetCommonData(0, "TRUE"); }
private void Login2(FlowModelData data) { data.Document.GetElementByName <GeckoInputElement>("sc.memId").Value = Parameter.Id1; data.Document.GetElementByName <GeckoInputElement>("sc.pwd").Value = Parameter.Pw1; data.Document.GetElementByClassName <GeckoButtonElement>("btnRed").Click(); SetTimeout(() => { if (CurrectUri.ToString().Contains("member/login.do")) { SetCommonData(0, "FALSE"); Response.SetResultCode(ResultCode.RC2000); Exit(data); } }, 3000); }
/// <summary> /// 5-3. 정산예정금 (배송관리 →배송완료 ) /// </summary> /// <param name="document"></param> /// <param name="uri"></param> /// <returns></returns> private void OrderingLogisticsAction3(FlowModelData data) { String json = data.Document.Body.TextContent; OrderingLogisticsActionJson obj = JsonConvert.DeserializeObject <OrderingLogisticsActionJson>(json); index = 0; obj.orderingLogistics.ForEach(node => { SetPackageData(4, index++, JsonConvert.SerializeObject(node)); }); FlowList["remittance/SellerRemittanceAction.tmall"] = new Common.Flow { Func = SellerRemittanceAction2 }; base.Navigate("http://soffice.11st.co.kr/remittance/SellerRemittanceAction.tmall?method=displaySellerOwnSelStatSoffice"); }