这种多个地方使用的逻辑，应该抽成一个方法