駐點於某電商。
Tech stack
因同時有老舊平台及新開發的新平台,因此使用的技術有新有舊。
OLD plateform
- Eclipse
- Java 5
- JSP/Servlet
- Struts 1
- JavaScript
- JDBC
- iBatis
NEW plateform
- IntelliJ IDEA
- Java 8
- Maven
- Spring Boot 2
- Spring Data JPA
- Spring Cloud Config
- RESTful API
- Oracle SQL Developer
- PL/SQL
Domain knowledge
- 銀行信用卡請款、退款、取消授權、對帳排程及API串接。
- 電商管理後台維護。
開發維護歷程
- 功能-超商刷退與驗退商品確認 API
- 除錯-供應商API返回錯誤碼修正
- 維護-商品查詢新增通路
- 維護-商品上架與改價設定邏輯調整
- 維護-商品新增修改的通路邏輯調整
- 除錯-核帳時顯示的訂單筆數錯誤
- 除錯-核帳訂單筆數錯誤
- 功能-銀行請款、退款、取消授權排程排程
- 功能-銀行ATM對帳排程
- 功能-銀行網路ATM對帳排程
- 功能-信用卡退款排程錯誤警告信
- 重構-信用卡授權程式重構
- 除錯-修復使用第三方ORM套件的Connection leak問題。
- 除錯-修復訂單查詢筆數不一致的問題。
排程系統架構
排程服務(Schedule Service)透過資料交換服務(Data Exchange Service)與外部API(例如銀行)溝通。
/---+----\ |
/ Oracle \ business data |
\ / |
|\--------/| |
\ / |
\--------/ |
^ Internet
| |
| |
+------------------+ +-----------------+ | +----------------+
| | | Exchange | | | |
| Schedule Service |<---->| Service |<--------->| External API |
| | | | | | e.g. Bank... |
+--------+---------+ +-----------------+ | +----------------+
| |
| |
v |
/---+----\ |
/ MySQL \ |
\ / |
|\--------/| |
\ / |
\--------/ |
schedule_config |
+--+----+----+---+ |
|id|cron|name|api| |
+--+----+----+---+ |
信用卡交易請款流程
大致上就是依訂單完成後幾天去請款紀錄資料表撈取要請款的資料送給銀行API完成請款,如果請款有問題寄通知信給相關營運人員。
+-------------------------+
| Get claim list |
| from claim records |
+-------------------------+
|
v
+-------------------------+
| Combine claim amount of |
| the same transaction |
| in claim list |
+-------------------------+
|
v
+-------------------------+ +--------------+
| Send claim requests | | |
| to bank API |<------Internet------->| XXX bank API |
| | | |
+-------------------------+ +--------------+
|
v
+-------------------------+
| Logging API transaction |
+-------------------------+
|
v
+-------------------------+
| Update claim response |
| result to claim records |
+-------------------------+
|
v
+-------------------------+
| Send claim result email |
| to relevant people |
+-------------------------+
沒有留言:
張貼留言