背景:
使用小程序的云數(shù)據(jù)庫(kù)
業(yè)務(wù)邏輯:
- 會(huì)員生成二維碼時(shí)湾盒,前端生成時(shí)間戳1,將該時(shí)間戳存儲(chǔ)到后臺(tái)數(shù)據(jù)庫(kù)etsa字段
- 商戶掃描會(huì)員二維碼時(shí)诅妹,前端生成時(shí)間戳2罚勾,將該時(shí)間戳存儲(chǔ)到后臺(tái)數(shù)據(jù)庫(kù)etsb字段,同時(shí)銷毀etsa字段中存儲(chǔ)的時(shí)間戳(銷毀方式吭狡,例如:后臺(tái)給一個(gè)隨機(jī)八位數(shù)尖殃,前端不知道該隨機(jī)數(shù))
- 商戶在和會(huì)員當(dāng)前確認(rèn)后,通過(guò)頁(yè)面操作扣除會(huì)員積分划煮,扣除積分時(shí)需要校驗(yàn)etsb字段存儲(chǔ)的時(shí)間戳2送丰,扣除完成后需要銷毀etsb字段存儲(chǔ)的時(shí)間戳2(銷毀方式,例如:后臺(tái)給一個(gè)隨機(jī)八位數(shù)弛秋,前端不知道該隨機(jī)數(shù))
使用A/B時(shí)間戳的好處:
- 會(huì)員可以隨時(shí)更新自己的時(shí)間戳1(etsa字段值)
- 會(huì)員二維碼被掃碼后器躏,該二維碼立即失效,其他人再掃描也無(wú)效蟹略,因?yàn)楹笈_(tái)的時(shí)間戳1(etsa字段值)已經(jīng)被銷毀
- 商戶掃碼后生成自己的時(shí)間戳2(etsb字段值),一旦完成操作立即銷毀該時(shí)間戳2登失,商戶沒有辦法通過(guò)刷新頁(yè)面不斷重復(fù)操作,因?yàn)楹笈_(tái)的時(shí)間戳2(etsb字段值)已經(jīng)被銷毀科乎。
說(shuō)明:
因?yàn)樵茢?shù)據(jù)庫(kù)是文件型數(shù)據(jù)庫(kù)壁畸,etsa,etsb,積分等屬性都存儲(chǔ)在同一條商戶記錄中捏萍,所以可以通過(guò)一條更新語(yǔ)句做到更新太抓。