package
com.taobao.upp.subcommon.bizlogic.rights.support
import javax
.annotation.Resource
import org
.apache.commons.logging.Log
import org
.apache.commons.logging.LogFactory
import org
.springframework.stereotype.Component
import
com.taobao.tair.DataEntry
import
com.taobao.tair.Result
import
com.taobao.tair.ResultCode
import
com.taobao.tair.impl.mc.MultiClusterTairManager
@Component(
"couponIssueLockManage")
public class CouponIssueLockSupport {
private static final Log logger = LogFactory
.getLog(CouponIssueLockSupport
.class)
@Resource(name =
"tairManager")
private MultiClusterTairManager multiClusterTairManager
public boolean getLock(String lockKey){
Result<DataEntry> dataResult = multiClusterTairManager
.get(
643, lockKey)
if(dataResult
.isSuccess()){
if(dataResult
.getValue()==null){
ResultCode resultCode = multiClusterTairManager
.put(
643, lockKey,
1,
10,
60)
if(resultCode
.isSuccess()){
return true
}
}
}
logger
.error(
"权益加锁失败,lockKey="+lockKey)
return false
}
public boolean releaseLock(String lockKey){
ResultCode resultCode = multiClusterTairManager
.invalid(
643, lockKey)
if(resultCode
.isSuccess()){
return true
}
logger
.error(
"权益解锁失败,lockKey="+lockKey)
return false
}
}