package com.qst.util;
import java.util.Scanner;
import com.qst.dao.UserDao;
import com.qst.entity.User;
public class UserAction {
public static void main(String[] args){
//数据初始化
//创建扫描器,实现从控制台进行输入
Scanner input = new Scanner(System.in);
//状态值 保存登录是否是正确的状态
boolean flag = true;
//定义用户名
String username = null;
//定义密码
String password = null;
//记录循环次数
int index1 = 0;
//记录当前登录的用户的下标
int index2 = 0;
//记录当前用户选择的操作
int index3 = 0;
//UserDao为用户操作类,提供了大量的操作方法
//此处调用了UserDao的users属性实现对会员数据初始化
User[] users = UserDao.users;
//当前登录的用户
User user = null;
//登录
//角色判断并执行对应角色功能
//输出菜单
System.out.println("cgg>欢迎进入“一杯奶茶”会员积分平台!");
System.out.println("cgg>请先登录!\n");
//1.用户登录
do{//循环判断
index1++;//记录循环次数
if(index1 == 1)//使用index1来确定显示的信息
System.out.println("mtv>请输入您的用户名:");
else
System.out.println("请重新输入您的用户名:");
//输入用户名
username = input.next();
if(index1 == 1)
System.out.println("mtv>请输入您的密码:");
else
System.out.println("mtv>请重新输入您的密码:");
//输入密码
password = input.next();
//循环进行判断用户和密码是否正确
//调用UserDao的users属性获取用户对象数组
for(int i=0;i<UserDao.users.length;i++){
//调用字符串中的equals方法进行判断
if(username.equals(users[i].getUsername()) && password.equals(users[i].getPassword())){
System.out.println("mtv>恭喜您登录成功!\n");
index2 = i;
user = UserDao.users[i];
flag = false;
break;
}
}
}while(flag);
//2.判断角色
if(user.getRole()==Constants.ADMINISTRATOR){//判断管理员的角色
//2.1 如果为管理员角色
//2.1.1则输出管理员的管理菜单
//2.1.2输入数字进行操作
while (true) {
// 输出管理员的管理菜单
System.out.println("mtv>请选择您要进行的操作(0.退出;1.查看所有会员信息;2.添加会员;3.删除会员;4.初始化会员密码;5.修改积分兑换规则):");
// 管理游戏
// 输入数字进行操作
index3 = input.nextInt();
// 循环控制保证只能输入0-5
while (true) {
if (index3 != 0 && index3 != 1 && index3 != 2 && index3 != 3 && index3 != 4 && index3 != 5) {
System.out.println("mtv>请重新选择您要进行的操作(0.退出;1.查看所有会员信息;2.添加会员;3.删除会员;4.初始化会员密码;5.修改积分兑换规则):");
index3 = input.nextInt();
} else
break;
}
// 以下取到不同值的情况判断
if (index3 == 0) {
System.out.println("mtv>程序结束!");
return;
} else if (index3 == 1) {// 展示所有会员信息
System.out.println("mtv>当前所有会员列表如下所示:\n");
System.out.println("编号\t姓名\t电话\t金额\t积分\t角色");
UserDao.queryAll();
} else if (index3 == 2) {// 添加会员
// 创建对象接收数据
// 编号
System.out.println("mtv>请输入编号:");
int id0 = input.nextInt();
// 姓名
System.out.println("mtv>请输入姓名:");
String username0 = input.next();
// 密码
/*System.out.println("mtv>请输入密码:");
String password0 = input.next();*/
//设置密码为初识密码
String password0 = UserDao.PASSWORD;
// 电话
System.out.println("mtv>请输入号码:");
String phone0 = input.next();
// 金额和积分初始为0
// 请输入角色
System.out.println("mtv>请输入角色(1:管理员;2:会员):");
int role0 = input.nextInt();
// 实例化
User user0 = new User();
// 给对象赋值
user0.setId(id0);
user0.setUsername(username0);
user0.setPassword(password0);
user0.setPhone(phone0);
user0.setRole(role0);
// 添加会员
UserDao.addUser(user0);
} else if (index3 == 3) {// 删除会员
System.out.println("mtv>请输入您要删除的会员的编号:");
int id0 = input.nextInt();
UserDao.deleteUser(id0);
} else if (index3 == 4) {// 修改会员密码
System.out.println("mtv>请输入您要修改的会员的编号:");
int id0 = input.nextInt();
/*System.out.println("mtv>请输入您要修改的会员的密码:");
String password0 = input.next();*/
UserDao.updatePwd(id0/*, password0*/);
} else {
// 修改积分兑换规则
System.out.println("mtv>请输入积分兑换比例(n积分/1元):");
int point = input.nextInt();
UserDao.changeRule(point);
}
}
}else if(user.getRole()==Constants.VIP){//判断vip角色
//2.2如果为vip角色
//2.2.1则输出vip的管理菜单
//2.2.2输入数字进行操作
//循环进行操作
while(true){
System.out.println("mtv>请选择您要进行的操作(0.退出;1.查看个人信息;2.修改个人信息;3.充值;4.消费;5.兑换积分):");
//输入编号进行操作
//辩证输入的介于0-5
index3 = input.nextInt();
//死循环强制输入的范围
if(index3==0){
System.out.println("mtv>程序结束!");
System.exit(0);
}else if(index3==1){
//查看个人信息
//此处调用了UserDao的queryOne方法
UserDao.queryOne(user.getId());
}else if(index3 == 2){//修改个人信息
//创建对象接受数据
//编号
/*System.out.println("mtv>请输入编号:");
int id0 = input.nextInt();*/
//姓名
System.out.println("mtv>请输入姓名:");
String username0 = input.next();
//密码
System.out.println("mtv>请输入密码:");
String password0 = input.next();
//电话
System.out.println("mtv>请输入号码:");
String phone0 = input.next();
//金额和积分初始为0
//请输入角色
/*System.out.println("mtv>请输入角色:");
int role0 = input.nextInt();*/
//实例化
// User user0 = new User();
//给对象赋值
// user.setId(index2);
user.setUsername(username0);
user.setPassword(password0);
user.setPhone(phone0);
// user.setRole(role0);
//修改会员
//此处调用了UserDao的updateUser方法进行修改
UserDao.updateUser(user);
}else if(index3 == 3){ //充值
System.out.println("mtv>请输入您要充值的金额:");
double account0 = input.nextDouble();
//此处调用了UserDao的充值方法
UserDao.consume(user.getId(),account0);
System.out.println("mtv>您的充值后的金额为:"+user.getAccount());
}else if(index3 == 4){//消费
System.out.println("mtv>您的消费金额为:");
double account0 = input.nextDouble();
//此处调用了UserDao的消费方法
UserDao.consume(user.getId(),-account0);
System.out.println("mtv>您的剩余金额为:"+user.getAccount());
}else{//兑换
//输出当前的积分兑换规则
System.out.println("mtv>请知悉,当前的积分兑换规则为:"+UserDao.count+"积分兑换1元");
System.out.println("mtv>请输入要兑换的积分数:");
int point = input.nextInt();
//调用UserDao方法实现积分兑换
UserDao.changePoint(user.getId(), point);
System.out.println("mtv>您当前剩余积分为:" + user.getPoint());
}
while(true){
if(index3 !=0 && index3 !=1&&index3 !=2&&index3 !=3&&index3 !=4&&index3 !=5&&index3 !=6){
System.out.println("mtv>请重新选择您要进行的操作(0.退出;1.查看个人信息;2.修改个人信息;3.充值;4.消费;5.兑换积分):");
index3 = input.nextInt();
}else
break;
}
}
}else {
//2.3角色错误则提示如下
System.out.println("mtv>您的角色不正确,请和管理员联系!程序结束!");
}
}
}
基于Java OOP的一杯可乐会员积分系统
需积分: 5 153 浏览量
2023-05-11
12:05:38
上传
评论
收藏 14KB ZIP 举报
又是被bug折磨的一天
- 粉丝: 9193
- 资源: 16
最新资源
- 基于51单片机的汉字点阵显示Proteus仿真+软件程序C源码.zip
- 甘晴void:一位多才多艺的编程新星.zip
- 基于C++的App图标资源库设计源码 - libicon
- 基于Java的日记本应用程序设计源码 - Diary
- 基于C#的.NET模板引擎设计源码 - jntemplate
- 基于51单片机+AC24C04+LCD1602显示的电子密码锁程序源代码及电路仿真.zip
- 基于C++的图形共享内存轻量级设计源码 - graphic_surface_lite
- 深入解析指令调度与延迟分支.zip
- 基于STC15F104E系列单片机的EEPROM应用程序测试例程KEIL工程源码.zip
- 基于STC15F104E系列单片机的串口通讯应用程序测试例程KEIL工程源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈