起因:
當前系統需要乙個簡訊通知功能,後台給了我簡訊傳送介面。按照往常一樣前端獲取使用者勾選的過濾條件,post提交給該介面。由於測試資料庫中存的是使用者的真實手機號,導致我前端在調通該功能時,對符合條件的近千個人員傳送了數量不等的測試簡訊。
原因判斷:
首先簡訊傳送的mq是老大搭建的,甲方有提供乙個簡訊傳送的介面之類的東西,在老大配好基本的之後,事實上後台同事只需要幹一件很簡單的事,就是獲取我前端傳入的過濾引數及簡訊內容,在資料庫中查詢符合條件的人員,放入乙個物件集合中,這個簡訊傳送物件包含手機號,人員姓名及簡訊文字。
最後乙個sendmessage方法就完成傳送了。
messagesender.sendmessage(xmlseriesutils.toxml(sd));
看到這,就知道原因了
db 儲存是人員真實手機號,只要該人員被查出來,那就一定會被傳送出去,因為在這裡後端人員並沒有對傳送人員的做特殊處理。
總結反思:
1.測試資料庫不要儲存真實人員資料(即系統上線後,所用到的真實資料)。
2.後台呼叫傳送簡訊服務時,因對傳送資料進行基本的判斷,無論是**的,還是人員思維上的。
3.前後端交流時,介面文件一定要提供並且描述清楚。
4.單元測試、測試、測試!重要的事情說三遍,事實上該介面並未經過嚴謹的單元測試,後端人員確實完成了傳送的功能,但並未考慮到這是真實資料,可能他知道開發的時候,將傳送人員做乙個處理,但提供的正式介面,確實查出所有人員都可以傳送。
目前業務處理直接放在了controller,並未放在service,所以也就沒了單元測試,最終暴露出來的問題就是直接在前端展示了。
5.幹活不要趕,不要急,因為是前後端分離一定要和後端人員交流清楚。
python意外縮排怎麼修改 意外縮排怎麼解決?
python在行的開頭使用空格來確定 塊的開始和結束時間。你可以獲得的錯誤是 意外縮排。這行 的開頭比以前的空格多,但是前面的不是子塊的開頭 例如if while for語句 塊中的所有 行必須以完全相同的空白字串開頭。例如 def a print foo print bar indentation...
意外的感動
無論和誰聊天,如果說到某某得到了哥哥姐姐或者父母的饋贈,大家都會說 我要有這麼好的哥哥姐姐或者父母該有多好啊!我們習慣聽到這樣的感嘆和羨慕。那天,偶然看了一則小故事,講的是一位先生在聖誕節得到哥哥送給他的新跑車。車子相當漂亮,停放在門前。當他出來準備開著新車去兜風的時候,發現車子旁邊有個七八歲的小男...
svn 意外中斷
在遇到svn提交時候意外中斷的情況下,下次提交會被鎖住,提示進行clean up 在專案上右鍵也提示svn cleanup failed previous operation has not finished run cleanup if it was interrupted,死迴圈 解決方式 1 ...