開發總結(財務中台項目)


1.   前言

本次負責開發銀企直聯(到賬信息總覽,到賬通知,消息提醒模塊等功能),前端花的時間比較多,做個總結。

 

2.   收獲

2.1  sql中用if語句增加靈活性

比如到賬信息總覽的銷售分析表

 

 

總體上屬於分組求和,難點在於每一個列的求和條件都不一樣,如果分別寫sql來查詢的話,那至少要寫3條sql,而且查詢出來之后還要用代碼把查出來的數據一一拼裝起來,從性能和代碼量來說都不是合理的解決辦法,用if語句完美的解決了這個問題。

 

 

對每一列用if語句增加不同的條件過濾數據之后再求和,而共同的條件則放在where語句。

然后因為表格中的數據的細粒度也不一樣,所以用了mybatis的choose語句,來達到sql復用的目的。這樣,本來要寫9條sql語句來查詢,現在用一條sql就解決了。

 

2.2  異步提高程序性能

一般來說,如果是在分布式系統中,一個服務調用其他服務都是要用異步調用來提高響應速度。

到賬通知的下載功能因為要調用第三方接口,而第三方接口響應速度很慢,而業務上這個接口調用需要獨占式進行,所以要用異步加分布式鎖來處理。

 

 

分布式鎖采用的是redis分布式鎖,這樣保證最多只有一個線程在調用這個接口(除非這個線程阻塞超過10分鍾而導致過期了),而這里之所以沒有用new一個線程來處理,而是采用只有一個線程的線程池來處理,是為了避免線程管理混亂,導致程序奔潰。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM