總計一下系統規則相關的業務邏輯
執行系統規則
一 正向流程
1 查詢此系統規則對於的服務組合--》services(目前乙個系統規則對應一種服務,建議一直這樣使用)
2 查詢此系統規則對於的零售商名單
3 對服務和零售商建立訂購關係(order_item中skuid就是後台服務id),返回後台服務id和訂購關係(orderitem)的map=serviceid_orderitems
(1)同步賣家支付寶資訊到匯金
(2) 根據tpid sellerid 後台serviceid,去查詢訂購關係,如果沒有,新增,如果有,則更新(如果有多條,就更新多條,然後隨機取第一條)
4 建立後台服務id和b2b計價模板的對映關係,計算b2c計價模板與b2b計價模板的比例,將對映關係與比例存入map---》作為引數(bindingmap)
5 生成前台服務==》利用services,和serviceid_orderitem,
(1) 根據serviceidlist,查詢出後台服務(basicitemdo)
(2) 替換後台服務的地域(不更新後台服務地域,傳給前台服務merge使用)
(3) 返回orderitemid與後台服務的map==》orderitemid_service
(4) 呼叫sic介面,傳入**商id,零售商id,orderitemid_service,bindingmap,返回零售商對應的所有前台服務
0 遍歷orderitemid_service
1 建立orderitemid和對應地域的對映:orderitemid_area
2 驗證補全後台服務的id和code
3 建立臨時的spuid_frontservicetemp
4 merge frontservice
(1)如果有sku,在設定地域,如果sku服務有預設的地域,則使用自己的地域,如果沒有,則是使用item的地域
5 根據後台服務merge前台服務===》spuid_frontservice
6 查詢買家對應的前台服務,補全資訊 ,生成這個買家的spuid_frontservice的map
7 建立乙份新的計價模板(b2b計價*rate的形式),設定到新merge的前台服務中
8 建立乙份新的路由 ==》router對應多個rule,乙個rule對應乙個訂購關係,乙個訂購關係對應一部分地域(不同地域能夠路由到乙個訂購關係),設定到新merge的前台服務中
9 每個rule中都存了乙個b2bpricetemplate和supplierid
10 將新的計價模板id和路由id,設定到merge的前台服務中
11 查詢這個賣家的所有前台服務,如果task對應的spu的前台服務有多個,則刪除多餘的,只保留乙個
12 對比spuid_frontservice的map,如果之前不包這個服務,直接新建乙個前台服務,如果之前存在,則
(1) 刪除原有的計價模板
(2) 刪除原有的路由規則
(3) 重置商品成交價
(4) 更新前台服務(包括sku服務,地域屬性等)
13 返回新增的前台服務,或者更新後的前台服務(乙個task對應乙個spu的服務,所以理論上返回乙個前台服務)
6 新增系統規則
如果之前存在系統規則,則不新增
7 建立前台服務和商品的繫結
(1) 查詢賣家的商品(ic搜尋,按照指定類目過濾)
(2) 對每個商品進去服務繫結
1 查詢這個商品的所有繫結關係
2 如果之前存在這個繫結關係,則先刪除舊的繫結關係。然後在新增繫結關係。
8 設定系統規則對應的使用者狀態
二 反向流程
1 查詢task對應的後台服務list
2 查詢白名單
3 遍歷白名單,刪除各種關係
1 遍歷白名單
1 刪除此task對應的系統規則(賣家在某個spu下的系統規則,有多少,刪多少)
2 解除使用者商品和服務的繫結關係
(1) 查詢使用者的商品(ic搜尋,按照類目過濾)
(2) 遍歷商品list,刪除商品在此spu下的對應的繫結關係
(3) 返回成功刪除繫結的前台商品id的removelist
3 刪除前台服務
(1) 遍歷removelist,刪除前台服務商品,並刪除計價模版和路由規則
4 刪除供零間的後台服務訂購關係
5 更新使用者狀態
將新增已執行的使用者狀態更新為"新增未執行"=1
將刪除未執行的使用者狀態更新為"刪除已執行"=8
supplierid:487432435;pricetemplateid:-1
專案總結之業務規則
問題 最近上線的專案,上線後程式上倒沒有什麼問題,但是最終還是要緊急更新或回滾,原因在某一模組,增加了乙個檢查,以檢查上一模組必須完成才可能進行這一模組的操作,因為這一模組的資料對上一模組的資料有依賴,按理說,這樣的檢查,也無可厚非,必竟要保證資料的準確性,上線前,也已經和使用者確認過此種方案,到上...
業務模型 業務概念建模 系統模型 應用邏輯架構
從方法到思維 什麼是應用邏輯架構的正確姿勢?職責明確,某種粒度的模組 包括域 元件 系統 包 類 方法 上述模組之間的明確的關聯關係 若干約束和指導原則 軟體設計本身,模組,粒度,職責,復用,等等,在講解軟體設計的時候,使用的是這個架構圖,這個架構圖是通過系統模型和業務概念架構推導而來。所以系統模型...
數字邏輯與數字系統總結
第一章 數字邏輯基礎 第二章 邏輯閘電路 組合邏輯電路 任意時刻的輸出僅僅取決於該時刻的輸入,與電路原來的狀態無關 設計方法 一 列出真值表 二 寫出邏輯函式表示式 三 對邏輯函式進行化簡和變換 四 根據簡化的邏輯函式表示式畫出邏輯圖 競爭冒險 競爭是指邏輯門的兩個輸入訊號從不同的電平同時向相反電平...