class BindUsersController < ApplicationController
  # before_action :require_login

  def create
    # user = CreateBindUserService.call(create_params)
    #

    raise Error, '系统错误' if session_unionid.blank?

    bind_user = User.try_to_login(params[:username], params[:password])
    raise Error, '用户名或者密码错误' if bind_user.blank?
    raise Error, '该账号已被绑定,请更换其他账号进行绑定' if bind_user.bind_open_user?(params[:type].to_s)

    OpenUsers::Wechat.create!(user: bind_user, uid: session_unionid)
    successful_authentication(bind_user)

    render_ok
  rescue ApplicationService::Error => ex
    render_error(ex.message)
  end

  def new_user
    current_user
  end

  private

  def create_params
    params.permit(:username, :password, :type, :not_bind)
  end
end