/**
   * 领域层的userInfo转换为南向的对象
   *
   * @param userInfo 领域层的用户信息
   * @return UserInfoSouth 南向的用户信息
   * @since eSDK IVS V100R003C00
   */
  public UserInfoSouth getUserInfoModal2Soap(UserInfo userInfo) {
    UserInfoSouth userInfoSouth = new UserInfoSouth();
    userInfoSouth.clear();

    if (null != userInfo.getDomainCode()) {
      userInfoSouth.domainCode = BytesUtils.stringToBytesForIVS(userInfo.getDomainCode());
    }
    if (null != userInfo.getEmail()) {
      userInfoSouth.email = BytesUtils.stringToBytesForIVS(userInfo.getEmail());
    }

    userInfoSouth.groupId = userInfo.getGroupId();

    if (null != userInfo.getIsFirstLogin()) {
      userInfoSouth.isFirstLogin = userInfo.getIsFirstLogin() ? 1 : 0;
    }

    if (null != userInfo.getLockTime()) {
      userInfoSouth.lockTime = BytesUtils.stringToBytesForIVS(userInfo.getLockTime());
    }
    if (null != userInfo.getLoginName()) {
      userInfoSouth.loginName = BytesUtils.stringToBytesForIVS(userInfo.getLoginName());
    }

    userInfoSouth.maxSessionCount = userInfo.getMaxSessionCount();

    userInfoSouth.maxVideoCount = userInfo.getMaxVideoCount();

    if (null != userInfo.getPassword()) {
      userInfoSouth.password = BytesUtils.stringToBytesForIVS(userInfo.getPassword());
    }
    if (null != userInfo.getPhone()) {
      userInfoSouth.phone = BytesUtils.stringToBytesForIVS(userInfo.getPhone());
    }

    userInfoSouth.ptzLevel = userInfo.getPtzLevel();

    if (null != userInfo.getPwdModifyDate()) {
      userInfoSouth.pwdModifyDate = BytesUtils.stringToBytesForIVS(userInfo.getPwdModifyDate());
    }
    if (null != userInfo.getRegisterDate()) {
      userInfoSouth.registerDate = BytesUtils.stringToBytesForIVS(userInfo.getRegisterDate());
    }
    if (null != userInfo.getReserve()) {
      userInfoSouth.reserve = BytesUtils.stringToBytesForIVS(userInfo.getReserve());
    }

    userInfoSouth.roleId = userInfo.getRoleId();

    userInfoSouth.sex = userInfo.getSex();

    userInfoSouth.validDateFlag = userInfo.getValidDateFlag();

    userInfoSouth.validDateStart = BytesUtils.stringToBytesForIVS(userInfo.getValidDateStart());

    userInfoSouth.validDateEnd = BytesUtils.stringToBytesForIVS(userInfo.getValidDateEnd());

    userInfoSouth.status = userInfo.getStatus();

    if (null != userInfo.getUserDesc()) {
      userInfoSouth.userDesc = BytesUtils.stringToBytesForIVS(userInfo.getUserDesc());
    }
    if (null != userInfo.getUserDomain()) {
      userInfoSouth.userDomain = BytesUtils.stringToBytesForIVS(userInfo.getUserDomain());
    }

    userInfoSouth.userId = userInfo.getId();

    if (null != userInfo.getUserName()) {
      userInfoSouth.userName = BytesUtils.stringToBytesForIVS(userInfo.getUserName());
    }

    userInfoSouth.userType = userInfo.getUserType();

    return userInfoSouth;
  }