数据层sale和purchase将getID(type)分为两个方法

原方法还在，不影响程序运行