重构部分代码，并增加一个测试类方便获取数据