-- 合并扣减库存，在通过合并扣减库存的时候，无论库存有多少都会扣减，直到扣减到0为止，返回扣减的数量

-- 检验库存信息 这里的key是
-- 总库存key
local skuKey = KEYS[1]
-- 区域库存key
local skuPointKey = KEYS[2]
-- 库存变化数量
local stockChangeNum = tonumber(KEYS[1])

-- 获取区域库存数量
local pointStock = tonumber(redis.call('get', skuKey))
-- 获取总库存数量
local stock = tonumber(redis.call('get', skuPointKey))
-- 区域库存扣除，并判断剩余库存数量是否足够扣减
local canUse = pointStock - stockChangeNum
if (canUse < 0) then
    return -1
end
-- 总库存扣除
stock = stock - stockChangeNum
-- 批量插入
redis.call('mset', skuPointKey, canUse, skuKey, stock)
return canUse
