提交 c5ba3f27 编写于 作者: 小刘28's avatar 小刘28 💬

feat:完成账号的查询功能;

上级 f45f4922
package com.ubitgroup.controller.accountm;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
import com.ubitgroup.model.dao.AccountD;
import com.ubitgroup.model.dao.impl.AccountDI;
import java.util.ArrayList;
/*
* 账号管理页面控制器
* */
public class AccountC {
/*
* 搜索账号处理
* */
public Result queryAcco(Account account){
String msg;
AccountD accountD = new AccountDI();
ArrayList<Account> list = accountD.queryAcco(account);
if (list == null){
msg = "查询账号出错了,请联系管理员!";
return Result.error(500,msg);
}
msg = "查询成功!";
return Result.success(msg,list);
}
}
package com.ubitgroup.controller.mem.chanpass;
package com.ubitgroup.controller.mem.changepassword;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
......@@ -8,7 +8,7 @@ import com.ubitgroup.model.dao.impl.AccountDI;
/*
* 修改密码页面控制器
* */
public class ChanPassC {
public class ChangePasswordC {
/*
* 修改密码处理
......
package com.ubitgroup.controller.mem.persinfo;
package com.ubitgroup.controller.mem.personinformation;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
......@@ -8,7 +8,7 @@ import com.ubitgroup.model.dao.impl.AccountDI;
/*
* 个人信息页面控制器
* */
public class PersInfoC {
public class PersonInformationC {
/*
* 查看个人信息处理
* */
......
......@@ -82,10 +82,36 @@ public class AccountT {
}
/*
* 获取账号通过参数
* 获取账号通过参数,模糊查询
* 未排除禁用的和已被删除的
* */
public ArrayList<Account> getParam(Account account,LocalDateTime createTimeStart,LocalDateTime createTimeEnd ,LocalDateTime updateTimeStart,LocalDateTime updateTimeEnd){
ArrayList<Account> arrayListTemp = new ArrayList<>();
for (int i = 0; i < arrayList.size(); i++) {
boolean flag = true;
Account accountTemp = arrayList.get(i);
// 是否搜索account
if (account.getAccount() != null){
flag = flag && accountTemp.getAccount().contains(account.getAccount());
}
// 是否搜索email
if (account.getEmail() != null){
flag = flag && accountTemp.getEmail().contains(account.getEmail());
}
if (flag){
arrayListTemp.add(Account.deepClone(accountTemp));
}
}
return arrayListTemp;
}
/*
* 获取账号通过参数,完全匹配
* 未排除禁用的和已被删除的
* */
public ArrayList<Account> getParamExact(Account account,LocalDateTime createTimeStart,LocalDateTime createTimeEnd ,LocalDateTime updateTimeStart,LocalDateTime updateTimeEnd){
ArrayList<Account> arrayListTemp = new ArrayList<>();
for (int i = 0; i < arrayList.size(); i++) {
boolean flag = true;
......@@ -108,7 +134,7 @@ public class AccountT {
}
// 是否搜索email
if (account.getEmail() != null){
flag = flag && accountTemp.getEmail().contains(account.getEmail());
flag = flag && accountTemp.getEmail().equals(account.getEmail());
}
if (flag){
......@@ -119,4 +145,5 @@ public class AccountT {
return arrayListTemp;
}
}
......@@ -5,14 +5,14 @@ import com.ubitgroup.model.bean.Account;
/*
* 当前登录账号类
* */
public class CurrAcc {
private static final CurrAcc instance = new CurrAcc();
public class CurrentAccount {
private static final CurrentAccount instance = new CurrentAccount();
private Account account;
private CurrAcc(){
private CurrentAccount(){
}
public static CurrAcc getInstance(){
public static CurrentAccount getInstance(){
return instance;
}
......
package com.ubitgroup.data;
public class Db {
public class DataManager {
}
......@@ -2,6 +2,8 @@ package com.ubitgroup.model.dao;
import com.ubitgroup.model.bean.Account;
import java.util.ArrayList;
public interface AccountD {
/*
* 登录
......@@ -38,5 +40,9 @@ public interface AccountD {
* */
Integer chanPass(Account account,String newPassword);
/*
* 查找用户
* */
ArrayList<Account> queryAcco(Account account);
}
......@@ -2,6 +2,7 @@ package com.ubitgroup.model.dao.impl;
import com.ubitgroup.data.AccountT;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
import com.ubitgroup.model.dao.AccountD;
import java.time.LocalDateTime;
......@@ -17,7 +18,7 @@ public class AccountDI implements AccountD {
// 判断账号是否存在
Account accountTemp = new Account();
accountTemp.setAccount(account.getAccount());
ArrayList<Account> list = accountT.getParam(accountTemp,null,null,null,null);
ArrayList<Account> list = accountT.getParamExact(accountTemp,null,null,null,null);
if (list == null){
return 500; // 系统出错了
}
......@@ -40,7 +41,7 @@ public class AccountDI implements AccountD {
* */
@Override
public Account getAccoInfo(Account account) {
ArrayList<Account> list = accountT.getParam(account,null,null,null,null);
ArrayList<Account> list = accountT.getParamExact(account,null,null,null,null);
account = list.get(0);
return account;
}
......@@ -52,7 +53,7 @@ public class AccountDI implements AccountD {
// 判断账号是否存在
Account accountTemp = new Account();
accountTemp.setAccount(account.getAccount());
ArrayList<Account> list = accountT.getParam(accountTemp,null,null,null,null);
ArrayList<Account> list = accountT.getParamExact(accountTemp,null,null,null,null);
if (list == null){
return 500; // 系统出错了
}
......@@ -98,7 +99,7 @@ public class AccountDI implements AccountD {
// 判断账号是否存在
Account accountTemp = new Account();
accountTemp.setAccount(account.getAccount());
ArrayList<Account> list = accountT.getParam(accountTemp,null,null,null,null);
ArrayList<Account> list = accountT.getParamExact(accountTemp,null,null,null,null);
if (list == null){
return 500; // 系统出错了
}
......@@ -173,5 +174,13 @@ public class AccountDI implements AccountD {
return 0;
}
/*
* 查找用户
* */
@Override
public ArrayList<Account> queryAcco(Account account) {
ArrayList<Account> list = accountT.getParam(account,null,null,null,null);
return list;
}
}
package com.ubitgroup.view.accountm;
import java.util.Scanner;
/*
* 账号管理页面
* */
public class AccoV {
/*
* 初始化页面
* */
public void init() {
System.out.println("\n-----欢迎进入账号管理模块-----");
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("1、查找账号");
System.out.println("2、新增账号");
System.out.println("3、修改账号");
System.out.println("4、删除账号");
System.out.println("请选择您要进行的操作:");
String choose = sc.nextLine();
}
}
}
package com.ubitgroup.view.accom;
package com.ubitgroup.view.accountm;
import com.ubitgroup.controller.accountm.AccountC;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
import com.ubitgroup.util.LocalDateTimeUtil;
import com.ubitgroup.util.OperationUtil;
import com.ubitgroup.view.mainm.MainV;
import com.ubitgroup.view.mem.MeV;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 账号管理页面
* */
public class AccoV {
public class AccountV {
/*
* 初始化页面
* */
......@@ -59,6 +65,37 @@ public class AccoV {
public void queryAcco(){
System.out.println("进入查找账号模块");
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入账号关键字:");
String accoKey = sc.nextLine();
if (OperationUtil.inteOper(accoKey)){
break;
}
Account account = new Account();
account.setAccount(accoKey);
AccountC accountC = new AccountC();
Result result = accountC.queryAcco(account);
if (result.getCode() == 0){
ArrayList<Account> list = (ArrayList<Account>) result.getData();
System.out.println("查询到 " + list.size() + " 条数据");
System.out.println("序号\t|账号\t|启用/禁用\t|是否未删除\t|创建时间\t|最近更新时间\t");
for (int i = 0; i < list.size(); i++) {
Account accountTemp = list.get(i);
StringBuffer sb = new StringBuffer();
sb.append((i + 1) + "\t");
sb.append(accountTemp.getAccount() + "\t");
sb.append((accountTemp.getEnable().equals("0")?"启用":"禁用") + "\t");
sb.append((accountTemp.getNoDeleted().equals("0")?"未删除":"已删除") + "\t");
sb.append(LocalDateTimeUtil.format(accountTemp.getCreateTime(),"yyyy年MM月dd日 hh时mm分ss秒") + "\t");
sb.append(LocalDateTimeUtil.format(accountTemp.getUpdateTime(),"yyyy年MM月dd日 hh时mm分ss秒") + "\t");
System.out.println(sb);
}
} else {
System.out.println(result.getMsg());
}
}
}
......
package com.ubitgroup.view.loginm;
import com.ubitgroup.controller.loginm.LoginC;
import com.ubitgroup.data.CurrAcc;
import com.ubitgroup.data.CurrentAccount;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
import com.ubitgroup.util.OperationUtil;
......@@ -73,9 +73,9 @@ public class LoginV {
LoginC loginC = new LoginC();
Result result = loginC.login(accountTemp);
if (result.getCode() == 0){
CurrAcc currAcc = CurrAcc.getInstance();
CurrentAccount currentAccount = CurrentAccount.getInstance();
accountTemp = (Account)result.getData();
currAcc.setAccount(accountTemp);
currentAccount.setAccount(accountTemp);
new MainV().init();
}else{
System.out.println(result.getMsg());
......@@ -118,8 +118,8 @@ public class LoginV {
Result result = loginC.regi(accountTemp);
if (result.getCode() == 0){
System.out.println("注册成功,请登录!");
CurrAcc currAcc = CurrAcc.getInstance();
currAcc.setAccount((Account)result.getData());
CurrentAccount currentAccount = CurrentAccount.getInstance();
currentAccount.setAccount((Account)result.getData());
new MainV().init();
}else{
System.out.println(result.getMsg());
......
package com.ubitgroup.view.mainm;
import com.ubitgroup.data.CurrAcc;
import com.ubitgroup.view.accom.AccoV;
import com.ubitgroup.data.CurrentAccount;
import com.ubitgroup.view.accountm.AccountV;
import com.ubitgroup.view.loginm.LoginV;
import com.ubitgroup.view.mem.MeV;
......@@ -15,8 +15,8 @@ public class MainV {
* 初始化页面
* */
public void init(){
CurrAcc currAcc = CurrAcc.getInstance();
System.out.println("\n-----欢迎" + currAcc.getAccount().getAccount() + "登录系统-----");
CurrentAccount currentAccount = CurrentAccount.getInstance();
System.out.println("\n-----欢迎" + currentAccount.getAccount().getAccount() + "登录系统-----");
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请选择您要进行的操作:");
......@@ -35,7 +35,7 @@ public class MainV {
new MeV().init();
break;
case "2":
new AccoV().init();
new AccountV().init();
break;
case "3":
......@@ -64,8 +64,8 @@ public class MainV {
* 退出账号操作
* */
private void logout(){
CurrAcc currAcc = CurrAcc.getInstance();
currAcc.setAccount(null);
CurrentAccount currentAccount = CurrentAccount.getInstance();
currentAccount.setAccount(null);
LoginV loginView = new LoginV();
loginView.init();
}
......
package com.ubitgroup.view.mem;
import com.ubitgroup.view.mainm.MainV;
import com.ubitgroup.view.mem.chanpass.ChanPassV;
import com.ubitgroup.view.mem.persinfo.PersInfoV;
import com.ubitgroup.view.mem.changepassword.ChangePasswordV;
import com.ubitgroup.view.mem.personinformation.PersonInformationV;
import java.util.Scanner;
......@@ -30,10 +30,10 @@ public class MeV {
new MainV().init();
break;
case "1":
new PersInfoV().init();
new PersonInformationV().init();
break;
case "2":
new ChanPassV().init();
new ChangePasswordV().init();
break;
default:
System.out.println("操作指令错误,请重新输入。");
......
package com.ubitgroup.view.mem.chanpass;
package com.ubitgroup.view.mem.changepassword;
import com.ubitgroup.controller.mem.chanpass.ChanPassC;
import com.ubitgroup.data.CurrAcc;
import com.ubitgroup.controller.mem.changepassword.ChangePasswordC;
import com.ubitgroup.data.CurrentAccount;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
import com.ubitgroup.util.OperationUtil;
import com.ubitgroup.view.loginm.LoginV;
import com.ubitgroup.view.mainm.MainV;
import com.ubitgroup.view.mem.MeV;
import java.util.Scanner;
......@@ -14,7 +13,7 @@ import java.util.Scanner;
/*
* 修改密码页面
* */
public class ChanPassV {
public class ChangePasswordV {
/*
* 初始化页面
* */
......@@ -61,13 +60,13 @@ public class ChanPassV {
break;
}
CurrAcc currAcc = CurrAcc.getInstance();
Account account = currAcc.getAccount();
CurrentAccount currentAccount = CurrentAccount.getInstance();
Account account = currentAccount.getAccount();
Account accountTemp = new Account();
accountTemp.setId(account.getId());
accountTemp.setPassword(oldPassword);
ChanPassC chanPassC = new ChanPassC();
Result result = chanPassC.chanPass(accountTemp,newPassword);
ChangePasswordC changePasswordC = new ChangePasswordC();
Result result = changePasswordC.chanPass(accountTemp,newPassword);
if (result.getCode() == 0){
System.out.println(result.getMsg());
try {
......
package com.ubitgroup.view.mem.persinfo;
package com.ubitgroup.view.mem.personinformation;
import com.ubitgroup.controller.mem.persinfo.PersInfoC;
import com.ubitgroup.data.CurrAcc;
import com.ubitgroup.controller.mem.personinformation.PersonInformationC;
import com.ubitgroup.data.CurrentAccount;
import com.ubitgroup.model.bean.Account;
import com.ubitgroup.model.bean.Result;
import com.ubitgroup.util.LocalDateTimeUtil;
import com.ubitgroup.util.OperationUtil;
import com.ubitgroup.view.mainm.MainV;
import com.ubitgroup.view.mem.MeV;
import java.util.Scanner;
......@@ -15,7 +14,7 @@ import java.util.regex.Pattern;
/*
* 个人信息页面
* */
public class PersInfoV {
public class PersonInformationV {
/*
* 初始化页面
* */
......@@ -51,10 +50,10 @@ public class PersInfoV {
* 查看个人信息操作
* */
private void showPersInfo(){
CurrAcc currAcc = CurrAcc.getInstance();
Account account = currAcc.getAccount();
PersInfoC persInfoC = new PersInfoC();
Result result = persInfoC.showPersInfo(account);
CurrentAccount currentAccount = CurrentAccount.getInstance();
Account account = currentAccount.getAccount();
PersonInformationC personInformationC = new PersonInformationC();
Result result = personInformationC.showPersInfo(account);
if (result.getCode() == 0){
System.out.println("\n" + account.getAccount() + "的个人信息如下:");
StringBuilder sb = new StringBuilder();
......@@ -88,13 +87,13 @@ public class PersInfoV {
System.out.println("email格式错误,请重新输入!");
continue;
}
CurrAcc currAcc = CurrAcc.getInstance();
Account account = currAcc.getAccount();
CurrentAccount currentAccount = CurrentAccount.getInstance();
Account account = currentAccount.getAccount();
Account accountTemp = new Account();
accountTemp.setId(account.getId());
accountTemp.setEmail(email);
PersInfoC persInfoC = new PersInfoC();
Result result = persInfoC.chanPersInfo(accountTemp);
PersonInformationC personInformationC = new PersonInformationC();
Result result = personInformationC.chanPersInfo(accountTemp);
if (result.getCode() == 0){
System.out.println("修改成功!\n");
break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册