admin stu manage

This commit is contained in:
xtaodada 2024-05-15 15:34:00 +08:00
parent a2b0187f2e
commit f5a216cb27
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659
11 changed files with 207 additions and 56 deletions

View File

@ -0,0 +1,61 @@
package cn.edu.cqwu.repair.controller.admin;
import cn.edu.cqwu.repair.dao.StuDao;
import cn.edu.cqwu.repair.entity.Stu;
import cn.edu.cqwu.repair.util.Encrypt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
/**
* @author xtaod
*/
@Controller
public class AdminStuManageController {
private final StuDao stuDao;
@Autowired
public AdminStuManageController(StuDao stuDao) {
this.stuDao = stuDao;
}
@RequestMapping("/admin/stu_manage/manage.do")
public String manage(String username, String userNo, Model model) {
if (!username.isEmpty()) {
findStusLikeUsername(username, model);
} else if (!userNo.isEmpty()) {
findStusLikeUserNo(userNo, model);
} else {
model.addAttribute("stuManageMess", "* 请输入查询条件!");
}
return "/admin/stu_manage";
}
@RequestMapping("/admin/stu_manage/passReset.do")
public String passReset(String username, Model model) {
stuPassReset(username, model);
return "/admin/stu_manage";
}
private void findStusLikeUsername(String username, Model model) {
ArrayList<Stu> stus = stuDao.findStusLikeUsername(username);
model.addAttribute("stus", stus);
}
private void findStusLikeUserNo(String userNo, Model model) {
ArrayList<Stu> stus = stuDao.findStusLikeUserNo(userNo);
model.addAttribute("stus", stus);
}
private void stuPassReset(String username, Model model) {
if (stuDao.passModify(username, Encrypt.SHA("000000")) != 0) {
model.addAttribute("stuPassResetMess", "* 用户 " + username + " 的密码已重置为000000");
} else {
model.addAttribute("stuPassResetMess", "* 用户 " + username + " 的密码清零操作失败!");
}
}
}

View File

@ -1,35 +1,34 @@
package cn.edu.cqwu.repair.controller.worker; package cn.edu.cqwu.repair.controller.worker;
import cn.edu.cqwu.repair.dao.WorkerDao;
import org.springframework.stereotype.Controller;
import cn.edu.cqwu.repair.dao.OrderDao; import cn.edu.cqwu.repair.dao.OrderDao;
import cn.edu.cqwu.repair.entity.Order;
import javax.servlet.http.*; import cn.edu.cqwu.repair.entity.Worker;
import cn.edu.cqwu.repair.entity.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.util.List;
/**
* @author sobear
*/
@Controller @Controller
public class WorkerFixListController extends HttpServlet{ public class WorkerFixListController extends HttpServlet {
private OrderDao orderDao; private final OrderDao orderDao;
private WorkerDao workerDao;
@Autowired @Autowired
public WorkerFixListController(WorkerDao workerDao, OrderDao orderDao) { public WorkerFixListController(OrderDao orderDao) {
this.workerDao = workerDao;
this.orderDao = orderDao; this.orderDao = orderDao;
} }
@GetMapping("/workerFixList.do") @RequestMapping("/worker/FixList.do")
public String getOrders(Model model, HttpSession session, public String getOrders(Model model, HttpSession session,
HttpServletRequest request){ HttpServletRequest request) {
// 获取Session对象 // 获取Session对象
session = request.getSession(); session = request.getSession();

View File

@ -1,32 +1,33 @@
package cn.edu.cqwu.repair.controller.worker; package cn.edu.cqwu.repair.controller.worker;
import cn.edu.cqwu.repair.dao.WorkerDao;
import org.springframework.stereotype.Controller;
import cn.edu.cqwu.repair.dao.OrderDao; import cn.edu.cqwu.repair.dao.OrderDao;
import cn.edu.cqwu.repair.entity.Order;
import javax.servlet.http.*; import cn.edu.cqwu.repair.entity.Worker;
import cn.edu.cqwu.repair.entity.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.util.List;
/**
* @author sobear
*/
@Controller @Controller
public class WorkerHistoryListController extends HttpServlet{ public class WorkerHistoryListController extends HttpServlet {
private OrderDao orderDao; private final OrderDao orderDao;
private WorkerDao workerDao;
@Autowired @Autowired
public WorkerHistoryListController(WorkerDao workerDao, OrderDao orderDao) { public WorkerHistoryListController(OrderDao orderDao) {
this.workerDao = workerDao;
this.orderDao = orderDao; this.orderDao = orderDao;
} }
@GetMapping("/workerHistoryList.do")
@GetMapping("/worker/HistoryList.do")
public String getOrders(Model model, HttpSession session, public String getOrders(Model model, HttpSession session,
HttpServletRequest request){ HttpServletRequest request) {
// 获取Session对象 // 获取Session对象
session = request.getSession(); session = request.getSession();

View File

@ -1,33 +1,33 @@
package cn.edu.cqwu.repair.controller.worker; package cn.edu.cqwu.repair.controller.worker;
import cn.edu.cqwu.repair.dao.RecordDao; import cn.edu.cqwu.repair.dao.RecordDao;
import cn.edu.cqwu.repair.dao.WorkerDao; import cn.edu.cqwu.repair.entity.Record;
import org.springframework.stereotype.Controller; import cn.edu.cqwu.repair.entity.Worker;
import cn.edu.cqwu.repair.dao.OrderDao;
import javax.servlet.http.*;
import cn.edu.cqwu.repair.entity.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.util.List;
/**
* @author sobear
*/
@Controller @Controller
public class WorkerHistoryLoginController extends HttpServlet{ public class WorkerHistoryLoginController extends HttpServlet {
private final RecordDao recordDao; private final RecordDao recordDao;
private final WorkerDao workerDao;
@Autowired @Autowired
public WorkerHistoryLoginController(WorkerDao workerDao, RecordDao recordDao) { public WorkerHistoryLoginController(RecordDao recordDao) {
this.workerDao = workerDao;
this.recordDao = recordDao; this.recordDao = recordDao;
} }
@GetMapping("/workerHistoryLogin.do")
@GetMapping("/worker/HistoryLogin.do")
public String getOrders(Model model, HttpSession session, public String getOrders(Model model, HttpSession session,
HttpServletRequest request){ HttpServletRequest request) {
// 获取Session对象 // 获取Session对象
session = request.getSession(); session = request.getSession();

View File

@ -28,7 +28,7 @@ public class WorkerLoginController {
this.recordService = recordService; this.recordService = recordService;
} }
@RequestMapping("/workerLogin.do") @RequestMapping("/worker/Login.do")
public String workerLogin( public String workerLogin(
String username, String password, String code, Model model, HttpSession session, String username, String password, String code, Model model, HttpSession session,
HttpServletRequest request HttpServletRequest request

View File

@ -31,7 +31,7 @@ public class WorkerOrderStatusController {
}else { }else {
model.addAttribute("workerListStatusMes", "* 状态更新失败!"); model.addAttribute("workerListStatusMes", "* 状态更新失败!");
} }
return "forward:/workerFixList.do"; return "forward:/worker/FixList.do";
} }

View File

@ -13,5 +13,7 @@ public interface StuDao {
public int passModify(String username, String newpass); public int passModify(String username, String newpass);
public ArrayList<Stu> findStusLikeUsername(String username); ArrayList<Stu> findStusLikeUsername(String username);
ArrayList<Stu> findStusLikeUserNo(String userNo);
} }

View File

@ -60,4 +60,12 @@ public class StuDaoImpl implements StuDao {
.where(STU.USERNAME.like(username)); .where(STU.USERNAME.like(username));
return (ArrayList<Stu>) MAPPER.selectListByQuery(qw); return (ArrayList<Stu>) MAPPER.selectListByQuery(qw);
} }
@Override
public ArrayList<Stu> findStusLikeUserNo(String userNo) {
QueryWrapper qw = new QueryWrapper();
qw.select(STU.ALL_COLUMNS)
.where(STU.USER_NO.like(userNo));
return (ArrayList<Stu>) MAPPER.selectListByQuery(qw);
}
} }

View File

@ -0,0 +1,80 @@
<%--
Created by IntelliJ IDEA.
User: xtaod
Date: 2024/5/14
Time: 下午8:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page isELIgnored="false" %>
<c:set var="webroot" value="${pageContext.request.contextPath}"/>
<c:set var="title" value="用户维护"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>${title}</title>
<link rel="stylesheet" href="${webroot}/styles/bootstrap.min.css" crossorigin="anonymous">
<script src="${webroot}/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="${webroot}/styles/sidebar.css" crossorigin="anonymous">
<link rel="stylesheet" href="${webroot}/styles/index.css" crossorigin="anonymous">
</head>
<body>
<main class="d-flex flex-nowrap">
<%@ include file="../includes/header.jsp" %>
<main class="form-signin w-100 m-auto" style="max-width: 800px;">
<img class="mb-4" src="${webroot}/images/logo.jpg" alt="" width="72" height="72">
<h1 class="h3 mb-3 fw-normal">${title}</h1>
<c:if test="${not empty stuPassResetMess}">
<div class="alert alert-warning" role="alert">
${stuPassResetMess}
</div>
</c:if>
<form action="${webroot}/admin/stu_manage/manage.do" method="post">
<div class="input-group mb-3">
<span class="input-group-text">用户名</span>
<input type="text" class="form-control" name="username" id="username" value="${username}">
</div>
<div class="input-group mb-3">
<span class="input-group-text">学号</span>
<input type="text" class="form-control" name="userNo" id="userNo" value="${userNo}">
</div>
<input class="btn btn-primary w-100 py-2" type="submit" id="submit" value="查询">
<br/><br/>
</form>
<c:if test="${not empty stus}">
<h5>查询到的用户列表</h5>
<table class="table">
<thead>
<tr>
<th scope="col">序号</th>
<th scope="col">用户名</th>
<th scope="col">注册时间</th>
<th scope="col">注册IP</th>
<th scope="col">密码清零</th>
</tr>
</thead>
<tbody>
<c:forEach items="${stus}" var="stu" varStatus="rows">
<tr>
<td>${rows.count}</td>
<td>${stu.username}</td>
<td>${stu.regtime}</td>
<td>${stu.regip}</td>
<td><a href="${webroot}/admin/stu_manage/passReset.do?username=${stu.username}">清零</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</c:if>
</main>
</main>
</body>
</html>

View File

@ -32,8 +32,8 @@
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="${webroot}/admin/worker.do" class="nav-link link-body-emphasis" aria-current="page"> <a href="${webroot}/admin/stu_manage.jsp" class="nav-link link-body-emphasis" aria-current="page">
>> 学生管理 >> 用户维护
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
@ -72,13 +72,13 @@
<a href="${webroot}/worker/worker_center_index.jsp" class="nav-link link-body-emphasis" aria-current="page"> <a href="${webroot}/worker/worker_center_index.jsp" class="nav-link link-body-emphasis" aria-current="page">
>> 个人中心 >> 个人中心
</a> </a>
<a href="${webroot}/workerFixList.do" class="nav-link link-body-emphasis" aria-current="page"> <a href="${webroot}/worker/FixList.do" class="nav-link link-body-emphasis" aria-current="page">
>> 维修列表 >> 维修列表
</a> </a>
<a href="${webroot}/workerHistoryList.do" class="nav-link link-body-emphasis" aria-current="page"> <a href="${webroot}/worker/HistoryList.do" class="nav-link link-body-emphasis" aria-current="page">
>> 历史维修记录 >> 历史维修记录
</a> </a>
<a href="${webroot}/workerHistoryLogin.do" class="nav-link link-body-emphasis" aria-current="page"> <a href="${webroot}/worker/HistoryLogin.do" class="nav-link link-body-emphasis" aria-current="page">
>> 历史登录记录 >> 历史登录记录
</a> </a>
<a href="${webroot}/worker/worker_modify.jsp" class="nav-link link-body-emphasis" aria-current="page"> <a href="${webroot}/worker/worker_modify.jsp" class="nav-link link-body-emphasis" aria-current="page">

View File

@ -40,7 +40,7 @@
</div> </div>
</div> </div>
</div> </div>
<form action="${webroot}/workerLogin.do" method="post" > <form action="${webroot}/worker/Login.do" method="post" >
<img class="mb-4" src="${webroot}/images/logo.jpg" alt="" width="72" height="72"> <img class="mb-4" src="${webroot}/images/logo.jpg" alt="" width="72" height="72">
<h1 class="h3 mb-3 fw-normal">请先登录</h1> <h1 class="h3 mb-3 fw-normal">请先登录</h1>