第四问实现了purchase函数