System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,特別是涉及一種實現軟件系統中撤銷操作的方法、裝置、服務器及存儲介質。
技術介紹
1、隨著企業業務的不斷擴展和交易頻率的飆升,軟件系統作為企業運營的核心支撐,其穩定性和可靠性日益成為企業關注的焦點。其中,撤銷操作作為軟件系統中不可或缺的一部分,其在保證業務流程的準確性和完整性方面發揮著至關重要的作用。
2、然而,當前軟件系統在實現撤銷流程時各撤銷操作之間的設計邏輯高度耦合,使得一旦軟件系統中某個撤銷操作發生錯誤,往往會導致其他的撤銷操作出現相應的錯誤,甚至導致整個撤銷流程失敗。舉例來說,在一個在線購物系統中,撤銷操作包括支付撤銷、訂單狀態更新、庫存恢復等。且這些撤銷操作之間的設計邏輯高度耦合,當訂單狀態更新發生錯誤時,會導致支付撤銷和庫存恢復也會發生相應的錯誤,使得整個撤銷流程失敗。
3、這種設計限制了軟件系統的適應性和可維護性。高度耦合的撤銷操作使得系統難以適應不同業務的撤銷需求,且一旦某個撤銷階段出現問題,可能波及整個流程,增加故障排查和修復的難度。
技術實現思路
1、基于上述問題,本申請提供了一種實現軟件系統中撤銷操作的方法、裝置、服務器及存儲介質。
2、本申請實施例公開了如下技術方案:
3、本申請第一方面提供了一種實現軟件系統中撤銷操作的方法,該方法包括:
4、接收用戶設備通過軟件系統發起的撤銷請求;所述撤銷請求用于指示撤銷已完成的第一業務流程;
5、基于業務流程與撤銷流程的對應性,確定
6、基于所述軟件系統中業務撤銷規則將所述第一撤銷流程劃分為多個獨立的撤銷階段,每個撤銷階段包含對應的撤銷方法;
7、創建并初始化撤銷信息載體和撤銷執行器列表;
8、從所述多個撤銷階段中確定待執行撤銷階段;
9、獲取所述待執行撤銷階段所需的撤消信息并添加至所述撤銷信息載體;
10、將所述待執行撤銷階段對應的撤銷方法添加至所述撤銷執行器列表中;
11、基于所述撤銷信息載體中的撤消信息執行所述撤銷執行器列表中的撤銷方法。
12、可選實現方式中,所述待執行撤銷階段所需的撤消信息包含多種類型的撤銷信息;
13、所述創建并初始化撤消信息載體,包括:
14、創建撤銷信息載體;
15、通過建造者模式初始化所述撤銷信息載體;所述建造者模式支持所述撤銷信息載體添加多種類型的撤消信息。
16、可選實現方式中,所述撤銷請求包含第一標識信息,所述第一標識信息指示待執行撤銷階段;
17、所述每個撤銷階段還包含對應的唯一標識信息,所述唯一標識信息用于唯一指代對應的撤銷階段。
18、可選實現方式中,所述從所述多個撤銷階段中確定待執行撤銷階段,包括:
19、遍歷所述多個撤銷階段的唯一標識信息;
20、將所述唯一標識信息與所述撤銷請求中的第一標識信息匹配的撤銷階段確定為待執行撤銷階段。
21、可選實現方式中,所述基于所述撤銷信息載體中的撤消信息執行所述撤銷執行器列表中的撤銷方法,包括:
22、按照所述撤銷執行器列表中的撤銷方法的順序,逐個將所述撤銷信息載體中的相應撤銷階段所需的撤消信息傳入所述撤銷執行器列表中;
23、基于傳入的撤消信息執行所述撤銷執行器列表中相應撤銷階段對應的撤銷方法。
24、可選實現方式中,在所述接收用戶設備通過軟件系統發送發起的撤銷請求之后,該方法還包括:
25、根據所述軟件系統中業務撤銷規則得到撤銷條件;所述撤銷條件為執行所述撤銷請求時需要符合的條件;
26、基于所述撤銷條件對所述撤銷請求進行校驗;若所述撤銷請求符合所述撤銷條件,則撤銷校驗通過;若所述撤銷請求未符合所述撤銷條件,則撤銷校驗未通過。
27、可選實現方式中,在所述撤銷校驗未通過之后,該方法還包括:
28、輸出異常信息并攔截所述撤銷請求,所述異常信息包括所述撤銷請求未符合的撤銷條件。
29、本申請第二方面提供了一種實現軟件系統中撤銷操作的裝置,該裝置包括:
30、接收模塊,用于接收用戶設備通過軟件系統發起的撤銷請求;所述撤銷請求用于指示撤銷已完成的第一業務流程;
31、撤銷流程確定模塊,用于基于業務流程與撤銷流程的對應性,確定所述第一業務流程對應的第一撤銷流程;
32、撤銷階段劃分模塊,用于基于所述軟件系統中業務撤銷規則將所述第一撤銷流程劃分為多個獨立的撤銷階段,每個撤銷階段包含對應的撤銷方法;
33、創建和初始化模塊,用于創建并初始化撤消信息載體和撤銷執行器列表;
34、待撤銷階段確定模塊,用于從所述多個撤銷階段中確定待執行撤銷階段;
35、第一添加模塊,用于獲取所述待執行撤銷階段所需的撤消信息并添加至所述撤銷信息載體;
36、第二添加模塊,用于將所述待執行撤銷階段對應的撤銷方法添加至所述撤銷執行器列表中;
37、撤銷模塊,用于基于所述撤銷信息載體中的撤消信息執行所述撤銷執行器列表中的撤銷方法。
38、本申請第三方面提供了一種實現軟件系統中撤銷操作的服務器,該服務器包括:
39、存儲器,其上存儲有計算機程序;
40、處理器,用于執行所述存儲器中的所述計算機程序,以實現第一方面任一實現方式中介紹的實現軟件系統中撤銷操作的方法的步驟。
41、本申請第四方面提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現第一方面任一實現方式中介紹的實現軟件系統中撤銷操作的方法的步驟。
42、相較于現有技術,本申請具有以下有益效果:
43、本申請技術方案中,首先接收用戶設備通過軟件系統發起的撤銷請求,撤銷請求用于指示撤銷已完成的第一業務流程;接著基于業務流程與撤銷流程的對應性,確定第一業務流程對應的第一撤銷流程;其次基于軟件系統中業務撤銷規則將第一撤銷流程劃分為多個獨立的撤銷階段,每個撤銷階段包含對應的撤銷方法;再次創建并初始化撤銷信息載體和撤銷執行器列表;然后從多個撤銷階段中確定待執行撤銷階段;此外獲取待執行撤銷階段所需的撤消信息并添加至撤銷信息載體;與此同時將待執行撤銷階段對應的撤銷方法添加至撤銷執行器列表中;最后基于撤銷信息載體中的撤消信息執行撤銷執行器列表中的撤銷方法。
44、在本申請技術方案中,通過基于軟件系統中業務撤銷規則將撤銷流程靈活地劃分為多個獨立的撤銷階段,每個撤銷階段都有其特定的撤銷方法,降低了各個撤銷階段之間的耦合度,減少了各撤銷階段間的相互依賴,使得一個撤銷階段出現錯誤時不會影響到其他撤銷階段的執行,使得撤銷操作更加靈活,易于管理和維護。在本方案中通過撤銷執行器列表可以根據不同的業務需要添加不同的撤銷方法,從而增強了撤銷操作的靈活性。這有助于適應不同本文檔來自技高網...
【技術保護點】
1.一種實現軟件系統中撤銷操作的方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述待執行撤銷階段所需的撤消信息包含多種類型的撤銷信息;
3.根據權利要求1所述的方法,其特征在于,所述撤銷請求包含第一標識信息,所述第一標識信息指示待執行撤銷階段;
4.根據權利要求3所述的方法,其特征在于,所述從所述多個撤銷階段中確定待執行撤銷階段,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述撤銷信息載體中的撤消信息執行所述撤銷執行器列表中的撤銷方法,包括:
6.根據權利要求1-5任一項所述的方法,其特征在于,在所述接收用戶設備通過軟件系統發送發起的撤銷請求之后,所述方法還包括:
7.根據權利要求6所述的方法,其特征在于,在所述撤銷校驗未通過之后,所述方法還包括:
8.一種實現軟件系統中撤銷操作的裝置,其特征在于,所述裝置包括:
9.一種實現軟件系統中撤銷操作的服務器,其特征在于,所述服務器包括:
10.一種計算機可讀存儲介質,其上存儲有計算機程
...【技術特征摘要】
1.一種實現軟件系統中撤銷操作的方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述待執行撤銷階段所需的撤消信息包含多種類型的撤銷信息;
3.根據權利要求1所述的方法,其特征在于,所述撤銷請求包含第一標識信息,所述第一標識信息指示待執行撤銷階段;
4.根據權利要求3所述的方法,其特征在于,所述從所述多個撤銷階段中確定待執行撤銷階段,包括:
5.根據權利要求1所述的方法,其特征在于,所述基于所述撤銷信息載體中的撤消信息執行所述撤銷執行器列表中的撤銷方法,包括:
6...
【專利技術屬性】
技術研發人員:董方杰,
申請(專利權)人:北京商銀微芯科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。