主界面展示:
package View;
import User.User;
import java.io.*;
import java.text.ParseException;
import java.util.*;
import User.JobType;
import User.Job;
public class IndexVIew {
public static void main(String[] args) {
JobView jobView = new JobView();
File file = new File("E:\idea_workspace\jianzhi2\src\Information\工作信息.txt");
File file1 = new File("E:\idea_workspace\jianzhi2\src\Information\工作类型.txt");
try {
FileInputStream fis = new FileInputStream("E:\idea_workspace\jianzhi2\src\Information\基本注册信息.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
ArrayList users = new ArrayList();
while (fis.available() > 0) {
Object obj = ois.readObject();
users.add((User) obj);
}
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("E:\idea_workspace\jianzhi2\src\Information\用户基本信息.txt")));
BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream("E:\idea_workspace\jianzhi2\src\Information\工作信息.txt")));
BufferedReader reader2 = new BufferedReader(new InputStreamReader(new FileInputStream("E:\idea_workspace\jianzhi2\src\Information\工作类型.txt")));
FileInputStream fis1 = new FileInputStream(file);
ObjectInputStream ois1 = new ObjectInputStream(fis1);
FileInputStream fis2 = new FileInputStream(file1);
ObjectInputStream ois2 = new ObjectInputStream(fis2);
ArrayList jobTypes = new ArrayList();
ArrayList jobs = new ArrayList();
Map work = new HashMap();
BaseInfoChangeOrDelivery baseInfoChangeOrDelivery = new BaseInfoChangeOrDelivery();
while (fis1.available() > 0 & fis2.available() > 0) {
Job job = (Job) ois1.readObject();
JobType jobType = (JobType) ois2.readObject();
jobTypes.add(jobType);
jobs.add(job);
}
String str = null;
String[] str1 = new String[2];
String[] str2 = new String[2];
String[] str3 = new String[2];
Map info = new HashMap<>();
while (true) {
str = reader.readLine();
if (str == null) {
break;
}
str1 = str.split(" ");
str2 = str1[0].split(":");
str3 = str1[1].split(":");
info.put(str3[1], str2[1]);
}
LoginView loginView = new LoginView();
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用系统,按“1”登录,按“2”注册,按”3“找回密码");
int choose = scanner.nextInt();
if (choose == 3) {
loginView.Forget(users);
System.out.println("请重新登录");
choose = 1;
}
switch (choose) {
case 2:
loginView.Register(info, users);
case 1:
User user = loginView.Login(users);
boolean notend = true;
scanner.nextLine();
if (user != null) {
while (notend) {
System.out.println("当前为主界面,请选择功能");
SelfInfoManage selfInfoManage = new SelfInfoManage();
if (user.Admin == false) {
System.out.println("1.个人信息修改/查询 2.兼职申请 3.兼职结束提交 按”0“退出系统");
String choose1 = scanner.nextLine();
if (choose1.equals("1")) {
System.out.println("1.修改基础内容 2.修改密码 3.查询信用等级 4.查询余额");
String choose2 = scanner.nextLine();
if (choose2.equals("1")) {
selfInfoManage.changeInfo(user);
} else if (choose2.equals("2")) {
if (selfInfoManage.changePassword(user)) {
user = loginView.Login(users);
}
} else if (choose2.equals("3")) {
selfInfoManage.seeLevel(user);
} else if (choose2.equals("4")) {
selfInfoManage.seeBalance(user);
}
} else if (choose1.equals("0")) {
notend = false;
} else if (choose1.equals("2")) {
if (work.isEmpty()){
if (jobView.watchJob(user, jobs)){
work = jobView.chooseJob(jobs,user);
if (work.isEmpty()){
continue;
}
}
}else {
System.out.println("您有未完成的兼职,请先提交完成");
}
} else if (choose1.equals("3")) {
if(jobView.endWork(user, jobTypes, work)){
work.clear();
}
}
} else if (user.Admin == true) {
System.out.println("1.个人信息修改 2.系统管理");
System.out.println("3.基本信息维护 按”0“退出系统");
String choose3 = scanner.nextLine();
if (choose3.equals("1")) {
System.out.println("1.修改基础内容 2.修改密码 3.查询信用等级 4.查询余额");
String choose2 = scanner.nextLine();
if (choose2.equals("1")) {
selfInfoManage.changeInfo(user);
} else if (choose2.equals("2")) {
if (selfInfoManage.changePassword(user)) {
user = loginView.Login(users);
}
} else if (choose2.equals("3")) {
selfInfoManage.seeLevel(user);
} else if (choose2.equals("4")) {
selfInfoManage.seeBalance(user);
}
} else if (choose3.equals("3")) {
baseInfoChangeOrDelivery.change(user, jobs, jobTypes, users);
} else if (choose3.equals("2")) {
userManage userManage = new userManage();
userManage.userchange();
} else if (choose3.equals("0")) {
notend = false;
break;
} else {
System.out.println("输入错误");
}
}
}
}
}
FileOutputStream fos = new FileOutputStream("E:\idea_workspace\jianzhi2\src\Information\基本注册信息.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
for (User user : users){
oos.writeObject(user);
oos.flush();
}
oos.close();
FileOutputStream fos1 = new FileOutputStream("E:\idea_workspace\jianzhi2\src\Information\工作信息.txt");
ObjectOutputStream oos1 = new ObjectOutputStream(fos1);
for (Job job : jobs){
oos1.writeObject(job);
oos1.flush();
}
oos1.close();
FileOutputStream fos2 = new FileOutputStream("E:\idea_workspace\jianzhi2\src\Information\工作类型.txt");
ObjectOutputStream oos2 = new ObjectOutputStream(fos2);
for (JobType jobType : jobTypes){
oos2.writeObject(jobType);
oos2.flush();
}
oos2.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
}
登录功能:
package View;
import User.User;
import javax.xml.crypto.Data;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
public class LoginView {
public void Register(Map map,ArrayList users) throws IOException {
DataLog dataLog = new DataLog();
Set keyset = map.keySet();
//判断是否为校内用户
boolean flag = false;
boolean hasregister = false;
boolean isAdmain = false;
String register_name = null;
String register_ID = null;
Scanner scanner = new Scanner(System.in);
boolean isend = false;
while (!isend){
System.out.println("请输入你的学号/教师号");
String UID = scanner.nextLine();
if (UID.startsWith("5")) {
isAdmain = true;
}
//能否在用户信息中找到该用户
for (String key : keyset){
if (key.equals(UID)){
flag = true;
register_ID=key;
register_name=map.get(key);
break;
}
}
if (flag == true){
for (User user : users){
if (user.getUID().equals(register_ID)){
hasregister = true;
break;
}
}
if (hasregister == true) {
System.out.println("已被注册,请重新尝试");
continue;
} else {
System.out.println("学号:"+register_ID+" 姓名:"+register_name+"将以学号作为用户名进行注册");
System.out.println("请输入密码");
String register_password = scanner.nextLine();
System.out.println("请输入性别");
String register_gender = scanner.nextLine();
System.out.println("请输入出生日期");
String register_brithday = scanner.nextLine();
System.out.println("请输入所属系部");
String register_department = scanner.nextLine();
System.out.println("请输入手机号");
String register_phonenumber = scanner.nextLine();
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String register_date = dateFormat.format(calendar.getTime());
users.add(new User(register_ID,register_name,register_password,register_department,register_phonenumber,register_gender,register_brithday,register_date,isAdmain,15,0));
User userinfo = users.get(users.size() - 1);
System.out.println(userinfo.toString()+"注册成功");
dataLog.LogData("新用户注册",userinfo);
isend = true;
}
}
}
}
public User Login(ArrayList users) throws IOException {
DataLog dataLog = new DataLog();
Scanner scanner = new Scanner(System.in);
boolean isend = false;
while (!isend){
System.out.println("请输入账户名");
String login_username = scanner.nextLine();
for (User user : users){
if (user.getUID().equals(login_username)){
System.out.println("请输入密码");
String login_password = scanner.nextLine();
if (login_password.equals(user.getUserPassword())){
System.out.println("登录成功");
dataLog.LogData("尝试并成功登录",user);
return user;
}else {
System.out.println("密码错误,请按“1”重试或按“0”退出");
dataLog.LogData("尝试但登录失败",user);
String choose = scanner.nextLine();
if (choose.equals("1")){
Login(users);
} else if (choose.equals("0")){
return null;
} else {
System.out.println("输入错误,默认退出");
return null;
}
}
}
}
System.out.println("未注册的用户,请按“1”重试或按“0”退出");
String choose = scanner.nextLine();
if (choose.equals("1")){
continue;
} else if (choose.equals("0")){
return null;
} else {
System.out.println("输入错误,默认退出");
return null;
}
}
return null;
}
public void Forget(ArrayList users) throws IOException {
DataLog dataLog = new DataLog();
Scanner scanner = new Scanner(System.in);
boolean isend = false;
while (!isend){
System.out.println("请输入需要找回密码的用户名");
String forget_userID = scanner.nextLine();
for (User user : users){
if (user.getUID().equals(forget_userID)){
System.out.println("请输入你的姓名");
String forget_name = scanner.nextLine();
if (user.getUserName().equals(forget_name)){
System.out.println("验证成功");
System.out.println("您的密码是:"+user.getUserPassword());
dataLog.LogData("尝试并成功找回密码",user);
return;
}else {
dataLog.LogData("找回密码失败",user);
System.out.println("匹配失败,请按“1”重试或按“0”退出");
String choose = scanner.nextLine();
if (choose.equals("1")){
Login(users);
} else if (choose.equals("0")){
return;
} else {
System.out.println("输入错误,默认退出");
return;
}
}
}
}
}
}
}



