service 层重构