可以利用redis的setnx函数对请求入参的某个唯一的字段(如orderId)做幂等拦截,防止重复处理请求。
//幂等校验 if(!jedisTemplate.setnx(RedisConstants.RED_PACKET_RECV + getRedPacketDto.getOrderId() + getRedPacketDto.getRedPacketId(), "0.00")){ //业务代码 }
可以利用redis的setnx函数对请求入参的某个唯一的字段(如orderId)做幂等拦截,防止重复处理请求。
//幂等校验 if(!jedisTemplate.setnx(RedisConstants.RED_PACKET_RECV + getRedPacketDto.getOrderId() + getRedPacketDto.getRedPacketId(), "0.00")){ //业务代码 }