引言
今天我们来讲第二部分,这几篇博客都是一些小功能实现,最后我会将他们综合,发布完整的系统教程,并增加网络连接等内容,欢迎大家学习收藏。
权限功能
我们为系统增加权限功能,即区分管理员和收银员,这里用一个非常简单的办法,我们声明一个变量,当得到角色的值与 “管理员” 一致时,该用户可以使用所有功能,当不一致时,该用户不得操作功能3和5。
结果演示
完整代码
ui—Driver
package ui;
import dao.UserDAO;
import vo.User;
import java.util.Scanner;
public class Driver {
public static void main(String[] args) {
System.out.println("欢迎使用****超市收银系统,请登录");
Scanner scanner = new Scanner(System.in);
System.out.println("输入用户名:");
String userName = scanner.nextLine();
String chrName = null;
System.out.println("输入密码:");
String password = scanner.nextLine();
//按用户名查询用户信息
User user = UserDAO.queryName(userName);
boolean isAdmin = false;
if(user.getRole().equals("管理员")) {
isAdmin=true;
} else {
}
boolean success = false;
if (user != null) {
if (user.getPassword().equals(password) | user.getUserName().equals(userName)) {
success = true;
chrName = user.getChrName(); // 获取登录用户的 chrName
}
}
while (true) {
if (success) {
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("当前收银员:" + chrName);
System.out.println("请选择(1-6):(收银员角色不可以操作功能3和5,管理员角色可以执行所有功能)");
int choice = scanner.nextInt();
switch (choice) {
case 1:
break;
case 2:
break;
case 3:
if (isAdmin) {
System.out.println("你可以执行该操作");
} else {
System.out.println("很抱歉,你没有权限执行该操作!");
}
break;
case 4:
break;
case 5:
if(isAdmin) {
System.out.println("你可以执行该操作");
}else {
System.out.println("很抱歉,你没有权限执行该操作!");
}
break;
case 6:
System.exit(0);
}
}
}
}
}
其余包代码不变,参考上一篇博客,直接使用即可。