需求:統一計次系統:業務不同,計次不同,後續操作不同。
入參:需計次的業務 + 個性化Map入參(特判業務使用)
出參:計次後的後續操作所需參數 + 當前計次
表設計:日誌表(甩鍋必備、查問題、唯一性校驗)、業務計次表(業務原子維度計次)、業務計次規則表(主要有幾個字段:計次業務;計次規則表達式1、滿足計次規則1的後續操作參數;計次規則表達式2、滿足計次規則2的後續操作參數;...... ;計次規則表達式10、滿足計次規則10的後續操作參數;一般業務10個計次規則夠用了;表達式的判斷一般根據 當前計次+個性化入參)
技術選用:計次規則表達式參考使用aviator等表達式執行引擎。
業務邏輯(整體邏輯使用鎖、事務):先計次。再依次進行計次規則表達式的運行校驗,滿足“計次規則表達式1”的就返回“滿足計次規則1的後續操作參數”,否則進行後面的表達式判斷,直到滿足返回。如果沒有滿足的表達式,返回空參數。
計次通常還伴隨保護期等一些與業務強關聯的操作,這些就不要聚合到計次系統中了,或者只聚合一些常用的基礎功能。