코드 몇 줄~ 이리저리 고쳐!
19075 단어 코드
과정은 생략하고 퇴근해야 하니 대충 기록해 두세요. 결과는 이렇습니다. 바로 코드에 올리세요.
1: // , 2: public class ESingleLogic : _BaseLogic 3: { 4: ESingle _InitESingle(string carrierNo) 5: { 6: SystemParaLogic sysParalogic = new SystemParaLogic(); 7: 8: if (carrierNo.Equals("EMS", StringComparison.CurrentCultureIgnoreCase)) 9: { 10: //ems 11: return new ESingleEMS(sysParalogic.QuerySystemPara(""), 12: sysParalogic.QuerySystemPara(""), 13: sysParalogic.QuerySystemPara("")); 14: } 15: else if (carrierNo.Equals("JD", StringComparison.CurrentCultureIgnoreCase)) 16: { 17: // 18: return new ESingleJD( 19: sysParalogic.QuerySystemPara(""), 20: sysParalogic.QuerySystemPara(""), 21: sysParalogic.QuerySystemPara("")); 22: } 23: else 24: { 25: return null; 26: } 27: } 28: 29: public string CreateESingle(vew_wms_ExpressList orderInfo) 30: { 31: // 32: var eSingle = _InitESingle(orderInfo.fCarrierNo); 33: 34: if (eSingle == null) 35: { 36: return null; 37: } 38: 39: var response = eSingle.CreateESingle(orderInfo); 40: 41: // 42: Log(response.OriginalResponseString, "ESingleResponse"); 43: 44: return response.ResponseData; 45: } 46: } <!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
기본 클래스:
1: public abstract class ESingle 2: { 3: /// <summary> 4: /// ( ) 5: /// </summary> 6: public string Url { get; set; } 7: 8: /// <summary> 9: /// 【WMS-> 】 10: /// </summary> 11: /// <param name="url">url </param> 12: /// <param name="orderInfo"> </param> 13: /// <returns> </returns> 14: public virtual ESingleResponse CreateESingle(vew_wms_ExpressList orderInfo) 15: { 16: throw new NotImplementedException(); 17: } 18: } <!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
하나의 구현 클래스:
1: /// <summary> 2: /// EMS 3: /// </summary> 4: public class ESingleEMS : ESingle 5: { 6: string userName = ""; 7: string userPsw = ""; 8: 9: /// <summary> 10: /// URL 11: /// </summary> 12: /// <param name="url"></param> 13: /// <param name="userName"></param> 14: /// <param name="userPsw"></param> 15: public ESingleEMS(string url, string userName, string userPsw) 16: { 17: this.Url = url; 18: this.userName = userName; 19: this.userPsw = userPsw; 20: } 21: 22: public override ESingleResponse CreateESingle(vew_wms_ExpressList orderInfo) 23: { 24: var request = _CreateRequestXml(orderInfo, 25: userName, 26: userPsw); 27: var response =Post(this.Url, request); 29: 32: ESingleResponse result = new ESingleResponse(); return result;
46: } 47: } <!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
설계의 취지는 WMS에 있어서 하나의 입구만 있고 같은 파라미터를 전달하여 같은 구조의 결과를 얻는 것이다.따라서 여기에 통일된 결과류도 도입한다(보완이 필요하다)
1: /// <summary> 2: /// 3: /// </summary> 4: public class ESingleResponse 5: { 6: /// <summary> 7: /// 8: /// </summary> 9: public string OriginalResponseString { get; set; } 10: /// <summary> 11: /// 12: /// </summary> 13: public bool isSuccess { get; set; } 14: /// <summary> 15: /// 16: /// </summary> 17: public string ErrMsg { get; set; } 18: /// <summary> 19: /// 20: /// </summary> 21: public string ReqOrderNo { get; set; } 22: /// <summary> 23: /// 24: /// </summary> 25: public string ResponseData { get; set; } 26: } <!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
모든 물류 회사의 인터페이스에 필요한 매개 변수가 같지 않기 때문에 실례화류에 이 매개 변수를 구조 함수를 통해 채워넣는다
//ems
return new ESingleEMS(sysParalogic.QuerySystemPara(""),
sysParalogic.QuerySystemPara(""),
sysParalogic.QuerySystemPara("")); , , , 。 public virtual ESingleResponse CreateESingle(string url,
vew_wms_ExpressList orderInfo,
string userName,
string userPsw,
Dictionary<string,string> otherPara)
{
throw new NotImplementedException();
}
VS
public string CreateESingle(vew_wms_ExpressList orderInfo){}
! <!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vue 단일 페이지에 여러 개의 echarts 도표가 있을 때의 공용 코드 쓰기html에서: 데이터 처리는 말할 필요가 없다.응, 직접 그림을 그려: 공통 섹션: 이 페이지를 떠날 때 파괴: 추가 정보: Vue + Echarts 차트 표시 및 동적 렌더링 준비 작업 echarts 의존 설치 n...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.