controller 逻辑分离