代码重构，分离各个业务模块