本公開涉及數(shù)據(jù)處理與應(yīng)用,尤其涉及一種電子發(fā)票數(shù)據(jù)的生成方法、系統(tǒng)、介質(zhì)、設(shè)備和產(chǎn)品。
背景技術(shù):
1、電子發(fā)票平臺,能夠為企業(yè)的各個業(yè)務(wù)系統(tǒng)提供電子發(fā)票的開具、管理、查詢和報銷等服務(wù)。相關(guān)技術(shù)中,電子發(fā)票平臺為各個業(yè)務(wù)系統(tǒng)提供了定制化的接入接口和接入流程,例如,為二手直營業(yè)務(wù)系統(tǒng)提供接入接口/v1/link/apply,為新房經(jīng)紀(jì)代理服務(wù)提供接入接口/v1/api/apply,并通過各定制化的接入接口為各業(yè)務(wù)系統(tǒng)提供定制化的開票流程進行對接開票。隨著所要服務(wù)的業(yè)務(wù)系統(tǒng)越多,接入接口和定制化開票流程的數(shù)量也越來越多,管理成本及運維成本都相應(yīng)增加。
技術(shù)實現(xiàn)思路
1、為了解決上述技術(shù)問題,本公開的實施例提供了一種電子發(fā)票數(shù)據(jù)的生成方法、系統(tǒng)、介質(zhì)、設(shè)備和產(chǎn)品。
2、根據(jù)本公開實施例的第一個方面,提供一種電子發(fā)票數(shù)據(jù)的生成方法,包括:
3、響應(yīng)于接收到業(yè)務(wù)系統(tǒng)的開票請求,基于所述開票請求中的目標(biāo)業(yè)務(wù)類型,在第一工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第一處理對象,所述第一工廠類中包含各業(yè)務(wù)類型對應(yīng)的參數(shù)轉(zhuǎn)化處理對象;
4、利用所述第一處理對象,對所述開票請求中攜帶的待開票訂單的原開票參數(shù)進行參數(shù)填充和第一校驗處理,得到填充后參數(shù)和第一校驗結(jié)果;
5、響應(yīng)于所述第一校驗結(jié)果指示校驗通過,在第二工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第二處理對象,所述第二工廠類中包含各業(yè)務(wù)類型對應(yīng)的開票過程處理對象;
6、利用所述第二處理對象,對所述填充后參數(shù)進行第二校驗處理,得到第二校驗結(jié)果;
7、響應(yīng)于所述第二校驗結(jié)果指示校驗通過,利用所述第二處理對象對所述填充后參數(shù)進行參數(shù)轉(zhuǎn)化,得到電子發(fā)票數(shù)據(jù)。
8、在本公開的一些實施方式中,所述利用所述第二處理對象對所述填充后參數(shù)進行參數(shù)轉(zhuǎn)化,得到電子發(fā)票數(shù)據(jù)之后,還包括:
9、執(zhí)行開票操作,所述開票操作包括以下至少一項:存儲所述電子發(fā)票數(shù)據(jù)至數(shù)據(jù)庫,審批操作,異步開票操作。
10、在本公開的又一些實施方式中,所述執(zhí)行開票操作之后,還包括:
11、在第三工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第三處理對象,所述第三工廠類中包含各業(yè)務(wù)類型對應(yīng)的開票狀態(tài)通知處理對象;
12、利用所述第三處理對象,向所述業(yè)務(wù)系統(tǒng)發(fā)送開票狀態(tài)通知消息。
13、在本公開的又一些實施方式中,還包括:
14、預(yù)先生成開票狀態(tài)通知處理器接口,以及各業(yè)務(wù)類型的開票狀態(tài)通知公共方法;
15、利用工廠模式,基于各業(yè)務(wù)類型的開票狀態(tài)通知公共方法和私有方法,生成各業(yè)務(wù)類型對應(yīng)的開票狀態(tài)通知處理對象。
16、在本公開的又一些實施方式中,所述向所述業(yè)務(wù)系統(tǒng)發(fā)送開票狀態(tài)通知消息,包括:
17、將所述開票狀態(tài)通知消息插入消息隊列,所述業(yè)務(wù)系統(tǒng)通過消費所述消息隊列中的消息獲取開票狀態(tài);或者,
18、通過調(diào)用所述業(yè)務(wù)系統(tǒng)的接口,向所述業(yè)務(wù)系統(tǒng)發(fā)送所述開票狀態(tài)通知消息;或者,
19、通過事件總線向所述業(yè)務(wù)系統(tǒng)廣播所述開票狀態(tài)通知消息。
20、在本公開的又一些實施方式中,響應(yīng)于所述第一校驗結(jié)果指示校驗未通過,或者所述第二校驗結(jié)果指示校驗未通過,還包括:
21、向所述業(yè)務(wù)系統(tǒng)返回錯誤提示信息,所述錯誤提示信息中攜帶有校驗未通過的原因。
22、在本公開的又一些實施方式中,還包括:
23、預(yù)先生成開票過程處理器接口,以及各業(yè)務(wù)類型的開票過程公共方法;
24、利用工廠模式,基于各業(yè)務(wù)類型的開票過程公共方法和私有方法,生成各業(yè)務(wù)類型對應(yīng)的開票過程處理對象。
25、根據(jù)本公開實施例的第二個方面,提供一種電子發(fā)票數(shù)據(jù)的生成裝置,包括:
26、第一獲取模塊,用于響應(yīng)于接收到業(yè)務(wù)系統(tǒng)的開票請求,基于所述開票請求中的目標(biāo)業(yè)務(wù)類型,在第一工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第一處理對象,所述第一工廠類中包含各業(yè)務(wù)類型對應(yīng)的參數(shù)轉(zhuǎn)化處理對象;
27、第一處理模塊,用于利用所述第一處理對象,對所述開票請求中攜帶的待開票訂單的原開票參數(shù)進行參數(shù)填充和第一校驗處理,得到填充后參數(shù)和第一校驗結(jié)果;
28、第二獲取模塊,用于響應(yīng)于所述第一校驗結(jié)果指示校驗通過,在第二工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第二處理對象,所述第二工廠類中包含各業(yè)務(wù)類型對應(yīng)的開票過程處理對象;
29、第二處理模塊,用于利用所述第二處理對象,對所述填充后參數(shù)進行第二校驗處理,得到第二校驗結(jié)果;
30、第三處理模塊,用于響應(yīng)于所述第二校驗結(jié)果指示校驗通過,利用所述第二處理對象對所述填充后參數(shù)進行參數(shù)轉(zhuǎn)化,得到電子發(fā)票數(shù)據(jù)。
31、在本公開的一些實施方式中,所述裝置還包括:
32、開票模塊,用于執(zhí)行開票操作,所述開票操作包括以下至少一項:存儲所述電子發(fā)票數(shù)據(jù)至數(shù)據(jù)庫,審批操作,異步開票操作。
33、在本公開的又一些實施方式中,所述裝置還包括:
34、第三獲取模塊,用于在第三工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第三處理對象,所述第三工廠類中包含各業(yè)務(wù)類型對應(yīng)的開票狀態(tài)通知處理對象;
35、通知模塊,用于利用所述第三處理對象,向所述業(yè)務(wù)系統(tǒng)發(fā)送開票狀態(tài)通知消息。
36、在本公開的又一些實施方式中,還包括:
37、第一生成模塊,用于預(yù)先生成開票狀態(tài)通知處理器接口,以及各業(yè)務(wù)類型的開票狀態(tài)通知公共方法;
38、第二生成模塊,用于利用工廠模式,基于各業(yè)務(wù)類型的開票狀態(tài)通知公共方法和私有方法,生成各業(yè)務(wù)類型對應(yīng)的開票狀態(tài)通知處理對象。
39、在本公開的又一些實施方式中,所述通知模塊,具體用于:
40、將所述開票狀態(tài)通知消息插入消息隊列,所述業(yè)務(wù)系統(tǒng)通過消費所述消息隊列中的消息獲取開票狀態(tài);或者,
41、通過調(diào)用所述業(yè)務(wù)系統(tǒng)的接口,向所述業(yè)務(wù)系統(tǒng)發(fā)送所述開票狀態(tài)通知消息;或者,
42、通過事件總線向所述業(yè)務(wù)系統(tǒng)廣播所述開票狀態(tài)通知消息。
43、在本公開的又一些實施方式中,所述裝置還包括:
44、錯誤提示模塊,用于響應(yīng)于所述第一校驗結(jié)果指示校驗未通過,或者所述第二校驗結(jié)果指示校驗未通過,向所述業(yè)務(wù)系統(tǒng)返回錯誤提示信息,所述錯誤提示信息中攜帶有校驗未通過的原因。
45、在本公開的又一些實施方式中,還包括:
46、第三生成模塊,用于預(yù)先生成開票過程處理器接口,以及各業(yè)務(wù)類型的開票過程公共方法;
47、第四生成模塊,用于利用工廠模式,基于各業(yè)務(wù)類型的開票過程公共方法和私有方法,生成各業(yè)務(wù)類型對應(yīng)的開票過程處理對象。
48、根據(jù)本公開實施例的第三個方面,提供一種電子發(fā)票數(shù)據(jù)的生成系統(tǒng),包括:開票接口、處理單元、存儲單元;
49、所述存儲單元中存儲有第一工廠類、第二工廠類、第三工廠類;
50、所述開票接口用于接收各業(yè)務(wù)系統(tǒng)發(fā)送的開票請求;
51、所述處理單元基于所述開票請求中的目標(biāo)業(yè)務(wù)類型,在第一工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第一處理對象,所述第一工廠類中包含各業(yè)務(wù)類型對應(yīng)的參數(shù)轉(zhuǎn)化處理對象;并利用所述第一處理對象,對所述開票請求中攜帶的待開票訂單的原開票參數(shù)進行參數(shù)填充和第一校驗處理,得到填充后參數(shù)和第一校驗結(jié)果;響應(yīng)于所述第一校驗結(jié)果指示校驗通過,在第二工廠類中獲取所述目標(biāo)業(yè)務(wù)類型對應(yīng)的第二處理對象,所述第二工廠類中包含各業(yè)務(wù)類型對應(yīng)的開票過程處理對象;利用所述第二處理對象,對所述填充后參數(shù)進行第二校驗處理,得到第二校驗結(jié)果;響應(yīng)于所述第二校驗結(jié)果指示校驗通過,利用所述第二處理對象對所述填充后參數(shù)進行參數(shù)轉(zhuǎn)化,得到電子發(fā)票數(shù)據(jù)。
52、根據(jù)本公開實施例的第四個方面,提供一種計算機可讀存儲介質(zhì),所述存儲介質(zhì)存儲有計算機程序指令,所述計算機程序指令被執(zhí)行時,實現(xiàn)上述電子發(fā)票數(shù)據(jù)的生成方法。
53、根據(jù)本公開實施例的第五個方面,提供一種電子設(shè)備,所述電子設(shè)備包括:
54、存儲器,用于存儲計算機程序產(chǎn)品;
55、處理器,用于執(zhí)行所述存儲器中存儲的計算機程序產(chǎn)品,且所述計算機程序產(chǎn)品被執(zhí)行時,實現(xiàn)上述電子發(fā)票數(shù)據(jù)的生成方法。
56、根據(jù)本公開實施例的第六個方面,提供一種計算機程序產(chǎn)品,包括計算機程序指令,計算機程序指令被處理器執(zhí)行時實現(xiàn)上述電子發(fā)票數(shù)據(jù)的生成方法。
57、基于本公開上述實施例,在接收到業(yè)務(wù)系統(tǒng)的開票請求時,基于開票請求中的目標(biāo)業(yè)務(wù)類型,在第一工廠類中獲取目標(biāo)業(yè)務(wù)類型對應(yīng)的第一處理對象,第一工廠類中包含各業(yè)務(wù)類型對應(yīng)的參數(shù)轉(zhuǎn)化處理對象;并利用第一處理對象,對開票請求中攜帶的待開票訂單的原開票參數(shù)進行參數(shù)填充和第一校驗處理,得到填充后參數(shù)和第一校驗結(jié)果;響應(yīng)于第一校驗結(jié)果指示校驗通過,在第二工廠類中獲取目標(biāo)業(yè)務(wù)類型對應(yīng)的第二處理對象;利用第二處理對象,對填充后參數(shù)進行第二校驗處理,得到第二校驗結(jié)果;響應(yīng)于第二校驗結(jié)果指示校驗通過,利用第二處理對象對填充后參數(shù)進行參數(shù)轉(zhuǎn)化,得到電子發(fā)票數(shù)據(jù)。由此,本公開技術(shù)方案可以通過工廠模式為不同的業(yè)務(wù)類型實現(xiàn)對應(yīng)的業(yè)務(wù)處理對象,將對象的創(chuàng)建和具體實現(xiàn)解耦,提供了更靈活的對象創(chuàng)建方式,有助于實現(xiàn)各業(yè)務(wù)系統(tǒng)通過統(tǒng)一的接口接入電子發(fā)票平臺,實現(xiàn)了各業(yè)務(wù)系統(tǒng)的通用開票處理方法和定制化開票處理方法的兼容,復(fù)用性極高,極大地降低了開發(fā)難度和接入難度。
58、下面通過附圖和實施例,對本公開的技術(shù)方案做進一步的詳細描述。