spikeSystem icon indicating copy to clipboard operation
spikeSystem copied to clipboard

优化

Open seven-yu opened this issue 4 years ago • 2 comments

if localSpike.LocalDeductionStock() && remoteSpike.RemoteDeductionStock(redisConn) {
		util.RespJson(w, 1,  "抢票成功", nil)
		LogMsg = LogMsg + "result:1,localSales:" + strconv.FormatInt(localSpike.LocalSalesVolume, 10)
	} else {
		util.RespJson(w, -1, "已售罄", nil)
		LogMsg = LogMsg + "result:0,localSales:" + strconv.FormatInt(localSpike.LocalSalesVolume, 10)
	}

失败应该回滚本地的一个记录

if localSpike.LocalDeductionStock() && remoteSpike.RemoteDeductionStock(redisConn) {
		util.RespJson(w, 1,  "抢票成功", nil)
		LogMsg = LogMsg + "result:1,localSales:" + strconv.FormatInt(localSpike.LocalSalesVolume, 10)
	} else {
		util.RespJson(w, -1, "已售罄", nil)
		spike.LocalSalesVolume = spike.LocalSalesVolume - 1   
		LogMsg = LogMsg + "result:0,localSales:" + strconv.FormatInt(localSpike.LocalSalesVolume, 10)
	}

seven-yu avatar Nov 12 '20 04:11 seven-yu

其实回滚不回滚都无所谓了

GuoZhaoran avatar Jul 27 '21 15:07 GuoZhaoran

是的,回滚更加科学!但是如果后续有追加订单的需求才需要回滚。当然也看设计思路,如果追加是新开一个库存池,那么回滚也是不必须的。

ResolLIU avatar Oct 01 '22 08:10 ResolLIU