## 三、创建项目各层 #### 4、`controller`层 创建`BusinessCtrl.java`接口 ```java package com.doooog.elm.controller; import com.doooog.elm.po.Food; import com.doooog.elm.po.Business; import java.util.List; public interface BusinessCtrl { // 商家部分 Business login(int bid, String password); boolean updateBusinessPasswordById(int bid, String oldPW, String newPW); boolean updateBusinessNameById(int bid, String name); boolean updateBusinessAddressById(int bid, String address); boolean updateBusinessExplainById(int bid, String explain); boolean updateBusinessPriceById(int bid,double startPrice, double deliveryPrice); boolean deleteBusinessById(int bid); // 食物部分 Food getFoodById(int fid); List listFoodAll(); List listFoodByName(String fname); boolean addFood(Food food); boolean updateFoodPriceById(int fid,double price); boolean updateFoodById(Food food); boolean deleteFoodById(int fid); } ``` 创建`BusinessCtrlImpl.java`实现类 ```java package com.doooog.elm.controller.impl; import com.doooog.elm.controller.BusinessCtrl; import com.doooog.elm.dao.BusinessDao; import com.doooog.elm.dao.FoodDao; import com.doooog.elm.dao.impl.BusinessDaoImpl; import com.doooog.elm.dao.impl.FoodDaoImpl; import com.doooog.elm.po.Business; import com.doooog.elm.po.Food; import java.util.List; public class BusinessCtrlImpl implements BusinessCtrl { private final BusinessDao BUSINESS_DAO = new BusinessDaoImpl(); private final FoodDao FOOD_DAO = new FoodDaoImpl() { }; @Override public Business login(int bid, String password) { if (bid <= 0 || password == null || password.isEmpty()) return null; return BUSINESS_DAO.getBusinessByLogin(bid, password); } @Override public boolean updateBusinessPasswordById(int bid, String oldPW, String newPW) { if (bid <= 0 || oldPW == null || oldPW.isEmpty() || newPW == null || newPW.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null || !b.getPassword().equals(oldPW)) return false; b.setPassword(newPW); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessNameById(int bid, String name) { if (bid <= 0 || name == null || name.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setBname(name); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessAddressById(int bid, String address) { if (bid <= 0 || address == null || address.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setAddress(address); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessExplainById(int bid, String explain) { if (bid <= 0 || explain == null || explain.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setExplain(explain); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessPriceById(int bid, double startPrice, double deliveryPrice) { if (bid <= 0 || startPrice <= 0 || deliveryPrice <= 0) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setStartPrice(startPrice); b.setDeliveryPrice(deliveryPrice); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean deleteBusinessById(int bid) { if (bid <= 0) return false; BusinessDao businessDao = new BusinessDaoImpl(); return businessDao.deleteBusinessById(bid) > 0; } @Override public Food getFoodById(int fid) { if (fid <= 0) return null; return FOOD_DAO.getFoodById(fid); } @Override public List listFoodAll() { return FOOD_DAO.listFoodAll(); } @Override public List listFoodByName(String fname) { if (fname == null || fname.isEmpty()) return null; return FOOD_DAO.listFoodByName(fname); } @Override public boolean addFood(Food food) { if (food == null || food.isEmpty()) return false; if ((food.getFid() == null || food.getFid() <= 0) && !food.isUnsafe(false)) { return FOOD_DAO.addFood(food) > 0; } else if (!food.isUnsafe(true)) { return FOOD_DAO.addFoodWithId(food) > 0; } return false; } @Override public boolean updateFoodPriceById(int fid, double price) { if (fid <= 0 || price <= 0) return false; return FOOD_DAO.updateFoodPriceById(fid, price) > 0; } @Override public boolean updateFoodById(Food food) { if (food == null || food.isEmpty() || food.isUnsafe(true)) return false; return FOOD_DAO.updateFoodById(food) > 0; } @Override public boolean deleteFoodById(int fid) { if (fid <= 0) return false; return FOOD_DAO.deleteFoodById(fid) > 0; } } ``` #### 5、`view`层 创建`BusinessView.java`类 ```java package com.doooog.elm.view; import com.doooog.elm.controller.BusinessCtrl; import com.doooog.elm.controller.impl.BusinessCtrlImpl; import com.doooog.elm.po.Business; import com.doooog.elm.po.Food; import com.doooog.elm.util.CommonUtil; import com.doooog.elm.util.InputUtil; import java.util.List; public class BusinessView { private BusinessCtrl ctrl = new BusinessCtrlImpl(); private Business my; public void menuLogin() { System.out.println("|-- 请使用商家身份进行登录 --|"); System.out.print("|-- 请输入商家编号:"); int username = InputUtil.menuInputInteger(""); System.out.print("|-- 请输入密码:"); String password = InputUtil.menuInputString(""); my = ctrl.login(username, password); if (my != null && !my.isEmpty()) { System.out.println("登录成功!"); menuMain(); } else { System.out.println("登录失败,请检查账号或密码是否有误!"); } } public void menuMain() { boolean exit = false; while (!exit) { System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 商家菜单 --|"); System.out.println("|-- 商家操作-----------------"); System.out.println("|-- 1.修改密码"); System.out.println("|-- 2.更改名称"); System.out.println("|-- 3.更改介绍"); System.out.println("|-- 4.更改地址"); System.out.println("|-- 5.更改配送价格"); System.out.println("|-- 6.注销商家"); System.out.println("|-- 食物操作------------------"); System.out.println("|-- 7.查看所有食物"); System.out.println("|-- 8.搜索食物名称"); System.out.println("|-- 9.新增食物"); System.out.println("|-- 10.修改食物价格"); System.out.println("|-- 11.修改食物信息"); System.out.println("|-- 12.删除食物"); System.out.println("|-- 0.退出系统"); System.out.println(CommonUtil.copyChar('-', 30)); System.out.print("|-- 请输入编号(0~12整数):"); int choice = InputUtil.menuInputInteger("(0~12整数)"); switch (choice) { case 0 -> exit = true; case 1 -> menuUpdatePassword(); case 2 -> menuUpdateName(); case 3 -> menuUpdateExplain(); case 4 -> menuUpdateAddress(); case 5 -> menuUpdatePrice(); case 6 -> { menuDeleteBusiness(); exit = true; } case 7 -> menuListFoodAll(); case 8 -> menuSearchFoodByName(); case 9 -> menuAddFood(); case 10 -> menuUpdateFoodPrice(); case 11 -> menuUpdateFood(); case 12 -> menuDeleteFood(); } } } private void menuUpdatePassword() { Business b = my.copy(); String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 旧密码(字母+数字)(必填):"); tmp2 = InputUtil.menuInputString("(字母+数字)(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; b.setBname(tmp2); System.out.print("|-- 新密码(字母+数字)(必填):"); tmp2 = InputUtil.menuInputString("(字母+数字)(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; b.setPassword(tmp2); if (ctrl.updateBusinessPasswordById(b.getBid(), b.getBname(), b.getPassword())) { my.setPassword(b.getPassword()); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateName() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新名称(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; if (ctrl.updateBusinessNameById(my.getBid(), tmp2)) { my.setBname(tmp2); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateExplain() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新介绍(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; if (ctrl.updateBusinessExplainById(my.getBid(), tmp2)) { my.setExplain(tmp2); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateAddress() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新地址(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; if (ctrl.updateBusinessAddressById(my.getBid(), tmp2)) { my.setAddress(tmp2); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdatePrice() { double tmp2, tmp3; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新起送价(大于0的小数)(必填):"); tmp2 = InputUtil.menuInputDouble("(大于0的小数)(必填)"); if (tmp2 == -1 || tmp2 == 0) return; System.out.print("|-- 新配送价(大于0的小数)(必填):"); tmp3 = InputUtil.menuInputDouble("(大于0的小数)(必填)"); if (tmp3 == -1 || tmp3 == 0) return; if (ctrl.updateBusinessPriceById(my.getBid(), tmp2, tmp3)) { my.setStartPrice(tmp2); my.setDeliveryPrice(tmp3); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuDeleteBusiness() { System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.println(my); if (!doChoice()) return; if (ctrl.deleteBusinessById(my.getBid())) { System.out.println("删除成功!"); return; } System.out.println("删除失败,请检查输入是否有误"); } private void menuListFoodAll() { List list = ctrl.listFoodAll(); if (list == null || list.isEmpty()) { System.out.println("未查询到信息"); return; } for (Food f : list) { System.out.println(f); } } private void menuSearchFoodByName() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 食物名称(模糊)(必填):"); tmp2 = InputUtil.menuInputString("(模糊)(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; List list = ctrl.listFoodByName(tmp2); if (list == null || list.isEmpty()) { System.out.println("未查询到信息"); return; } for (Food f : list) { System.out.println(f); } } private void menuAddFood() { Food food = new Food(); double tmp; String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 食物名称(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; food.setFname(tmp2); System.out.print("|-- 介绍:"); tmp2 = InputUtil.menuInputString(""); if (tmp2.equals("-1")) return; if (!tmp2.equals("0")) food.setExplain(tmp2); System.out.print("|-- 价格(必填):"); tmp = InputUtil.menuInputDouble(""); if (tmp == -1 || tmp == 0) return; food.setPrice(tmp); food.setBid(my.getBid()); System.out.print("|-- 确认信息:"); System.out.println(food); if (!doChoice()) return; if (ctrl.addFood(food)) { System.out.println("添加成功!"); return; } System.out.println("添加失败,请检查输入是否有误"); } private void menuUpdateFoodPrice() { int tmp; double tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); menuListFoodAll(); System.out.print("|-- 食物ID(大于0的整数)(必填):"); tmp = InputUtil.menuInputInteger("(大于0的整数)(必填)"); if (tmp == -1 || tmp == 0) return; System.out.print("|-- 新价格(大于0的小数)(必填):"); tmp2 = InputUtil.menuInputDouble("(大于0的小数)(必填)"); if (tmp2 == -1 || tmp2 == 0) return; if (ctrl.updateFoodPriceById(tmp, tmp2)) { System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateFood() { int id; double tmp; String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); menuListFoodAll(); System.out.print("|-- 需要修改的食物ID(大于0的整数)(必填):"); id = InputUtil.menuInputInteger("(大于0的整数)(必填)"); if (id == -1 || id == 0) return; Food food = ctrl.getFoodById(id); if (food == null || food.isEmpty()) { System.out.println("未查询到信息"); return; } System.out.print("|-- 食物名称(" + food.getFname() + "):"); tmp2 = InputUtil.menuInputString("(" + food.getFname() + ")"); if (tmp2.equals("-1")) return; if (!tmp2.equals("0")) food.setFname(tmp2); System.out.print("|-- 介绍:"); tmp2 = InputUtil.menuInputString(""); if (tmp2.equals("-1")) return; if (!tmp2.equals("0")) food.setExplain(tmp2); System.out.print("|-- 价格(" + food.getPrice() + "):"); tmp = InputUtil.menuInputDouble("(" + food.getPrice() + ")"); if (tmp == -1) return; if (tmp != 0) food.setPrice(tmp); System.out.print("|-- 确认信息:"); System.out.println(food); if (!doChoice()) return; if (ctrl.updateFoodById(food)) { System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuDeleteFood() { int id; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); menuListFoodAll(); System.out.print("|-- 需要删除的食物ID(大于0的整数)(必填):"); id = InputUtil.menuInputInteger("(大于0的整数)(必填)"); if (id == -1 || id == 0) return; Food food = ctrl.getFoodById(id); if (food == null || food.isEmpty()) { System.out.println("未查询到信息"); return; } System.out.print("|-- 确认信息:"); System.out.println(food); if (!doChoice()) return; if (ctrl.deleteFoodById(id)) { System.out.println("删除成功!"); return; } System.out.println("删除失败,请检查输入是否有误"); } private boolean doChoice() { System.out.print("|-- 确认无误(1.是,2.否):"); int tmp = InputUtil.menuInputInteger("(1.是,2.否)"); return tmp == 1; } } ``` Loading... ## 三、创建项目各层 #### 4、`controller`层 创建`BusinessCtrl.java`接口 ```java package com.doooog.elm.controller; import com.doooog.elm.po.Food; import com.doooog.elm.po.Business; import java.util.List; public interface BusinessCtrl { // 商家部分 Business login(int bid, String password); boolean updateBusinessPasswordById(int bid, String oldPW, String newPW); boolean updateBusinessNameById(int bid, String name); boolean updateBusinessAddressById(int bid, String address); boolean updateBusinessExplainById(int bid, String explain); boolean updateBusinessPriceById(int bid,double startPrice, double deliveryPrice); boolean deleteBusinessById(int bid); // 食物部分 Food getFoodById(int fid); List<Food> listFoodAll(); List<Food> listFoodByName(String fname); boolean addFood(Food food); boolean updateFoodPriceById(int fid,double price); boolean updateFoodById(Food food); boolean deleteFoodById(int fid); } ``` 创建`BusinessCtrlImpl.java`实现类 ```java package com.doooog.elm.controller.impl; import com.doooog.elm.controller.BusinessCtrl; import com.doooog.elm.dao.BusinessDao; import com.doooog.elm.dao.FoodDao; import com.doooog.elm.dao.impl.BusinessDaoImpl; import com.doooog.elm.dao.impl.FoodDaoImpl; import com.doooog.elm.po.Business; import com.doooog.elm.po.Food; import java.util.List; public class BusinessCtrlImpl implements BusinessCtrl { private final BusinessDao BUSINESS_DAO = new BusinessDaoImpl(); private final FoodDao FOOD_DAO = new FoodDaoImpl() { }; @Override public Business login(int bid, String password) { if (bid <= 0 || password == null || password.isEmpty()) return null; return BUSINESS_DAO.getBusinessByLogin(bid, password); } @Override public boolean updateBusinessPasswordById(int bid, String oldPW, String newPW) { if (bid <= 0 || oldPW == null || oldPW.isEmpty() || newPW == null || newPW.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null || !b.getPassword().equals(oldPW)) return false; b.setPassword(newPW); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessNameById(int bid, String name) { if (bid <= 0 || name == null || name.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setBname(name); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessAddressById(int bid, String address) { if (bid <= 0 || address == null || address.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setAddress(address); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessExplainById(int bid, String explain) { if (bid <= 0 || explain == null || explain.isEmpty()) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setExplain(explain); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean updateBusinessPriceById(int bid, double startPrice, double deliveryPrice) { if (bid <= 0 || startPrice <= 0 || deliveryPrice <= 0) return false; BusinessDao businessDao = new BusinessDaoImpl(); Business b = businessDao.getBusinessById(bid); if (b == null) return false; b.setStartPrice(startPrice); b.setDeliveryPrice(deliveryPrice); if (!b.isUnsafe(true)) return businessDao.updateBusinessById(b) > 0; return false; } @Override public boolean deleteBusinessById(int bid) { if (bid <= 0) return false; BusinessDao businessDao = new BusinessDaoImpl(); return businessDao.deleteBusinessById(bid) > 0; } @Override public Food getFoodById(int fid) { if (fid <= 0) return null; return FOOD_DAO.getFoodById(fid); } @Override public List<Food> listFoodAll() { return FOOD_DAO.listFoodAll(); } @Override public List<Food> listFoodByName(String fname) { if (fname == null || fname.isEmpty()) return null; return FOOD_DAO.listFoodByName(fname); } @Override public boolean addFood(Food food) { if (food == null || food.isEmpty()) return false; if ((food.getFid() == null || food.getFid() <= 0) && !food.isUnsafe(false)) { return FOOD_DAO.addFood(food) > 0; } else if (!food.isUnsafe(true)) { return FOOD_DAO.addFoodWithId(food) > 0; } return false; } @Override public boolean updateFoodPriceById(int fid, double price) { if (fid <= 0 || price <= 0) return false; return FOOD_DAO.updateFoodPriceById(fid, price) > 0; } @Override public boolean updateFoodById(Food food) { if (food == null || food.isEmpty() || food.isUnsafe(true)) return false; return FOOD_DAO.updateFoodById(food) > 0; } @Override public boolean deleteFoodById(int fid) { if (fid <= 0) return false; return FOOD_DAO.deleteFoodById(fid) > 0; } } ``` #### 5、`view`层 创建`BusinessView.java`类 ```java package com.doooog.elm.view; import com.doooog.elm.controller.BusinessCtrl; import com.doooog.elm.controller.impl.BusinessCtrlImpl; import com.doooog.elm.po.Business; import com.doooog.elm.po.Food; import com.doooog.elm.util.CommonUtil; import com.doooog.elm.util.InputUtil; import java.util.List; public class BusinessView { private BusinessCtrl ctrl = new BusinessCtrlImpl(); private Business my; public void menuLogin() { System.out.println("|-- 请使用商家身份进行登录 --|"); System.out.print("|-- 请输入商家编号:"); int username = InputUtil.menuInputInteger(""); System.out.print("|-- 请输入密码:"); String password = InputUtil.menuInputString(""); my = ctrl.login(username, password); if (my != null && !my.isEmpty()) { System.out.println("登录成功!"); menuMain(); } else { System.out.println("登录失败,请检查账号或密码是否有误!"); } } public void menuMain() { boolean exit = false; while (!exit) { System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 商家菜单 --|"); System.out.println("|-- 商家操作-----------------"); System.out.println("|-- 1.修改密码"); System.out.println("|-- 2.更改名称"); System.out.println("|-- 3.更改介绍"); System.out.println("|-- 4.更改地址"); System.out.println("|-- 5.更改配送价格"); System.out.println("|-- 6.注销商家"); System.out.println("|-- 食物操作------------------"); System.out.println("|-- 7.查看所有食物"); System.out.println("|-- 8.搜索食物名称"); System.out.println("|-- 9.新增食物"); System.out.println("|-- 10.修改食物价格"); System.out.println("|-- 11.修改食物信息"); System.out.println("|-- 12.删除食物"); System.out.println("|-- 0.退出系统"); System.out.println(CommonUtil.copyChar('-', 30)); System.out.print("|-- 请输入编号(0~12整数):"); int choice = InputUtil.menuInputInteger("(0~12整数)"); switch (choice) { case 0 -> exit = true; case 1 -> menuUpdatePassword(); case 2 -> menuUpdateName(); case 3 -> menuUpdateExplain(); case 4 -> menuUpdateAddress(); case 5 -> menuUpdatePrice(); case 6 -> { menuDeleteBusiness(); exit = true; } case 7 -> menuListFoodAll(); case 8 -> menuSearchFoodByName(); case 9 -> menuAddFood(); case 10 -> menuUpdateFoodPrice(); case 11 -> menuUpdateFood(); case 12 -> menuDeleteFood(); } } } private void menuUpdatePassword() { Business b = my.copy(); String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 旧密码(字母+数字)(必填):"); tmp2 = InputUtil.menuInputString("(字母+数字)(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; b.setBname(tmp2); System.out.print("|-- 新密码(字母+数字)(必填):"); tmp2 = InputUtil.menuInputString("(字母+数字)(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; b.setPassword(tmp2); if (ctrl.updateBusinessPasswordById(b.getBid(), b.getBname(), b.getPassword())) { my.setPassword(b.getPassword()); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateName() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新名称(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; if (ctrl.updateBusinessNameById(my.getBid(), tmp2)) { my.setBname(tmp2); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateExplain() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新介绍(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; if (ctrl.updateBusinessExplainById(my.getBid(), tmp2)) { my.setExplain(tmp2); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateAddress() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新地址(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; if (ctrl.updateBusinessAddressById(my.getBid(), tmp2)) { my.setAddress(tmp2); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdatePrice() { double tmp2, tmp3; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 新起送价(大于0的小数)(必填):"); tmp2 = InputUtil.menuInputDouble("(大于0的小数)(必填)"); if (tmp2 == -1 || tmp2 == 0) return; System.out.print("|-- 新配送价(大于0的小数)(必填):"); tmp3 = InputUtil.menuInputDouble("(大于0的小数)(必填)"); if (tmp3 == -1 || tmp3 == 0) return; if (ctrl.updateBusinessPriceById(my.getBid(), tmp2, tmp3)) { my.setStartPrice(tmp2); my.setDeliveryPrice(tmp3); System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuDeleteBusiness() { System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.println(my); if (!doChoice()) return; if (ctrl.deleteBusinessById(my.getBid())) { System.out.println("删除成功!"); return; } System.out.println("删除失败,请检查输入是否有误"); } private void menuListFoodAll() { List<Food> list = ctrl.listFoodAll(); if (list == null || list.isEmpty()) { System.out.println("未查询到信息"); return; } for (Food f : list) { System.out.println(f); } } private void menuSearchFoodByName() { String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 食物名称(模糊)(必填):"); tmp2 = InputUtil.menuInputString("(模糊)(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; List<Food> list = ctrl.listFoodByName(tmp2); if (list == null || list.isEmpty()) { System.out.println("未查询到信息"); return; } for (Food f : list) { System.out.println(f); } } private void menuAddFood() { Food food = new Food(); double tmp; String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); System.out.print("|-- 食物名称(必填):"); tmp2 = InputUtil.menuInputString("(必填)"); if (tmp2.equals("-1") || tmp2.equals("0")) return; food.setFname(tmp2); System.out.print("|-- 介绍:"); tmp2 = InputUtil.menuInputString(""); if (tmp2.equals("-1")) return; if (!tmp2.equals("0")) food.setExplain(tmp2); System.out.print("|-- 价格(必填):"); tmp = InputUtil.menuInputDouble(""); if (tmp == -1 || tmp == 0) return; food.setPrice(tmp); food.setBid(my.getBid()); System.out.print("|-- 确认信息:"); System.out.println(food); if (!doChoice()) return; if (ctrl.addFood(food)) { System.out.println("添加成功!"); return; } System.out.println("添加失败,请检查输入是否有误"); } private void menuUpdateFoodPrice() { int tmp; double tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); menuListFoodAll(); System.out.print("|-- 食物ID(大于0的整数)(必填):"); tmp = InputUtil.menuInputInteger("(大于0的整数)(必填)"); if (tmp == -1 || tmp == 0) return; System.out.print("|-- 新价格(大于0的小数)(必填):"); tmp2 = InputUtil.menuInputDouble("(大于0的小数)(必填)"); if (tmp2 == -1 || tmp2 == 0) return; if (ctrl.updateFoodPriceById(tmp, tmp2)) { System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuUpdateFood() { int id; double tmp; String tmp2; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); menuListFoodAll(); System.out.print("|-- 需要修改的食物ID(大于0的整数)(必填):"); id = InputUtil.menuInputInteger("(大于0的整数)(必填)"); if (id == -1 || id == 0) return; Food food = ctrl.getFoodById(id); if (food == null || food.isEmpty()) { System.out.println("未查询到信息"); return; } System.out.print("|-- 食物名称(" + food.getFname() + "):"); tmp2 = InputUtil.menuInputString("(" + food.getFname() + ")"); if (tmp2.equals("-1")) return; if (!tmp2.equals("0")) food.setFname(tmp2); System.out.print("|-- 介绍:"); tmp2 = InputUtil.menuInputString(""); if (tmp2.equals("-1")) return; if (!tmp2.equals("0")) food.setExplain(tmp2); System.out.print("|-- 价格(" + food.getPrice() + "):"); tmp = InputUtil.menuInputDouble("(" + food.getPrice() + ")"); if (tmp == -1) return; if (tmp != 0) food.setPrice(tmp); System.out.print("|-- 确认信息:"); System.out.println(food); if (!doChoice()) return; if (ctrl.updateFoodById(food)) { System.out.println("修改成功!"); return; } System.out.println("修改失败,请检查输入是否有误"); } private void menuDeleteFood() { int id; System.out.println(CommonUtil.copyChar('=', 30)); System.out.println("|-- 没有(必填)项输入0可跳过,输入-1返回上级菜单"); menuListFoodAll(); System.out.print("|-- 需要删除的食物ID(大于0的整数)(必填):"); id = InputUtil.menuInputInteger("(大于0的整数)(必填)"); if (id == -1 || id == 0) return; Food food = ctrl.getFoodById(id); if (food == null || food.isEmpty()) { System.out.println("未查询到信息"); return; } System.out.print("|-- 确认信息:"); System.out.println(food); if (!doChoice()) return; if (ctrl.deleteFoodById(id)) { System.out.println("删除成功!"); return; } System.out.println("删除失败,请检查输入是否有误"); } private boolean doChoice() { System.out.print("|-- 确认无误(1.是,2.否):"); int tmp = InputUtil.menuInputInteger("(1.是,2.否)"); return tmp == 1; } } ``` 最后修改:2025 年 10 月 22 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 👆请简单粗暴地爱我。