@Override
 public UserResult register(UserEntity user) {
   UserResult ur = new UserResult();
   try {
     if (user != null) {
       String loginName = user.getLoginname();
       // 检查登录名是否重复
       boolean res = chekLoginName(loginName);
       if (!res) {
         User usr = new User();
         String pwd = "";
         if (user.getPwd() != null) {
           pwd = MD5Util.md5(user.getPwd());
           usr.setPlainPassword(user.getPwd());
         }
         usr.setCreateDate(new Date());
         usr.setLoginname(loginName);
         usr.setPwd(pwd);
         usr.setName(user.getName());
         usr.setPhone(user.getPhone());
         usr.setStatus(3);
         usr.setLat(user.getLat());
         usr.setLon(user.getLon());
         usr.setParseaddress(user.getParseaddress());
         usr.setUsertype(user.getUsertype());
         this.saveOrUpdate(usr);
         User userinfo = userService.findByLoginName(loginName);
         if (userinfo != null) {
           user.setId(userinfo.getId().toString());
         }
         user.setPwd("");
         user.setState(Constants.DEFAULT_STATE);
         user.setCity(Constants.DEFAULT_CITY);
         user.setSex(Constants.DEFAULT_SEX_VALUE);
         ur.setUser(user);
         ur.setErrorCode(0);
         ur.setErrorMessage("");
       } else {
         ValidationError ve = ValidationError.LOGINNAMEREPEAT;
         int errorCode = ve.getErrorCode();
         String message = Utils.getErrorMessage(ve);
         ur.setErrorCode(errorCode);
         ur.setErrorMessage(message);
       }
     }
   } catch (Exception ex) {
     ValidationError er = ValidationError.SYSTEM_ERROR;
     int errorCode = er.getErrorCode();
     ur.setErrorCode(errorCode);
     ur.setErrorMessage("系统错误");
     logger.error(ex.getMessage());
   }
   return ur;
 }
  /** 修改普通用户 支持单字段更新 */
  @Override
  public UserResult updateuser(UserEntity user) {
    UserResult ur = new UserResult();
    try {
      if (user != null) {
        UserDetail userdetail = null;
        String id = user.getId();
        int userid = 0;
        if (!StringUtils.isBlank(id)) {
          userid = Integer.parseInt(id);
          updateUserCommon(
              id,
              user.getName(),
              user.getPhone(),
              user.getBoatcard(),
              user.getCansearchbyphone(),
              user.getHideroomtelephone(),
              user.getCansearch(),
              user.getRealname(),
              user.getRoomtelephone(),
              user.getAge());
          userdetail = userDetailService.findByUserId(userid);
        }
        if (userid > 0) {
          Date date = new Date();
          if (userdetail == null) {
            userdetail = new UserDetail();
            userdetail.setUserid(userid);
            userdetail.setCreateDate(date);
          }
          userdetail.setUpdateDate(date);
          if (user.getAge() != null) {
            userdetail.setAge(user.getAge());
          }
          if (user.getCity() != null) {
            userdetail.setCity(user.getCity());
          }
          if (user.getCountry() != null) {
            userdetail.setCountry(user.getCountry());
          }
          String sex = user.getSex();
          if (sex != null) {
            userdetail.setSex(Integer.valueOf(sex));
          }
          if (user.getState() != null) {
            userdetail.setState(user.getState());
          }
          if (user.getConstellation() != null) {
            userdetail.setConstellation(user.getConstellation());
          }
          if (user.getSignature() != null) {
            userdetail.setSignature(user.getSignature());
          }
          if (user.getHobby() != null) {
            userdetail.setHobby(user.getHobby());
          }
          if (user.getCansearchbyphone() != null) {}

          if (user.getRoomtelephone() != null) {
            userdetail.setRoom(user.getRoomtelephone());
          }
          userDetailService.saveOrUpdate(userdetail);
          if (!StringUtils.isBlank(id)) {
            User usr = userService.findById(Integer.parseInt(id));
            if (usr != null) {
              ur.setErrorCode(0);
              ur.setErrorMessage("");
              UserEntity userVO = ConvertHelper.toUserEntity(usr, userdetail);
              ur.setUser(userVO);
            } else {
              ValidationError er = ValidationError.USER_NOEXIST;
              int errorCode = er.getErrorCode();
              String errorMessage = er.getErrorMessage();
              ur.setErrorCode(errorCode);
              ur.setErrorMessage(errorMessage);
            }
          }
        }
      }

    } catch (Exception ex) {
      ValidationError ve = ValidationError.SYSTEM_ERROR;
      ur.setErrorCode(ve.getErrorCode());
      ur.setErrorMessage("系统错误");
      logger.error(ex.getMessage());
    }
    return ur;
  }