branch_li
LFF 8 months ago
parent 2bbfdb4db2
commit 908c02403a

@ -6,8 +6,9 @@ import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DormDao {//DormDao 的接口,用于操作宿舍信息
//123456
public interface DormDao //DormDao 的接口,用于操作宿舍信息
{
/**
* 宿
* @return
@ -22,7 +23,9 @@ public interface DormDao {//DormDao 的接口,用于操作宿舍信息
* @return
* @throws Exception
*/
@Select("select * from dorms where dorm_id like '%${keyword}%' or dorm_intro like '%${keyword}%' or dorm_rps like '%${keyword}%' or dorm_leader like '%${keyword}%' or teacher like '%${keyword}%' ")
@Select("select * from dorms where dorm_id like '%${keyword}%' or dorm_intro " +
"like '%${keyword}%' or dorm_rps like '%${keyword}%' or dorm_leader " +
"like '%${keyword}%' or teacher like '%${keyword}%' ")
//返回一个包含匹配条件的宿舍信息的列表
List<Dorm> search(@Param(value = "keyword") String keyword) throws Exception;//将方法参数 keyword 绑定到 SQL 语句中的占位符
@ -32,7 +35,8 @@ public interface DormDao {//DormDao 的接口,用于操作宿舍信息
* @throws Exception
*/
//注解指定 SQL 插入语句,占位符#{dorm_id}、#{dorm_intro}、#{dorm_rps}、#{dorm_leader} 和 #{teacher}表示 Dorm 对象的属性值
@Insert("insert into dorms(dorm_id,dorm_intro,dorm_rps,dorm_leader,teacher) values(#{dorm_id},#{dorm_intro},#{dorm_rps},#{dorm_leader},#{teacher})")
@Insert("insert into dorms(dorm_id,dorm_intro,dorm_rps,dorm_leader,teacher) " +
"values(#{dorm_id},#{dorm_intro},#{dorm_rps},#{dorm_leader},#{teacher})")
void add(Dorm dorm) throws Exception;
/**
@ -41,7 +45,8 @@ public interface DormDao {//DormDao 的接口,用于操作宿舍信息
* @throws Exception
*/
//注解指定了SQL 更新语句,
@Update("update dorms set dorm_id = #{dorm_id},dorm_intro = #{dorm_intro},dorm_rps = #{dorm_rps},dorm_leader = #{dorm_leader},teacher = #{teacher} where id = #{id}")
@Update("update dorms set dorm_id = #{dorm_id},dorm_intro = #{dorm_intro}," +
"dorm_rps = #{dorm_rps},dorm_leader = #{dorm_leader},teacher = #{teacher} where id = #{id}")
void update(Dorm dorm) throws Exception;
/**

@ -2,7 +2,8 @@ package cn.ppdxzz.domain;
import java.io.Serializable;
public class Dorm implements Serializable {//该类的实例可以被序列化,可以将其转换为字节流以便存储、传输
public class Dorm implements Serializable //该类的实例可以被序列化,可以将其转换为字节流以便存储、传输
{
private Integer id;//ID
private String dorm_id;//宿舍号
private String dorm_intro;//宿舍简介
@ -11,70 +12,87 @@ public class Dorm implements Serializable {//该类的实例可以被序列化
private String teacher;//管辖育人导师
//构造方法
public Dorm() {
public Dorm()
{
}
public Dorm(Integer id, String dorm_id, String dorm_intro, String dorm_rps, String dorm_leader, String teacher) {
public Dorm(Integer id, String dorm_id, String dorm_intro, String dorm_rps,
String dorm_leader, String teacher) {
this.id = id;
this.dorm_id = dorm_id;
this.dorm_intro = dorm_intro;
this.dorm_rps = dorm_rps;
this.dorm_leader = dorm_leader;
this.teacher = teacher;
}
//Getter 和 Setter 方法
public Integer getId() {
public Integer getId()
{
return id;
}
public void setId(Integer id) {
public void setId(Integer id)
{
this.id = id;
}
public String getDorm_id() {
public String getDorm_id()
{
return dorm_id;
}
public void setDorm_id(String dorm_id) {
public void setDorm_id(String dorm_id)
{
this.dorm_id = dorm_id;
}
public String getDorm_intro() {
public String getDorm_intro()
{
return dorm_intro;
}
public void setDorm_intro(String dorm_intro) {
public void setDorm_intro(String dorm_intro)
{
this.dorm_intro = dorm_intro;
}
public String getDorm_rps() {
public String getDorm_rps()
{
return dorm_rps;
}
public void setDorm_rps(String dorm_rps) {
public void setDorm_rps(String dorm_rps)
{
this.dorm_rps = dorm_rps;
}
public String getDorm_leader() {
public String getDorm_leader()
{
return dorm_leader;
}
public void setDorm_leader(String dorm_leader) {
public void setDorm_leader(String dorm_leader)
{
this.dorm_leader = dorm_leader;
}
public String getTeacher() {
public String getTeacher()
{
return teacher;
}
public void setTeacher(String teacher) {
public void setTeacher(String teacher)
{
this.teacher = teacher;
}
//重写toString() 方法,返回一个描述 Dorm 对象的字符串
@Override
public String toString() {
public String toString()
{
return "Dorm{" +
"id=" + id +
", dorm_id='" + dorm_id + '\'' +

@ -4,7 +4,8 @@ import cn.ppdxzz.domain.Dorm;
import java.io.InputStream;
import java.util.List;
public interface DormService {
public interface DormService
{
//分页查询所有宿舍信息参数page 当前页码参数size (每页显示的记录数)
List<Dorm> findAll(int page,int size) throws Exception;//返回一个包含宿舍信息的列表List<Dorm>

@ -15,13 +15,15 @@ import java.util.List;
//基于Spring框架的Java服务类用于管理宿舍信息
@Transactional//该类中的所有方法都支持事务管理,这些方法在执行过程中如果出现异常,将进行回滚操作
@Service("dormService")//将这个类标记为一个Spring的服务组件并指定其名称为"dormService",可以通过依赖注入的方式在其他类中使用它
public class DormServiceImpl implements DormService {
public class DormServiceImpl implements DormService
{
//用于访问数据层DAO
private DormDao dormDao;
@Autowired//通过自动装配机制将DormDao类型的Bean注入到dormDao变量中
public void setDormDao(DormDao dormDao) {
public void setDormDao(DormDao dormDao)
{
this.dormDao = dormDao;
}
@ -33,7 +35,8 @@ public class DormServiceImpl implements DormService {
* @throws Exception
*/
@Override
public List<Dorm> findAll(int page, int size) throws Exception {
public List<Dorm> findAll(int page, int size) throws Exception
{
//使用MyBatis的分页插件进行分页设置
PageHelper.startPage(page,size);
//调用DAO层的findAll方法获取数据
@ -49,7 +52,8 @@ public class DormServiceImpl implements DormService {
* @throws Exception
*/
@Override
public List<Dorm> search(int page, int size, String keyword) throws Exception {
public List<Dorm> search(int page, int size, String keyword) throws Exception
{
//设置分页参数
PageHelper.startPage(page,size);
//调用DAO层的search方法进行模糊查询
@ -62,7 +66,8 @@ public class DormServiceImpl implements DormService {
* @throws Exception
*/
@Override
public void add(Dorm dorm) throws Exception {
public void add(Dorm dorm) throws Exception
{
//调用DAO层的add方法保存数据
dormDao.add(dorm);
}
@ -73,7 +78,8 @@ public class DormServiceImpl implements DormService {
* @throws Exception
*/
@Override
public void update(Dorm dorm) throws Exception {
public void update(Dorm dorm) throws Exception
{
//调用DAO层的update方法更新数据
dormDao.update(dorm);
}
@ -84,7 +90,8 @@ public class DormServiceImpl implements DormService {
* @throws Exception
*/
@Override
public InputStream getInputStream() throws Exception {
public InputStream getInputStream() throws Exception
{
//Excel中的每列列名依次对应数据库的字段
String[] title = new String[]{"ID","宿舍号","宿舍简介","宿舍荣誉","宿舍长","育人导师"};
//获取所有宿舍信息
@ -93,7 +100,8 @@ public class DormServiceImpl implements DormService {
List<Object[]> datalist = new ArrayList<>();
//循环遍历宿舍信息将每个宿舍的信息存入datalist中
for (int i = 0; i < dorms.size(); i++) {
for (int i = 0; i < dorms.size(); i++)
{
Object[] obj = new Object[6];
obj[0] = dorms.get(i).getId();
obj[1] = dorms.get(i).getDorm_id();
@ -110,17 +118,20 @@ public class DormServiceImpl implements DormService {
}
@Override//根据宿舍号查找宿舍信息
public Dorm findByDormId(String dorm_id) throws Exception {
public Dorm findByDormId(String dorm_id) throws Exception
{
return dormDao.findByDormId(dorm_id);
}
@Override//根据ID查找宿舍信息
public Dorm findById(String id) throws Exception {
public Dorm findById(String id) throws Exception
{
return dormDao.findById(id);
}
@Override//根据导师查找宿舍信息
public List<Dorm> findByTeacher(String teacher) throws Exception {
public List<Dorm> findByTeacher(String teacher) throws Exception
{
return dormDao.findByTeacher(teacher);
}
}

@ -70,7 +70,10 @@
</td>
<td colspan="3">
<!-- 文本区域,用于输入宿舍简介 -->
<textarea class="form-control" id="dorm_intro" name="dorm_intro" cols="2" maxlength="80" placeholder="请输入宿舍简介" required="required"></textarea>
<textarea class="form-control" id="dorm_intro" name="dorm_intro" cols="2"
maxlength="80" placeholder="请输入宿舍简介" required="required">
</textarea>
</td>
</tr>
<tr>
@ -79,7 +82,8 @@
</td>
<td colspan="3">
<!-- 输入框,用于输入宿舍奖惩信息 -->
<input type="text" name="dorm_rps" class="form-control" id="dorm_rps" value="无" placeholder="" list="rpsList" required>
<input type="text" name="dorm_rps" class="form-control" id="dorm_rps" value="无"
placeholder="" list="rpsList" required>
<!-- 数据列表,提供预定义的宿舍奖惩选项 -->
<datalist id="rpsList">
<option value="年度最佳宿舍" />
@ -126,7 +130,8 @@
</form>
<script>
// 当宿舍号输入框的值发生变化时触发
$("#dorm3").change(function () {
$("#dorm3").change(function ()
{
// 获取楼栋选择框的值
var d1 = $("#dorm1").val();
// 获取楼层选择框的值
@ -135,6 +140,7 @@
var dorm3 = $("#dorm3").val().trim();
// 拼接成完整的宿舍ID
var dorm_id = d1+""+d2+""+dorm3;
$.ajax({
url: "${pageContext.request.contextPath}/dorm/isExist",//要请求的服务器url
//这是一个对象表示请求的参数两个参数method=ajax&val=xxx服务器可以通过request.getParameter()来获取
@ -147,9 +153,11 @@
type: "POST",
// 期望服务器返回JSON格式的数据
dataType: "json",
success:function(result){ //这个方法会在服务器执行成功时被调用 参数data就是服务器返回的值(现在是json类型)
success:function(result)//这个方法会在服务器执行成功时被调用 参数data就是服务器返回的值(现在是json类型)
{
//alert(result);
if(result){// 如果返回结果为真,表示宿舍已存在
if(result)
{// 如果返回结果为真,表示宿舍已存在
// 弹出提示信息
layer.msg('该宿舍已存在,请重新注册!');
}
@ -158,7 +166,8 @@
});
// 当点击“确认添加”按钮时触发
$("#add-dorm").click(function () {
$("#add-dorm").click(function ()
{
// 获取宿舍号输入框的值并去除两端空格
var dorm3 = $("#dorm3").val().trim();
// 获取宿舍简介输入框的值并去除两端空格
@ -171,7 +180,9 @@
var teacher = $("#teacher").val().trim();
// 检查所有字段是否为空
if (dorm3.length == 0 || dorm_intro.length == 0 || dorm_rps.length == 0 || dorm_leader == 0 || teacher.length == 0) {
if (dorm3.length == 0 || dorm_intro.length == 0 || dorm_rps.length == 0
|| dorm_leader == 0 || teacher.length == 0)
{
// 如果有任意一个字段为空,弹出提示信息
layer.msg('字段不能为空');
// 终止函数执行
@ -179,7 +190,8 @@
}
// 检查用户权限是否足够
if (${sessionScope.adminInfo.power < 2}) {
if (${sessionScope.adminInfo.power < 2})
{
// 如果权限不足,弹出提示信息
layer.msg('权限不足');
return false;
@ -214,24 +226,33 @@
type: "POST", //请求方式为POST
dataType: "json",
success:function(result){ //这个方法会在服务器执行成功时被调用 参数data就是服务器返回的值(现在是json类型)
success:function(result)//这个方法会在服务器执行成功时被调用 参数data就是服务器返回的值(现在是json类型)
{
//alert(result);
if(result){
if(result)
{
// 弹出提示信息
layer.msg('添加成功');
// 如果用户权限为2跳转到教师管理的页面
if (${sessionScope.adminInfo.power == 2}) {
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/byTeacher?uid=${sessionScope.adminInfo.uid}';},2000);
if (${sessionScope.adminInfo.power == 2})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath
}/dorm/byTeacher?uid=${sessionScope.adminInfo.uid}';},2000);
// 终止函数执行
return flase;
}
// 否则跳转到宿舍列表页面
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/findAll';},2000);
}else {// 如果返回结果为假,表示添加失败
setTimeout(function () {window.location.href='${pageContext.request.contextPath
}/dorm/findAll';},2000);
}
else
{// 如果返回结果为假,表示添加失败
layer.msg('添加失败,请重新添加');
// 如果用户权限为2跳转到教师管理的页面
if (${sessionScope.adminInfo.power == 2}) {
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/byTeacher?uid=${sessionScope.adminInfo.uid}';},2000);
if (${sessionScope.adminInfo.power == 2})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath
}/dorm/byTeacher?uid=${sessionScope.adminInfo.uid}';},2000);
return flase;
}
// 否则跳转到宿舍列表页面

@ -31,10 +31,12 @@
<input type="hidden" id="id" name="id" value="${dorm.id}">
<!-- 根据管理员权限判断是否可编辑宿舍号 -->
<c:if test="${sessionScope.adminInfo.power > 3}">
<input type="text" name="dorm_id" placeholder="例:西七B209" value="${dorm.dorm_id}" class="form-control" id="dorm_id" required>
<input type="text" name="dorm_id" placeholder="例:西七B209" value="${dorm.dorm_id}" class="form-control"
id="dorm_id" required>
</c:if>
<c:if test="${sessionScope.adminInfo.power <= 3}">
<input type="text" name="dorm_id" placeholder="" value="${dorm.dorm_id}" readonly class="form-control" id="dorm_id" required>
<input type="text" name="dorm_id" placeholder="" value="${dorm.dorm_id}" readonly class="form-control"
id="dorm_id" required>
</c:if>
</td>
</tr>
@ -44,7 +46,8 @@
<label for="dorm_intro">宿舍简介</label>
</td>
<td colspan="3">
<input class="form-control" id="dorm_intro" value="${dorm.dorm_intro}" name="dorm_intro" cols="2" maxlength="80" placeholder="请输入宿舍简介" required="required">
<input class="form-control" id="dorm_intro" value="${dorm.dorm_intro}" name="dorm_intro" cols="2"
maxlength="80" placeholder="请输入宿舍简介" required="required">
</td>
</tr>
<!-- 宿舍奖惩选择框 -->
@ -207,7 +210,8 @@
</form>
<script>
// 当点击id为"update-dorm"的元素时,执行以下函数
$("#update-dorm").click(function () {
$("#update-dorm").click(function ()
{
// 获取并去除输入框中id、dorm_id、dorm_intro、dorm_rps、dorm_leader和teacher的值的前后空格
var id = $("#id").val().trim();
var dorm_id = $("#dorm_id").val().trim();
@ -217,13 +221,16 @@
var teacher = $("#teacher").val().trim();
// 检查是否有任何一个字段为空如果有则弹出提示信息并返回false阻止后续代码执行
if (id.length == 0 || dorm_id.length == 0 || dorm_intro.length == 0 || dorm_rps.length == 0 || dorm_leader == 0 || teacher.length == 0) {
if (id.length == 0 || dorm_id.length == 0 || dorm_intro.length == 0 || dorm_rps.length == 0
|| dorm_leader == 0 || teacher.length == 0)
{
layer.msg('字段不能为空');
return false;
}
// 检查当前用户的权限是否小于1如果是则弹出提示信息并返回false阻止后续代码执行
if (${sessionScope.adminInfo.power < 1}) {
if (${sessionScope.adminInfo.power < 1})
{
layer.msg('权限不足');
return false;
}
@ -243,34 +250,51 @@
},
type: "POST", // 请求方式为POST
dataType: "json",// 预期服务器返回的数据类型为JSON
success:function(result){ // 请求成功时的回调函数参数result是服务器返回的数据
success:function(result)// 请求成功时的回调函数参数result是服务器返回的数据
{
//alert(result);
if(result){
if(result)
{
layer.msg('修改成功!');
// 根据用户权限不同,跳转到不同的页面
if (${sessionScope.adminInfo.power == 1}) {
if (${sessionScope.adminInfo.power == 1})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/look?uid=${sessionScope.adminInfo.uid}';},2000);
}
if (${sessionScope.adminInfo.power == 2}) {
if (${sessionScope.adminInfo.power == 2})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/byTeacher?uid=${sessionScope.adminInfo.uid}';},2000);
return flase;
}
if (${sessionScope.adminInfo.power > 2}) {
if (${sessionScope.adminInfo.power > 2})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/findAll';},2000);
}
}else {
}
else
{
// 如果服务器返回的结果为假(即修改失败)
layer.msg('修改失败,请联系管理员');
if (${sessionScope.adminInfo.power == 1}) {
if (${sessionScope.adminInfo.power == 1})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/look?uid=${sessionScope.adminInfo.uid}';},2000);
}
if (${sessionScope.adminInfo.power == 2}) {
if (${sessionScope.adminInfo.power == 2})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/byTeacher?uid=${sessionScope.adminInfo.uid}';},2000);
return flase;
}
if (${sessionScope.adminInfo.power > 2}) {
if (${sessionScope.adminInfo.power > 2})
{
setTimeout(function () {window.location.href='${pageContext.request.contextPath}/dorm/findAll';},2000);
}
}
}
});

Loading…
Cancel
Save