工作中server呼叫和業務相關資料梳理
最近上線crm稽核後臺,雖然沒啥特別的,但是有很多資料走向還是挺有典範的,所以想簡單做個梳理,用作整理。
東西沒啥就是列表頁展示資料,點選進入詳情頁展示更加詳細的資料,因為資料來源存放的不同,還有呼叫服務方式的不同,所以想記錄一下。
列表:
1.首先看一下頁面,如圖:
2.列表資料來源
服務呼叫順序:crmweb(api層)->bizuser(scf使用者服務)->adstata(scf統計服務)、adpmc(scf商業扣費和計費服務)->mysql
模組A資料來自於dbzz_bizuser.user表,這裡面主要是對映關係,以及相應商戶暱稱,create_time,first_recharge_time欄位。
模組B資料來源於中臺服務資料(其他業務部門統計的資料,bizuser只是呼叫獲取資料並展示)通過job任務把資料統計到tdb.adstat.stat_user_total_count表中。
模組C資料來自tbd_adstat.stat_user_total_count表,這個表的資料首先會刪除清除表中資料,然後從pmc統計表把資料統計過來一份並且在redis中儲存一份,設計原因,列表頁資料比較多,響應時間會比較快。
模組B&C同步資料來源圖:
上圖說得同步資料不是copy表資料,而是呼叫對應服務獲取資料組裝到上面總表中。
還有一個就是job服務,用於定時同步資料通過Elastic Job Console點選作業出發,作業名稱“
biz_adstat_user_total_count_daily_job_offline”。
定時/點選->jobs->adstat
grep UserTotalCountBll 關鍵字查詢
3.詳情頁資料來源
詳情頁同步的一步,都是bizuser->bizpmc來商業資料,也有部分模組是直接查詢資料庫直接獲取。
先檢視一下頁面,如圖:
基本資訊和經營資訊一個直接查表展示另一個是中臺服務提供,所以沒啥說的,相對商業資訊是我們自己相關計算得出所以想說一下問題。
轉轉幣總餘額=轉轉幣現金總餘額+轉轉幣優惠總餘額。我們會有一個充值優惠的一個概念所以會拆分兩個欄位。
轉轉幣總餘額=dbzz_bizpmc.biz_account.(available_cash+available_gift),這裡面cash就是現金總餘額,gift是優惠總餘額。
但是這是一個統計表通過一個task任務來統計。
保證金餘額=biz_deposit_account.balance
累計充值金額=sum(tdb_adstat.stat_count_day a) where a.biz_uid and a.app_id=0,這個表是每筆充值金額流入後寫入該表中。
累計消耗金額=sum(tdb_adstat.stat_count_day.cash_cost+gift_cost)where bizuid,消耗金額及每筆點選扣費後記錄該表中,這裡面有一個cash和gift消耗比例的問題,及充值是贈予或者補償時一個比值。同理累計消耗現金金額和累計消耗優惠金額對應值。其實這是一個總的統計表,每次點選的資料都記錄在dbzz_bizpmc.biz_counsume_record_**(*從0-15)一共16個表,設計的原因是因為點選商戶資料可能會比較多(當然不是每次點選都寫入表中而是按天的維度先寫入redis中累計最後一整天后寫入表中)
該表資料是通過task表建立,如圖:
充值單條記錄表:
消耗單條記錄:
統計表資料通過task任務觸發後: