日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

java调用银海社保接口_[开源] C# 封装 银海医保的接口

發布時間:2024/3/12 C# 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java调用银海社保接口_[开源] C# 封装 银海医保的接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#Model封裝 銀海醫保的接口

介紹

銀海醫保的接口我就不說了,很多家醫院在用,但是網上資料不多,接口通過COM組件調用。官方示例有VB,delphi,PB。

我們的HIS是B/S 程序,不能直接調用,所以通過此程序封裝銀海接口后,通過此程序調用。

當前程序是一個Asp.net mvc web api selfhost 做成一個桌面服務端,封裝銀海接口,瀏覽器通過使用JavaScript 請求調用。當然你也可以直接引用DLL,調用方法。

.NET 調用COM 組件示例:

COM 組件調用方式如下:

int Appcode = -1;

msg = string.Empty;

object[] args = new object[] { Appcode, msg };

yhObject = System.Activator.CreateInstance(yh);

ParameterModifier pm = new ParameterModifier(2);

pm[0] = true;

pm[1] = true;

ParameterModifier[] pmd = { pm };

yh.InvokeMember("yh_interface_init", BindingFlags.InvokeMethod, null,

yhObject, args, pmd, System.Globalization.CultureInfo.CurrentCulture, null);

string o1 = args[0].ToString();

string o2 = args[1].ToString();

項目特點

銀行的接口是通過組裝XML來調用,而且xml都是這種prm_xxx 神奇的數字節點。。

我使用特性封裝Model,調用方屏蔽掉xml中prm_xxx 這種神奇的數字,直接使用中文屬性。

(使用中文Model當然也有缺點,只不過是我懶得封裝上百個Model。直接使用代碼生成器生成Model)

這樣如果需要添加一個新的接口,可以在兩分鐘之內搞定。(只需要一鍵生成Model)

項目添加Mock方式,可以在沒有環境的情況下模擬假數據。

也添加了測試環境,及Dump文件及日志等。直接使用dump的json重現錯誤。

不吹了。。

已知的坑

銀海某些接口是返回的使用/t分隔的文本文件的,居然沒有表頭。我這邊解析是通過反射解析,所以要注意model屬性聲明的順序就是解析文本文件的順序。。。順序千萬不能亂。

此項目主要是通過反射賦值,其實效率并不慢。當然你可以去優化了。。

不同的醫保政策使用同一個接口,同一個model時,可能再不同的政策下,屏蔽某些屬性。

這個只要在反射的時候過濾下就行,這個我還沒做。因為我的項目所在醫院目前只開了兩個政策。

總結

以上是生活随笔為你收集整理的java调用银海社保接口_[开源] C# 封装 银海医保的接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。