首页 > 其他分享 >宠物管理系统(3):Controller类

宠物管理系统(3):Controller类

时间:2024-12-22 22:27:45浏览次数:6  
标签:管理系统 com 宠物 System Controller println import wzb out

        模仿三层架构中的Controller编写的控制器(但是这并非是真的),用于处理不同的情境。

        MainController,用于控制整个主程序:

package com.wzb.controller;

import com.wzb.utils.menu.MainMenu;
import com.wzb.utils.wait.Wait;

import java.util.Scanner;

/**
 * 主程序
 */
public class MainController {
    private static final Scanner sc = new Scanner(System.in);

    public static void main(String[] args) throws InterruptedException {
        while (true) {
            MainMenu.showMainMenu();
            int choice = Integer.parseInt(sc.nextLine());
            switch (choice) {
                case 1: {
                    LoginController.userLogin();
                    break;
                }
                case 2: {
                    PetController.modifyPet();
                    break;
                }
                case 0: {
                    System.out.println("感谢您使用本系统,欢迎再次使用");
                    Thread.sleep(500);
                    System.out.print("系统正在退出");
                    Wait.waitMoments();
                    System.exit(0);
                }
                default: {
                    System.out.println("选择错误,请再次选择");
                }
            }
        }
    }
}

        LoginController,用于控制模拟用户登录:

package com.wzb.controller;

import com.wzb.bean.User;
import com.wzb.service.UserService;
import com.wzb.service.impl.UserServiceImpl;
import com.wzb.utils.menu.user.UserLoginMenu;
import com.wzb.utils.wait.Wait;

import java.util.Scanner;

public class LoginController {
    private static final Scanner sc = new Scanner(System.in);
    private static final UserService userService = new UserServiceImpl();

    public static void userLogin() throws InterruptedException {
        boolean flag = true;
        while (flag) {
            UserLoginMenu.showUserLoginMenu();
            int choice = Integer.parseInt(sc.nextLine());
            switch (choice) {
                case 1: {
                    User user = userService.userLogin();
                    if (user == null) {
                        System.out.println("用户不存在,登录失败,请重新登录");
                    } else if (user.getId().equals(0)) {
                        System.out.println("管理员:wzb,欢迎登录");
                        AdminController.modifyUser(user);
                    } else {
                        if (user.getStatus()) {
                            System.out.println(user.getUsername() + "欢迎登录");
                            UserController.modifyUser(user);
                        } else {
                            System.out.println("用户被锁定,不可登录");
                        }
                    }
                    break;
                }
                case 2: {
                    if (userService.userRegister()) {
                        System.out.println("注册成功");
                    } else {
                        System.out.println("请重新注册");
                    }
                    break;
                }
                case 0: {
                    System.out.println("正在返回上一级");
                    Thread.sleep(500);
                    System.out.print("");
                    Wait.waitMoments();
                    System.out.println("成功返回");
                    flag = false;
                    break;
                }
                default: {
                    System.out.println("选择错误,请再次选择");
                }
            }
        }

    }
}

        UserController,用于用户管理:

package com.wzb.controller;

import com.wzb.bean.User;
import com.wzb.service.UserService;
import com.wzb.service.impl.UserServiceImpl;
import com.wzb.utils.menu.user.UserMenu;
import com.wzb.utils.wait.Wait;

import java.util.Scanner;

public class UserController {
    private static final Scanner sc = new Scanner(System.in);

    private static final UserService userService = new UserServiceImpl();

    public static void modifyUser(User user) throws InterruptedException {
        boolean flag = true;
        while (flag) {
            UserMenu.showUserMenu();
            int choice = Integer.parseInt(sc.nextLine());
            switch (choice) {
                case 1: {
                    userService.showUser(user);
                    break;
                }
                case 2: {
                    ShopController.shop(user);
                    break;
                }
                case 3: {
                    if (userService.reCharge(user)) {
                        System.out.println("充值成功");
                    } else {
                        System.out.println("充值失败");
                    }
                    break;
                }
                case 4: {
                    if (userService.changePassword(user)) {
                        System.out.println("修改密码成功");
                    } else {
                        System.out.println("修改密码失败");
                    }
                    break;
                }
                case 5: {
                    if (userService.changeAddress(user)) {
                        System.out.println("修改地址成功");
                    } else {
                        System.out.println("修改地址失败");
                    }
                    break;
                }
                case 6: {
                    if (userService.deleteMyself(user)) {
                        System.out.print("账户已注销,正在回到登录界面");
                        Wait.waitMoments();
                        flag = false;
                    } else {
                        System.out.println("账户注销失败");
                    }
                    break;
                }
                case 0: {
                    System.out.print("退出账户" + user.getUsername());
                    Wait.waitMoments();
                    flag = false;
                }
                default: {
                    System.out.println("选择错误,请重新选择");
                }
            }
        }
    }

}

        AdminController,用于管理员:

package com.wzb.controller;

import com.wzb.bean.User;
import com.wzb.service.AdminService;
import com.wzb.service.impl.AdminServiceImpl;
import com.wzb.utils.menu.admin.AdminMenu;
import com.wzb.utils.wait.Wait;

import java.util.List;
import java.util.Scanner;

public class AdminController {
    private static final Scanner sc = new Scanner(System.in);
    private static final AdminService adminService = new AdminServiceImpl();

    public static void modifyUser(User user) throws InterruptedException {
        boolean flag = true;
        while (flag) {
            AdminMenu.showAdminMenu();
            int choice = Integer.parseInt(sc.nextLine());
            switch (choice) {
                case 1: {
                    List<User> userList = adminService.showAllUser();
                    for (User u : userList) {
                        System.out.println(u);
                    }
                    break;
                }
                case 2: {
                    System.out.println("请输入想要删除的用户id");
                    int id = Integer.parseInt(sc.nextLine());
                    if (adminService.deleteUserById(id)) {
                        System.out.println("删除成功");
                    } else {
                        System.out.println("删除失败");
                    }
                    break;
                }
                case 3: {
                    System.out.println("请输入想要更改状态的用户id");
                    int id = Integer.parseInt(sc.nextLine());
                    if (adminService.changeUserStatus(id)) {
                        System.out.println("更改状态成功");
                    } else {
                        System.out.println("更改状态失败");
                    }
                    break;
                }
                case 4: {
                    System.out.println("请输入想要更新的用户id");
                    int id = Integer.parseInt(sc.nextLine());
                    if (adminService.updateAUser(id)) {
                        System.out.println("用户更新成功");
                    } else {
                        System.out.println("用户更新失败");
                    }
                    break;
                }
                case 5: {
                    System.out.println("请输入想要查看的用户id");
                    int id = Integer.parseInt(sc.nextLine());
                    User u = adminService.getById(id);
                    System.out.println(u);
                    break;
                }
                case 6: {
                    adminService.showAdmin(user);
                    break;
                }
                case 0: {
                    System.out.print("退出管理员账户" + user.getUsername());
                    Wait.waitMoments();
                    flag = false;
                    break;
                }
                default: {
                    System.out.println("选择错误,请重新选择");
                }
            }
        }
    }
}


        PetController,用于宠物管理:

package com.wzb.controller;

import com.wzb.bean.Pet;
import com.wzb.service.PetService;
import com.wzb.service.impl.PetServiceImpl;
import com.wzb.utils.menu.pet.PetMenu;
import com.wzb.utils.wait.Wait;

import java.util.List;
import java.util.Scanner;

public class PetController {
    private static final Scanner sc = new Scanner(System.in);
    private static final PetService petService = new PetServiceImpl();

    public static void modifyPet() throws InterruptedException {
        boolean flag = true;
        while (flag) {
            PetMenu.showPetMenu();
            int choice = Integer.parseInt(sc.nextLine());
            switch (choice) {
                case 1: {
                    List<Pet> petList = petService.getAllPet();
                    for (Pet pet : petList) {
                        System.out.println(pet);
                    }
                    break;
                }
                case 2: {
                    if (petService.insertPet()) {
                        System.out.println("插入成功");
                    } else {
                        System.out.println("插入失败");
                    }
                    break;
                }
                case 3: {
                    System.out.println("请输入想要删除的宠物id");
                    int id = Integer.parseInt(sc.nextLine());
                    if (petService.deletePet(id)) {
                        System.out.println("删除成功");
                    } else {
                        System.out.println("删除失败");
                    }
                    break;
                }
                case 4: {
                    System.out.println("请输入想要更新的宠物id");
                    int id = Integer.parseInt(sc.nextLine());
                    if (petService.updatePet(id)) {
                        System.out.println("更新成功");
                    } else {
                        System.out.println("更新失败");
                    }
                    break;
                }
                case 5: {
                    System.out.println("请输入想要查看的宠物id");
                    int id = Integer.parseInt(sc.nextLine());
                    Pet pet = petService.getById(id);
                    System.out.println(pet);
                    break;
                }
                case 0: {
                    System.out.println("正在返回上一级");
                    Thread.sleep(500);
                    System.out.print("");
                    Wait.waitMoments();
                    System.out.println("成功返回");
                    flag = false;
                    break;
                }
                default: {
                    System.out.println("选择错误,请重新选择");
                }
            }
        }
    }
}

        ShopController,用于商店管理:

package com.wzb.controller;

import com.wzb.bean.User;
import com.wzb.service.ShopService;
import com.wzb.service.impl.ShopServiceImpl;
import com.wzb.utils.menu.shop.ShopMenu;
import com.wzb.utils.wait.Wait;

import java.util.Scanner;

public class ShopController {
    private static final Scanner sc = new Scanner(System.in);
    private static final ShopService shopService = new ShopServiceImpl();

    public static void shop(User user) throws InterruptedException {
        boolean flag = true;
        while (flag) {
            ShopMenu.showShopMenu();
            int choice = Integer.parseInt(sc.nextLine());
            switch (choice) {
                case 1: {
                    shopService.showAllPet();
                    break;
                }
                case 2: {
                    if (shopService.addShopCar(user)) {
                        System.out.println("添加购物车成功");
                    } else {
                        System.out.println("添加购物车失败");
                    }
                    break;
                }
                case 3: {
                    shopService.showShopCar(user);
                    break;
                }
                case 4: {
                    if (shopService.pay(user)) {
                        System.out.println("支付成功");
                    } else {
                        System.out.println("支付失败");
                    }
                    break;
                }
                case 0: {
                    System.out.println("正在返回上一级");
                    Thread.sleep(500);
                    System.out.print("");
                    Wait.waitMoments();
                    System.out.println("成功返回");
                    flag = false;
                    break;
                }
                default: {
                    System.out.println("选择错误,请重新选择");
                }
            }
        }
    }
}

 

 

 

 

 

        

标签:管理系统,com,宠物,System,Controller,println,import,wzb,out
From: https://blog.csdn.net/Aishangyuwen/article/details/144653801

相关文章

  • 二手物品交易管理系统-毕业设计-附源码
    文末获取源码和万字论文,制作不易,感谢点赞支持。      毕业设计(论文)   题目:二手物品交易的设计与实现摘 要如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端......
  • springboot毕设校园食堂订餐管理系统论文+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着高校的不断发展,校园规模持续扩大,学生数量日益增多,校园食堂作为师生就餐的主要场所,面临着巨大的管理挑战。传统的食堂管理方式在现代校园环境......
  • springboot毕设民宿管理系统程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着旅游业的蓬勃发展,民宿作为一种独特的住宿形式受到了越来越多游客的青睐。民宿以其个性化、温馨舒适的居住环境区别于传统酒店,满足了游客对于......
  • java + mysql 023Java+学生宿舍管理系统的设计与开发录像(完整源码 + 说明文档 + 演示
     ......
  • java + mysql 024Java+基于SpringBoot的企业客户管理系统录像(完整源码 + 说明文档 +
     ......
  • C#(asp.net)房屋租赁管理系统-计算机设计毕业源码64421
    目 录摘要1绪论1.1研究背景与意义1.2开发现状1.3论文结构与章节安排2 房屋租赁管理系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3 系统用例......
  • 基于Java的班级管理系统的设计与实现 毕业设计-附源码60085
    摘要班级管理是学校管理的重要组成部分,传统的班级管理方式存在效率低下、信息不及时等问题。为了解决这些问题,本文设计并实现了一个基于 Java 的班级管理系统。 本论文旨在设计并实现一个基于 Java 的班级管理系统,以提高班级管理的效率和准确性。该系统采用了SSM框架......
  • 化工行业SAP管理系统:构建未来可持续生产模式的基石
     在当今竞争激烈的化工行业,企业需要不断寻求创新,优化生产流程,提高生产效率,并确保产品质量和环保标准。SAP管理系统作为全球领先的企业资源计划解决方案,为化工行业提供了全方位、一站式的数字化平台,助力企业构建未来可持续的生产模式。 SAP化工行业解决方案的核心优势 SAP......
  • 生产制造管理系统:现代制造业的智能引擎
     在当今快速变化的商业环境中,企业要想保持竞争力,就必须不断优化生产流程,提高生产效率,降低成本,并确保产品质量。这正是生产制造管理系统(ManufacturingExecutionSystem,简称MES)的用武之地。本文将详细介绍生产制造管理系统的概念、功能,并特别提及无锡哲讯智能科技有限公司在这一......
  • Python大学生课程在线考试组卷管理系统
    文章目录项目介绍和开发技术介绍具体实现截图开发技术开发与测试:设计思路系统测试可行性分析核心代码部分展示文章目录/写作提纲参考源码/演示视频获取方式项目介绍和开发技术介绍考试管理系统主要是为了用户方便对班级信息、通知公告、课程信息、试题管理、试卷、......