| | |
| | | StaticMethod CallInterfaceForSAPGet ( |
| | | InterfaceDataset owner, |
| | | InterfaceLoginfo loginfo |
| | | ) as owning InterfaceSAPResponseLoginfos |
| | | ) as String |
| | | { |
| | | Description: '调用数据中台接口' |
| | | TextBody: |
| | |
| | | //后续公共处理 |
| | | loginfo.FinishTime( DateTime::ActualTime() ); |
| | | data := JSON::Null().Build(); |
| | | saploginfos := construct( InterfaceSAPResponseLoginfos ); |
| | | sapresponse := construct( InterfaceSAPResponseLoginfos ); |
| | | feedback := ''; |
| | | if( loginfo.Success() ){ |
| | | resultJson := JSON::Parse( loginfo.Response() ); |
| | | code := resultJson.Get( "code" ).GetNumber(); |
| | |
| | | } |
| | | for( i := 0; i < data.Size(); i++ ){ |
| | | item := data.Get( i ); |
| | | saploginfos.Add( InterfaceSAPResponseLoginfo::GenerateData( loginfo, item ) ); |
| | | sapresponse.Add( InterfaceSAPResponseLoginfo::GenerateData( loginfo, item ) ); |
| | | } |
| | | sucproduct := selectuniquevalues( sapresponse, Elements, e, e.IsSuccess(), e.Msg_v1() ); |
| | | failmssages := selectuniquevalues( sapresponse, Elements, e, not e.IsSuccess(), ifexpr( e.Msg().FindString( e.Msg_v1(), 0 ) > -1, e.Msg().ReplaceAll( e.Msg_v1(), '*' ), e.Msg() ) ); |
| | | feedback.Concat( '产品' ).Concat( sucproduct.Concatenate( "、" ) ).Concat( '推送成功' ).Concat( ';' ); |
| | | traverse( failmssages, Elements, failmsg ){ |
| | | failproduct := selectuniquevalues( sapresponse, Elements, e, not e.IsSuccess() and ( failmsg = e.Msg() or failmsg = e.Msg().ReplaceAll( e.Msg_v1(), '*' ) ), e.Msg_v1() ); |
| | | if( failmsg.FindString( '*', 0 ) > -1 ){ |
| | | feedback.Concat( failmsg.ReplaceAll( '*', failproduct.Concatenate( '、' ) ) ).Concat( ';' ); |
| | | }else{ |
| | | feedback.Concat( '产品' ).Concat( failproduct.Concatenate( '、' ) ).Concat( '因为' ).Concat( failmsg ).Concat( '推送失败' ).Concat( ';' ); |
| | | } |
| | | } |
| | | feedback := feedback.Replace( feedback.Length() - 1, 1, '。' ); |
| | | } |
| | | |
| | | return &saploginfos; |
| | | return feedback; |
| | | *] |
| | | } |