專案中的金額時敏感資料,不能有半點差錯,在操作金額表時也需要採用一些必要的措施,防止併發時金額更新出錯,更新延遲等問題。
方法一:
給當前操作金額業務加鎖
publicstatic
readonly
object lockobj = new
object
();lock
(lockobj)
方法二:
金額表中加入guid欄位以標識每次操作,確保每次更新的唯一性。
操作時避免直接將字段賦值為金額,採用當前金額+/-操作金額的方式,減少因金額失誤導致的問題。
同時,應遵循乙個原則,使用者餘額發生變動的地方則必須加上金額變動流水。變動前金額和變動後金額的記錄,以便日後查賬
//如果更新失敗,提示使用者重試
//更新金額時 需要更新guid 以保證唯一操作
var sql = string.format("
update account set balance =balance-,freeze =freeze+,guid='' where guid ='' and id =
", entity.money, guid.newguid(), account.guid, account.id);
var excuteres =_dbcontext.executesqlcommand(sql);
if (excuteres == 0
)
專案管理涉及到的文件
業務聯絡函 業務需求說明書 立項報告 立項評審報告 專案實施方案 專案組通訊錄 專案計畫與執 況跟蹤 需求規格說明書 系統介面規格說明書 總體設計 系統建設整體解決方案 軟體配置管理計畫 軟體質量保證計畫 編碼規範 源 sit測試報告和測試用例 uat測試報告和測試用例 效能測試方案與報告 上線實施...
ios 涉及到支付金額計算的相關總結
1.支付服務端統一傳的型別是 nsstring 2.本地存的型別是 double 3.涉及到 乘法和除法使用 兩個double相乘 double numbermeetwith double num1 andnum double num2 兩個double相除 double numberdivisio...
java專案中涉及到的一些物件總結
良好的開發規範,能顯著的提高開發效率。所以對涉及到的一些物件做一些總結。領域驅動設計系列文章 2 vo dto do po的概念 區別和用處 do domain object 領域物件,就是從現實世界中抽象出來的有形或無形的業務實體。有時候,do物件也可以對應資料庫表結構。po persistent...