关于同一邮箱被注册多次的问题

13年前
  1. private long generateUserId() {   
  2.         final String sql = "insert into user_id ()values()";   
  3.         GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();   
  4.         mainJdbc.getNamedParameterJdbcOperations().update(sql, new MapSqlParameterSource(),   
  5.                 keyHolder);   
  6.         long userId = keyHolder.getKey().longValue();   
  7.         // TODO 映射userId   
  8.         return userId;   
  9. }   
  10.   
  11. public UserRegister active(String email) {   
  12.   
  13.         UserUnactived userUnactived = this.selectUserUnactivedByEmail(email);//根据邮箱取出未激活用户表信息   
  14.         if (userUnactived == null) {   
  15.             return null;   
  16.         }   
  17.         long userId = this.generateUserId();   
  18.         UserCore userCore = new UserCore();   
  19.         userCore.setUserId(userId);   
  20.         userCore.setBirthday(userUnactived.getBirthday());   
  21.         userCore.setCityId(userUnactived.getCityId());   
  22.         userCore.setCityName(userUnactived.getCityName());   
  23.         userCore.setGender(userUnactived.getGender());   
  24.         userCore.setMobile(userUnactived.getMobile());   
  25.         userCore.setUsername(userUnactived.getUsername());   
  26.         UserRegister userRegister = new UserRegister();   
  27.         userRegister.setUserId(userId);   
  28.         userRegister.setActiveTime(new Date());   
  29.         userRegister.setEmail(userUnactived.getEmail());   
  30.         userRegister.setPassword(userUnactived.getPassword());   
  31.         userRegister.setReferTime(userUnactived.getReferTime());   
  32.         userRegister.setReferUserId(userUnactived.getReferUserId());   
  33.         userRegister.setRegisterFrom(userUnactived.getRegisterFrom());   
  34.         userRegister.setRegisterIp(userUnactived.getRegisterIp());   
  35.         userRegister.setRegisterTime(userUnactived.getRegisterTime());   
  36.         // user_core,插入用户信息   
  37.         final String userCoreSql = "insert into `user_core` (userId,username,realName,gender,birthday,cityId,cityName,mobile,qq,msn,avatar)values(:userId,:username,:realName,:gender,:birthday,:cityId,:cityName,:mobile,:qq,:msn,:avatar)";   
  38.         int update = mainJdbc.update(userCoreSql, new BeanPropertySqlParameterSource(userCore));   
  39.         // user_register,插入注册信息   
  40.         final String userRegisterSql = "insert into `user_register` (userId,email,password,locked,registerTime,registerIp,registerFrom,referUserId,referTime,activeTime,verifyCode,verifyCreateTime)values(:userId,:email,:password,0,:registerTime,:registerIp,:registerFrom,:referUserId,:referTime,:activeTime,:verifyCode,:verifyCreateTime)";   
  41.         update += mainJdbc   
  42.                 .update(userRegisterSql, new BeanPropertySqlParameterSource(userRegister));   
  43.         if (update >= 2) {   
  44.             mainJdbc.update("delete from user_unactived where email=?", email);//根据邮箱地址删除未激活用户表纪录   
  45.         }   
  46.         return userRegister;   
  47. }