From 4bfda1c26b599e1553c14ad9460122df64aa98cd Mon Sep 17 00:00:00 2001 From: wet <1034391973@qq.com> Date: Tue, 5 Jul 2022 11:16:41 +0800 Subject: [PATCH] 1 --- web/djy.Model/IsfDto/IsfInfo.cs | 7 +- web/djy.Service/Ams/AmsService.cs | 2 +- web/djy.Service/ISF/IsfService.cs | 235 +++++++++++++++--------------- 3 files changed, 121 insertions(+), 123 deletions(-) diff --git a/web/djy.Model/IsfDto/IsfInfo.cs b/web/djy.Model/IsfDto/IsfInfo.cs index f6f8226..717c304 100644 --- a/web/djy.Model/IsfDto/IsfInfo.cs +++ b/web/djy.Model/IsfDto/IsfInfo.cs @@ -109,12 +109,7 @@ namespace djy.Model.IsfDto public class IsfInfo { - //public List companyList { get; set; } -<<<<<<< .mine - public object companyList { get; set; } -======= - ->>>>>>> .theirs + public List companyList { get; set; } public string format { get; set; } public Info info { get; set; } diff --git a/web/djy.Service/Ams/AmsService.cs b/web/djy.Service/Ams/AmsService.cs index b57fbe7..42f672b 100644 --- a/web/djy.Service/Ams/AmsService.cs +++ b/web/djy.Service/Ams/AmsService.cs @@ -426,7 +426,7 @@ namespace djy.Service.Ams { if (master.ReportState == "删单成功") { - req.Code = 200; + req.Code = 201; req.Message = "已删除单据不可以再次删除"; return req; } diff --git a/web/djy.Service/ISF/IsfService.cs b/web/djy.Service/ISF/IsfService.cs index 50860b9..670ae46 100644 --- a/web/djy.Service/ISF/IsfService.cs +++ b/web/djy.Service/ISF/IsfService.cs @@ -270,131 +270,134 @@ namespace djy.Service.Isf var fin = new FinanceService(); var master = DbBus.Get(DbList.AMSCenter).Select().Where(x => (x.IsDel == false || x.IsDel == null) && x.CompID == user.CompId && x.GID == oid).ToOne(); var comlist = DbBus.Get(DbList.AMSCenter).Select().Where(x => (x.IsDel == false || x.IsDel == null) && x.PID == oid).ToList(); - if (msgType == "3"&& master.ReportState == "删单成功") - { - req.Code = 201; - req.Message = "已删除单据不可以再次删除"; - return req; - } - if (msgType == "4" && !(master.ReportState == "已删除" || master.MateState == "匹配失败")) { req.Code = 200; req.Message = "当前状态不能重发!如有疑问,请联系相关客服!"; return req; } - //if (msgType == "1" || msgType == "4") - //{ - // ///扣费接口 - // var getfinrs = fin.Expend(new CustFee - // { - // SENDUSERID = user.GID, - // LURURENID = user.GID, - // CtnrCount = 1, - // CtnrInfo = string.Empty, - // BSTYPE = 16, - // SENDTYPE = 0, - // BSNO = oid.ToString(), - // MBLNO = master.MBLNO.ToString(), - // } - // , 0); - // if (!getfinrs.Status) - // { - // req.Code = 201; - // req.Message = getfinrs.Message; - // return req; - // } - //} - var portList = DbBus.Get(DbList.Common).Select().ToList(); - var CodePortLoadList = DbBus.Get(DbList.Common).Select().ToList(); - Info info = new Info(); - info.masterBillNo = master.MBLNO; - info.infoType = master.InFoType; - info.dischargeHarbourCode = portList.Where(x => x.Code == master.DischargeHarbourCode).Select(x => x.EdiCode).FirstOrDefault(); - info.deliveryHarbourCode = portList.Where(x => x.Code == master.DeliveryHarbourCode).Select(x => x.EdiCode).FirstOrDefault(); - info.shipmentTypeCode = master.ShipmentTypeCode; - info.hstCode = master.HstCode; - info.blTypeCode = master.BlTypeCode; - info.refId = master.GID; - - //List companyList = new List(); - JArray arr = new JArray(); - foreach (var item in comlist) + if (master.ReportState == "删单成功" && msgType == "3") { - JObject obj = new JObject(); - - if (!item.Address.IsNullOrEmpty()) - obj.Add("address", new JValue($"{item.Address}")); - if (!item.City.IsNullOrEmpty()) - obj.Add("city", new JValue($"{item.City}")); - if (!item.CompanyId.IsNullOrEmpty()) - obj.Add("companyId", new JValue($"{item.CompanyId}")); - if (!item.CompanyName.IsNullOrEmpty()) - obj.Add("companyName", new JValue($"{item.CompanyName}")); - if (!item.CompanyType.IsNullOrEmpty()) - obj.Add("companyType", new JValue($"{item.CompanyType}")); - if (!item.CountryCode.IsNullOrEmpty()) - obj.Add("countryCode", new JValue($"{item.CountryCode}")); - if (!item.HstCode.IsNullOrEmpty()) - obj.Add("hstCode", new JValue($"{item.HstCode}")); - if (!item.IdTypeCode.IsNullOrEmpty()) - obj.Add("idTypeCode", new JValue($"{item.IdTypeCode}")); - if (!item.PostCode.IsNullOrEmpty()) - obj.Add("postCode", new JValue($"{item.PostCode}")); - if (!item.Province.IsNullOrEmpty()) - obj.Add("province", new JValue($"{item.Province}")); - if (!item.ProvinceCode.IsNullOrEmpty()) - obj.Add("provinceCode", new JValue($"{item.ProvinceCode}")); - arr.Add(obj); - //companyList.Add(new CompanyList - //{ - // companyType = item.CompanyType, - // companyName = item.CompanyName, - // idTypeCode = item.IdTypeCode, - // companyId = item.CompanyId, - // address = item.Address, - // city = item.City, - // province = item.Province, - // provinceCode = item.ProvinceCode, - // countryCode = item.CountryCode, - // postcode = item.PostCode, - // hstCode = item.HstCode, - //}); + + req.Code = 201; + req.Message = "已删除单据不可以再次删除"; + return req; + } + var gethtml = ""; + if (msgType != "3") + { - var timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - var AMSAccount = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSAccount").ToOne(); - var method = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "ISFMethod").ToOne(); - var key = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSKEY").ToOne(); - var url = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSURL").ToOne(); - ///////MD5加密 - //string stringSign = string.Format("companyList={0}&format=json&info={1}&method={2}&msgType={3}×tamp={4}&user_id={5}&version=2.0&key={6}", - //JsonConvert.SerializeObject(arr), JsonConvert.SerializeObject(info), method.PARAMVALUE, Convert.ToInt32(msgType), timestamp, AMSAccount.PARAMVALUE, key.PARAMVALUE); - //string sign = stringSign.ToMd5().ToUpper(); - - - - /////MD5加密 - string stringSign = string.Format("{0}{1}{2}", AMSAccount.PARAMVALUE, key.PARAMVALUE, timestamp); - string sign = stringSign.ToMd5(); - - - ///post参数 - IsfInfo isfinfo = new IsfInfo(); - isfinfo.companyList = arr; - isfinfo.format = "json"; - isfinfo.info = info; - isfinfo.method = method.PARAMVALUE; - isfinfo.msgType = Convert.ToInt32(msgType); - isfinfo.user_id = AMSAccount.PARAMVALUE; - isfinfo.sign = sign; - isfinfo.timestamp = timestamp; - isfinfo.version = "1.0"; - isfinfo.format = "json"; - string json = JsonConvert.SerializeObject(isfinfo); - _LogsAdd("SendDE", "post", $"ISF接口调用发送{oid}:{json}"); - string gethtml = await HttpHelp.Post(isfinfo, url.PARAMVALUE, PsotType.Json); - _LogsAdd("SendDE", "post", $"ISF接口调用返回{oid}:{gethtml}"); + if (msgType == "1" || msgType == "4") + { + ///扣费接口 + var getfinrs = fin.Expend(new CustFee + { + SENDUSERID = user.GID, + LURURENID = user.GID, + CtnrCount = 1, + CtnrInfo = string.Empty, + BSTYPE = 16, + SENDTYPE = 0, + BSNO = oid.ToString(), + MBLNO = master.MBLNO.ToString(), + } + , 0); + if (!getfinrs.Status) + { + req.Code = 201; + req.Message = getfinrs.Message; + return req; + } + } + var portList = DbBus.Get(DbList.Common).Select().ToList(); + var CodePortLoadList = DbBus.Get(DbList.Common).Select().ToList(); + Info info = new Info(); + info.masterBillNo = master.MBLNO; + info.infoType = master.InFoType; + info.dischargeHarbourCode = portList.Where(x => x.Code == master.DischargeHarbourCode).Select(x => x.EdiCode).FirstOrDefault(); + info.deliveryHarbourCode = portList.Where(x => x.Code == master.DeliveryHarbourCode).Select(x => x.EdiCode).FirstOrDefault(); + info.shipmentTypeCode = master.ShipmentTypeCode; + info.hstCode = master.HstCode; + info.blTypeCode = master.BlTypeCode; + info.refId = master.GID; + + List companyList = new List(); + foreach (var item in comlist) + { + companyList.Add(new CompanyList + { + companyType = item.CompanyType, + companyName = item.CompanyName, + idTypeCode = item.IdTypeCode, + companyId = item.CompanyId, + address = item.Address, + city = item.City, + province = item.Province, + provinceCode = item.ProvinceCode, + countryCode = item.CountryCode, + postcode = item.PostCode, + hstCode = item.HstCode, + }); + } + + var timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + var AMSAccount = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSAccount").ToOne(); + var method = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "ISFMethod").ToOne(); + var key = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSKEY").ToOne(); + var url = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSURL").ToOne(); + + /////MD5加密 + string stringSign = string.Format("{0}{1}{2}", AMSAccount.PARAMVALUE, key.PARAMVALUE, timestamp); + string sign = stringSign.ToMd5(); + ///post参数 + IsfInfo isfinfo = new IsfInfo(); + isfinfo.companyList = companyList; + isfinfo.format = "json"; + isfinfo.info = info; + isfinfo.method = method.PARAMVALUE; + isfinfo.msgType = Convert.ToInt32(msgType); + isfinfo.user_id = AMSAccount.PARAMVALUE; + isfinfo.sign = sign; + isfinfo.timestamp = timestamp; + isfinfo.version = "1.0"; + string json = JsonConvert.SerializeObject(isfinfo); + _LogsAdd("SendDE", "post", $"ISF接口调用发送{oid}:{json}"); + + Dictionary dic = new Dictionary(); + dic.Add("user_id", AMSAccount.PARAMVALUE); + dic.Add("method", method.PARAMVALUE); + dic.Add("format", "json"); + dic.Add("sign", sign); + dic.Add("timestamp", timestamp); + dic.Add("version", "1.0"); + dic.Add("data", json); + gethtml = await HttpHelp.Post(dic, url.PARAMVALUE, PsotType.Urlencoded); + + _LogsAdd("SendDE", "post", $"ISF接口调用返回{oid}:{gethtml}"); + + } + else { + var timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + var AMSAccount = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSAccount").ToOne(); + var method = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "ISFMethod").ToOne(); + var key = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSKEY").ToOne(); + var url = DbBus.Get(DbList.djydb).Select().Where(x => x.PARAMNAME == "AMSURL").ToOne(); + + /////MD5加密 + string stringSign = string.Format("{0}{1}{2}", AMSAccount.PARAMVALUE, key.PARAMVALUE, timestamp); + string sign = stringSign.ToMd5(); + Dictionary dic = new Dictionary(); + dic.Add("user_id", AMSAccount.PARAMVALUE); + dic.Add("method", method.PARAMVALUE); + dic.Add("format", "json"); + dic.Add("sign", sign); + dic.Add("timestamp", timestamp); + dic.Add("version", "1.0"); + dic.Add("refId", oid); + gethtml = await HttpHelp.Post(dic, url.PARAMVALUE, PsotType.Urlencoded); + _LogsAdd("SendDE", "post", $"ISF接口调用返回{oid}:{gethtml}"); + } if (gethtml != null) { JObject rlt = JObject.Parse(gethtml);