AdminService
package com.wzb.service;
import com.wzb.bean.User;
import java.util.List;
public interface AdminService {
List<User> showAllUser();
boolean deleteUserById(int id);
boolean changeUserStatus(int id);
boolean updateAUser(int id);
User getById(int id);
void showAdmin(User user);
}
AdminServiceImpl
package com.wzb.service.impl;
import com.wzb.bean.User;
import com.wzb.dao.UserDao;
import com.wzb.dao.impl.UserDaoImpl;
import com.wzb.service.AdminService;
import com.wzb.utils.md5.MD5Util;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Scanner;
public class AdminServiceImpl implements AdminService {
private final UserDao userDao = new UserDaoImpl();
private final Scanner sc = new Scanner(System.in);
@Override
public List<User> showAllUser() {
return userDao.getAllUser();
}
@Override
public boolean deleteUserById(int id) {
userDao.deleteUserById(id); // 删除后立刻保存到文件
return true;
}
@Override
public boolean changeUserStatus(int id) {
List<User> userList = userDao.getAllUser();
for (User user : userList) {
if (user.getId().equals(id)) {
// 用户若不可用,则改为可用,可用则改为不可用
user.setStatus(!user.getStatus());
user.setUpdateTime(LocalDateTime.now());
userDao.saveUpdatedUserById(user);
return true;
}
}
return false;
}
@Override
public boolean updateAUser(int id) {
List<User> userList = userDao.getAllUser();
for (User user : userList) {
if (user.getId().equals(id)) {
System.out.println("当前用户信息为:");
System.out.println(user);
System.out.println("请输入修改后的密码");
String password = sc.nextLine();
user.setPassword(MD5Util.md5(password));
System.out.println("请输入修改后的手机号");
String phoneNumber = sc.nextLine();
user.setPhoneNumber(phoneNumber);
System.out.println("请输入修改后的账户余额");
int money = Integer.parseInt(sc.nextLine());
user.setMoney(money);
System.out.println("请输入修改后的用户地址");
String address = sc.nextLine();
user.setAddress(address);
user.setUpdateTime(LocalDateTime.now());
userDao.saveUpdatedUserById(user); // 更新后立刻保存
return true;
}
}
return false;
}
@Override
public User getById(int id) {
List<User> userList = userDao.getAllUser();
for (User user : userList) {
if (user.getId().equals(id)) {
return user;
}
}
return null;
}
@Override
public void showAdmin(User user) {
System.out.println(user);
}
}
PetService
package com.wzb.service;
import com.wzb.bean.Pet;
import java.util.List;
public interface PetService {
List<Pet> getAllPet();
boolean insertPet();
boolean deletePet(int id);
boolean updatePet(int id);
Pet getById(int id);
}
PetServiceImpl
package com.wzb.service.impl;
import com.wzb.bean.Pet;
import com.wzb.dao.PetDao;
import com.wzb.dao.impl.PetDaoImpl;
import com.wzb.service.PetService;
import java.util.List;
import java.util.Scanner;
public class PetServiceImpl implements PetService {
private final PetDao petDao = new PetDaoImpl();
private final Scanner sc = new Scanner(System.in);
@Override
public List<Pet> getAllPet() {
return petDao.getAllPet();
}
@Override
public boolean insertPet() {
System.out.println("请输入宠物的名字");
String name = sc.nextLine();
System.out.println("请输入宠物的年龄");
int age = Integer.parseInt(sc.nextLine());
System.out.println("请输入宠物的体重");
double weight = Double.parseDouble(sc.nextLine());
System.out.println("请输入宠物爱吃的食物");
String food = sc.nextLine();
System.out.println("请输入宠物的价格");
int price = Integer.parseInt(sc.nextLine());
System.out.println("请选择宠物种类是狗还是猫");
System.out.println("1.狗 2.猫");
int brand = Integer.parseInt(sc.nextLine());
if (brand != 1 && brand != 2) {
System.out.println("种类错误");
return false;
}
petDao.insert(new Pet(petDao.getNextId(), name, age, weight, food, price, brand));
return true;
}
@Override
public boolean deletePet(int id) {
petDao.deletePetById(id);
return true;
}
@Override
public boolean updatePet(int id) {
List<Pet> petList = petDao.getAllPet();
for (Pet pet : petList) {
if (pet.getId().equals(id)) {
System.out.println("当前宠物用户信息为:");
System.out.println(pet);
System.out.println("请输入修改后宠物的名字");
String name = sc.nextLine();
pet.setName(name);
System.out.println("请输入修改后宠物的年龄");
int age = Integer.parseInt(sc.nextLine());
pet.setAge(age);
System.out.println("请输入修改后宠物的体重");
double weight = Double.parseDouble(sc.nextLine());
pet.setWeight(weight);
System.out.println("请输入修改后宠物爱吃的食物");
String food = sc.nextLine();
pet.setFood(food);
System.out.println("请输入修改后宠物的价格");
int price = Integer.parseInt(sc.nextLine());
// 种类一般不改
pet.setPrice(price);
petDao.saveUpdatedPetById(pet);
return true;
}
}
return false;
}
@Override
public Pet getById(int id) {
List<Pet> petList = petDao.getAllPet();
for (Pet pet : petList) {
if (pet.getId().equals(id)) {
return pet;
}
}
return null;
}
}