using DSWeb.Areas.MvcShipping.DAL.MsOpSeaeQDPortDataDAL; using DSWeb.Areas.SysMng.DAL.USERINFO; using log4net; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; namespace DSWeb.Interface.YZ { public class JobBillTrackRequest_YGT { public static WebModel ExecuteWeb(string mblno,string userid) { try { //接口地址 //string reqUrl = "http://47.105.157.231:5000/query"; string reqUrl = "http://47.104.90.170:5000/query"; int reqTimeout = 20; //①获取订阅列表 MYSHIPPINGTESTEntities me = new MYSHIPPINGTESTEntities(); //②循环订阅列表并请求场站数据 //※获取场站名称与接口id对应表 var _user = USERINFODAL.GetUser(userid); JObject reqObj = new JObject(); reqObj.Add("yardid", "YGT"); reqObj.Add("mblno", new JValue(mblno)); reqObj.Add("isweb", "1"); reqObj.Add("ygttype", "dj"); reqObj.Add("webusername", _user.QdPortUserName); reqObj.Add("webuserpass", _user.QdPortPassword); ///'webusername':'18611691907', ///'webuserpass':'Qwe123qwe', string rtn = ""; //②-①请求场站数据 try { rtn = WebRequestHelper.DoPost(reqUrl, reqObj.ToString(Formatting.None), reqTimeout * 1000); WebModel wm = JsonConvert.DeserializeObject(rtn); return wm; } catch (Exception ex) { return null; } } catch (Exception ex) { return null; } } public static string Execute(string mblno, string carrier, string yardname,string userid) { try { //接口地址 //string reqUrl = "http://47.105.157.231:5000/query"; string reqUrl = "http://47.104.90.170:5000/query"; int reqTimeout = 25; //①获取订阅列表 MYSHIPPINGTESTEntities me = new MYSHIPPINGTESTEntities(); //筛选订阅列表,去除不需要查询的数据 //②循环订阅列表并请求物流信息网数据 //※获取场站名称与接口id对应表 List yardlist = me.op_seae_billtrack_yardid.ToList(); JObject reqObj = new JObject(); reqObj.Add("yardid", "YGT"); reqObj.Add("mblno", new JValue(mblno)); reqObj.Add("isweb", "2"); //reqObj.Add("ygttype", "dj"); MsOpSeaeQDPortDataDAL dal = new MsOpSeaeQDPortDataDAL(userid); var infolist = dal.GetQdportAccount(); reqObj.Add("webusername", infolist[0]); reqObj.Add("webuserpass", infolist[1]); string mailAddr = ""; string rtn = ""; YGTModel ygtM; RepYGTModel mYGT; //②-①请求物流信息网数据 try { rtn = WebRequestHelper.DoPost(reqUrl, reqObj.ToString(Formatting.None), reqTimeout * 1000); if (rtn.Contains("单号信息不存在") || rtn.Contains("验证码")|| rtn.Contains("无可用账号")) { op_seae_billtrack bt; var bto = me.op_seae_billtrack.Where(o => o.MBLNO == mblno).ToList(); if (bto.Count > 0) { bt = bto.First(); int times = (Helper.ToInt32(bt.TrackTimesWLXX) + 1); bt.TrackTimesQDPort = times; bt.updateTimeQDPort = DateTime.Now; } else { bt = new op_seae_billtrack(); bt.GID = Guid.NewGuid().ToString(); bt.CreateTime = DateTime.Now; bt.CARRIERID = carrier; bt.MBLNO = mblno; bt.YARD = yardname; bt.YunDiShiJian = null; bt.CangDanShiJian = null; bt.updateTime = DateTime.Now; bt.BaoGuanFangXing = null; bt.ZhuangZaiFangXing = null; bt.TrackTimesWLXX = 0; bt.TrackTimesQDPort = 0; bt.TrackTimesCZ = 0; bt.TrackTimesFX = 0; bt.updateTimeQDPort = DateTime.Now; me.op_seae_billtrack.Add(bt); } me.SaveChanges(); return ""; } } catch (Exception ex) { return ""; } //②-②反序列化 try { mYGT = JsonConvert.DeserializeObject(rtn); ygtM = mYGT.message; if (ygtM == null) { return ""; } } catch (Exception e) { return ""; } //②-④入库更新 try { //②-④-① 更新主表舱单信息 op_seae_billtrack bt; var bto = me.op_seae_billtrack.Where(o => o.MBLNO == mblno).ToList(); if (bto.Count > 0) { bt = bto.First(); int times = (Helper.ToInt32(bt.TrackTimesQDPort) + 1); bt.TrackTimesQDPort = times; bt.VESSEL = ygtM.YWCM; bt.VOYNO = ygtM.CKHC; bt.KaiChuanShiJian = Helper.ToDateTime(ygtM.SJLGSJ); bt.updateTimeQDPort = DateTime.Now; bt.MaTouFangXing = ygtM.FXBZ; } else { bt = new op_seae_billtrack(); bt.GID = Guid.NewGuid().ToString(); bt.CreateTime = DateTime.Now; bt.CARRIERID = carrier; bt.MBLNO = mblno; bt.YARD = yardname; bt.VESSEL = ygtM.YWCM; bt.VOYNO = ygtM.CKHC; bt.KaiChuanShiJian = Helper.ToDateTime(ygtM.SJLGSJ); bt.MaTouFangXing = ygtM.FXBZ; bt.TrackTimesQDPort = 1; bt.TrackTimesFX = 0; bt.TrackTimesCZ = 0; bt.TrackTimesWLXX = 0; bt.updateTimeQDPort = DateTime.Now; me.op_seae_billtrack.Add(bt); } int rst = me.SaveChanges(); if (rst>0) { return bt.GID; } else { return ""; } } catch (Exception e) { return ""; } } catch (Exception ex) { return ""; } } } }