controller抽象类实现