package com.stu.service;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.stu.action.SMSAction;
import com.stu.dao.StuManagerDao;
import com.stu.dao.StudentDao;
import com.stu.entity.StuManager;
import com.stu.entity.Student;
import com.stu.util.BaseUtil;
import com.stu.util.StuManagerUtil;
public class StuManagerService {
/**
* 管理员注册页面
* */
public static void registr() {
StuManager stuManager = new StuManager();
BaseUtil.printInfo("注册管理员账号:");
StuManagerDao.registrAccount(stuManager);
BaseUtil.printInfo("设置密码:");
StuManagerDao.registrPassword(stuManager);
BaseUtil.printInfo("设置邮箱(0跳过):");
StuManagerDao.registrEmail(stuManager);
BaseUtil.printInfo("输入身份证号:");
StuManagerDao.registrId(stuManager);
// 生成注册时间
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd kk:mm:ss");
stuManager.setRegistrdate(dateFormat.format(new Date()));
// 新管理员权限为0,被审核通过后才能登陆
stuManager.setLimit(0);
// 默认管理员日志
stuManager.getLog().add(stuManager.getAccount());
BaseUtil.printInfo("注册成功!");
System.out.println(stuManager);
StuManagerDao.insertStuManager(stuManager);// 插入到管理员集合
}
/**
* 管理员登陆
* */
public static void stuMLogin() {
StuManager stuManager = new StuManager();
BaseUtil.printInfo("输入管理员账号:");
int stuMIndex = StuManagerUtil.stuMAccountLogin();
BaseUtil.printInfo("输入密码:");
StuManagerUtil.stuMPasswordLogin(stuMIndex);
stuManager = StuManager.getStuMList().get(stuMIndex);
SMSAction.stuMLoginPage(stuManager);
}
// 学生信息管理功能选择
public void stuManagerFun(StuManager stuManager) {
int stuMLoginPageChoice = BaseUtil.stringToInt();
switch (stuMLoginPageChoice) {
case 1:
addStudent(stuManager);// 添加学生信息
break;
case 2:
deleteStudent(stuManager);// 删除学生信息
break;
case 3:
SMSAction.updateStuPage(stuManager);// 修改学生信息
break;
case 4:
SMSAction.queryStudentPage(stuManager);// 查询学生信息
break;
case 0:
SMSAction.homepage();
default:
BaseUtil.printInfo("选择错误,重新选择!");
break;
}
}
// 管理员查询添加学生信息
public void addStudent(StuManager stuManager) {
Student student = new Student();
BaseUtil.printInfo("添加姓名:");
StudentDao.addStuName(student);// 添加学生姓名
BaseUtil.printInfo("添加学号:");
StudentDao.addStuId(student);// 添加学生学号
BaseUtil.printInfo("添加年龄:");
StudentDao.addStuAge(student);// 添加学生年龄
BaseUtil.printInfo("添加性别:");
StudentDao.addStuSex(student);// 添加学生性别
BaseUtil.printInfo("添加地址:");
StudentDao.addStuAddress(student);// 添加学生地址
BaseUtil.printInfo("添加选修课:");
StudentDao.addElectiveCourse(student);
BaseUtil.printInfo("添加成绩:");
StudentDao.addStuGrade(student);
BaseUtil.printInfo("添加完成");
BaseUtil.printInfo(student);// 输出学生信息
// 记录管理员执行添加操作的时间
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd kk:mm:ss");
stuManager.getLog().add(
"管理员" + (stuManager.getAccount()) + "添加-->" + student + "时间:"
+ dateFormat);
StudentDao.insertStudent(student);// 将添加的学生插入学生集合
}
// 管理员删除学生信息
public void deleteStudent(StuManager stuManager) {
BaseUtil.printInfo("输入要删除的学生的学号:");
String stuId = BaseUtil.inputString();
int index = StuManagerUtil.stuIdFind(stuId);// 找到输入的学号对应的学生的存储下标
Student student = Student.getStuList().get(index);
StudentDao.deleteStudent(index);
// 记录管理员执行操作
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd kk:mm:ss");
stuManager.getLog().add(
"管理员" + (stuManager.getAccount()) + "删除-->" + student + "时间:"
+ dateFormat);
}
// 管理员修改学生信息
public void updateStudent(StuManager stuManager, Student student) {
Student studentTemp = student;
int uadatePageChoice = BaseUtil.stringToInt();
switch (uadatePageChoice) {
case 1:
StudentDao.addStuName(student);// 修改姓名
break;
case 2:
StudentDao.addStuAge(student);// 修改年龄
break;
case 3:
StudentDao.addStuSex(student);// 修改性别
break;
case 4:
StudentDao.addStuAddress(student);// 修改住址
break;
case 5:
StudentDao.addElectiveCourse(student);// 修改选修课
break;
case 6:
StudentDao.addStuGrade(student);// 修改成绩
break;
case 0:
SMSAction.stuMLoginPage(stuManager);
default:
BaseUtil.printInfo("选择有误");
break;
}
// 记录管理员执行的操作
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd kk:mm:ss");
stuManager.getLog().add(
"管理员" + (stuManager.getAccount()) + "修改-->修改前:" + studentTemp
+ "修改后:" + student + "时间:" + dateFormat);
}
// 学生信息查询功能选择
public void queryStudent(StuManager stuManager) {
int queryStudentPageChoice = BaseUtil.stringToInt();
switch (queryStudentPageChoice) {
case 1:
BaseUtil.printInfo("输入姓名:");
StudentDao.stuNameQuery(stuManager);
break;
case 2:
BaseUtil.printInfo("输入学号:");
StudentDao.stuIdQuery(stuManager);
break;
case 3:
BaseUtil.printInfo("输入年龄:");
StudentDao.stuAgeQuery(stuManager);
break;
case 4:
BaseUtil.printInfo("输入性别:");
StudentDao.stuSexQuery(stuManager);
break;
case 5:
BaseUtil.printInfo("输入住址:");
StudentDao.stuAddressQuery(stuManager);
break;
case 6:
BaseUtil.printInfo("输入选修课:");
StudentDao.stuElectiveCourseQuery(stuManager);
break;
case 7:
BaseUtil.printInfo("输入成绩:");
StudentDao.stuGradeQuery(stuManager);
break;
case 8:
SMSAction.scoreQueryPage(stuManager);// 学生分数统计
break;
case 0:
SMSAction.stuMLoginPage(stuManager);
default:
BaseUtil.printInfo("选择有误");
break;
}
}
// 必修选修选择
public void courseChoose(StuManager stuManager) {
int choice = BaseUtil.stringToInt();
switch (choice) {
case 1:
BaseUtil.printInfo("请输入必修课程");
scoreQueryFun(stuManager);
break;
case 2:
BaseUtil.printInfo("请输入选修课程");
scoreQueryFun(stuManager);
break;
case 0:
SMSAction.queryStudentPage(stuManager);
default:
BaseUtil.printInfo("重新选择");
break;
}
}
// 管理员查看学生分数统计
public void scoreQueryFun(StuManager stuManager) {
String course = BaseUtil.inputString();
int qscoreQueryChoice = StuManagerUtil.CourseCheck(course);
switch (qscoreQueryChoice) {
case 1:
StudentDao.rcScoreQuery(stuManager, course);// 必修课分数查询
break;
case 2:
StudentDao.ecScoreQuery(stuManager, course);// 选修课分数查询
break;
default:
BaseUtil.printInfo("没有这门课");
break;
}
}
}
package com.stu.service;
import com.stu.action.SMSAction;
import com.stu.entity.StuManager;
import com.stu.util.BaseUtil;
import com.stu.util.SysManagerUtil;
public class SysManagerService {
// 系统功能选择
public void sysFun() {
int homepageChoice = BaseUtil.stringToInt();
switch (homepageChoice) {
case 1:
StuManagerService.registr();// 管理员注册
break;
case 2:
SMSAction.loginPage();// 登录
break;
case 0:
System.exit(0);// 退出
default:
BaseUtil.printInfo("选择错误,重新选择!");
break;
}
}
// 系统管理员功能选择
public void sysManagerFun() {
int sysMLoginPageChoice = BaseUtil.stringToInt();
switch (sysMLoginPageChoice) {
case 1:
checkStuManager();
break;
case 2:
viewLog();
break;
case 0:
SMSAction.loginPage();
default:
BaseUtil.printInfo("选择错误,重新选择!");
break;
}
}
/**
* 系统管理员登陆
* */
public void sysMLogin() {
BaseUtil.printInfo("输入系统管理员账号:");
SysManagerUtil.sysMAccountLogin();
BaseUtil.printInfo("输入密码:");
SysManagerUtil.sysMPasswordLogin();
BaseUtil.printInfo("登录成功!!!\n");
SMSAction.sysMLoginPage();
}
// 审核新注册管理员
public void checkStuManager() {
if (StuManager.getStuMList().size() == 1) {
BaseUtil.printInfo("无新注册用户!");
} else {
for (int i = 1; i < StuManager.getStuMList().size(); i++) {
if (null == StuManager.getStuMList().get(i)) {
System.out.println("注册的管理员为空,\n");
} else {
System.out.println("新注册的管理员信息如下:");
System.out.println(StuManager.getStuMList().get(i));
BaseUtil.printInfo("是否通过?(y/n)");
String check = BaseUtil.inputString();
if (check.equals("y")) {
StuManager.getStuMList().get(i).setLimit(1);// 审核通过则把权限改为1
}
}
BaseUtil.printInfo("下一个-->");
}
}
BaseUtil.printInfo("输入任意键返回上一页!");
String vieLogChoice = BaseUtil.inputString();
BaseUtil.printInfo(vieLogChoice);
}
// 查看操作日志
public void viewLog() {
for (int i = 0; i < StuManager.getStuMList().size(); i++) {
BaseUtil.printInfo(StuManager.getStuMList().get(i).getLog());// 获取日志
BaseUtil.printInfo("输入任意键返回上一页!");
String vieLogChoice = BaseUtil.inputString();
BaseUtil.printInfo(vieLogChoice);
}
}
public void logFun() {
int logFunChoice = BaseUtil.stringToInt();
switch (logFunChoice) {
case 1:
StuManagerService.stuMLogin();// 管理员登录
break;
case 2:
sysMLogin(); // 系统管理员登录
break;
case 0:
SMSAction.homepage(); // 返回上一级
default:
BaseUtil.printInfo("选择错误,重新选择!");
break;
}
}
}