将在controller中的函数，移动到公共的库中