定义一个case class类,用来表示商品信息
case class Product(pName: String, pPrice: Float, pQuantity: Int)
显示管理员登陆界面函数
def showLogin() = {
// 管理员登录界面
println("***********************************")
println("* *")
println("* CMS商品管理系统 *")
println("* *")
println("* 请选择操作(输入操作对应的数字): *")
println("* 1. 管理员登录 *")
println("* 0. 退出系统 *")
println("* *")
println("***********************************")
}
显示管理员操作界面函数
def showOperation(username: String) = {
println("***********************************")
println("* *")
println(s"* 欢迎您,$username! ^_^ *")
println("* *")
println("* 请选择操作(输入操作对应的数字): *")
println("* 1. 浏览商品信息 *")
println("* 2. 商品入库操作 *")
println("* 3. 商品出库操作 *")
println("* 4. 商品退货操作 *")
println("* 5. 商品下架 *")
println("* 6. 退出登录 *")
println("* 7. 修改用户密码 *")
println("* 0. 退出系统 *")
println("* *")
println("***********************************")
}
浏览商品信息
def showProducts(products: List[Product]) = {
if (products.isEmpty) {
println("目前没有库存商品。")
} else {
products.foreach(println)
}
}
商品入库操作函数
def addProduct(products: List[Product]) = {
val pName = readLine("入库商品名称:")
val pPrice = readLine("入库商品单价:").toFloat
val pQuantity = readLine("入库商品数量:").toInt
// 构造一个商品实体
val product = Product(pName, pPrice, pQuantity)
// 将该商品加入到集合中(入库操作)
products.:+(product)
}
商品出库操作函数
def subProduct(products: List[Product]) = {
val cpName = readLine("出库商品名称:")
val cpQuantity = readLine("出库商品数量:").toInt
products.map {
// 篮球,奶,手机
case Product(pName, pPrice, pQuantity) if pName == cpName && pQuantity > cpQuantity => Product(pName, pPrice, pQuantity - cpQuantity)//若出库数量小于库存则 减去出库数量
case Product(pName, pPrice, pQuantity) if pName == cpName && pQuantity <= cpQuantity => Product(pName, pPrice, pQuantity - pQuantity) //若出库数量大于等于库存则 库存全部出售
case Product(pName, pPrice, pQuantity) => Product(pName, pPrice, pQuantity)
/* // 使用模式匹配
produ