@kangwg
2017-03-15T19:40:56.000000Z
字数 443
阅读 638
1.后台业务处理
锁加在service层,每个业务必须在单独的方法中,对每个业务单独加锁,
锁里面不能嵌套锁
try (LyLock lylock = this.sysService.lock(type,id)) {
if(重复){
throw new CustomBizException(ApiCodeEnum.EXIST, msg);
}
}
2.创建数据
步骤:
1)前端对需要创建数据的接口传唯一令牌,用户多次点击提交所传的令牌是一样的(可以根据token和时间戳来确认)
2)后台拿到这个令牌,将令牌放在redis中,下次再来时对令牌进行校验。
String value = Long.parase(redis.get(str))
if(value!=null&&System.currentTimeMillis()<value+1000){
throw new CustomBizException(ApiCodeEnum.EXIST, msg);
}
3)令牌的校验将以注解的形式实现,后台在control层中加注解即可