为了防止出现同一时间重复提交的需要做以下处理:
1.前端处理
前端添加是否确认提交/保存 等提示框,避免出现手误多点的情况,从而出现重复提交的现象

2.后端处理
使用redis防抖,将提交的数据,取出其中唯一性的部分当做redis的key,value值随意,每次进入保存数据的方法时,根据key先从redis取出值,观察redis是否存在值,若存在,则说明重复提交了。

//取值操作,在刚进入保存方法时取值
        Object obj = redisTemplate.opsForValue().get("add-" + userCode.toString());
        if (ObjectUtils.isNotEmpty(obj)) {
            return Result.generateErrorMessage("请勿在5秒钟内频繁重复操作!");
        }
//存值操作,在最后一步保存数据时存放
  // 设置过期时间 6秒过期
            redisTemplate.opsForValue().set("add-" + userCode.toString(), userCode.toString(), 6000, TimeUnit.MILLISECONDS);

3.数据库处理

在数据库创建唯一索引

lrange redis 重复消费 redis防止重复提交_redis

这里是创建了联合唯一索引,避免有同一日期内daily_date 同一个人create_code 有两条及以上的数据