管理员功能
(1)、增删改查教材
(2)、教材商
(3)、入库教材
(4)、管理用户(用户包括学生和教师)
可以对教材商、教材进行excel的导入导出操作。
教师端功能
(1)、领取入库的教材
(1)、退还教材
学生端功能
(1)、领取教材
只能在对应的教师那里领取教材
(2)、已领教材付款
(3)、查询自己已经领取的教材
部分功能介绍
管理员账户信息
管理员用户密码修改
管理员用户信息搜索
管理员教材录入
管理员供货商
管理员教材入库
老师端领取教材
老师端查询教材
篇幅所限,就不在一一叙说具体单个功能模块了
核心代码实现:
package com.dev.books.controller;
import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
import com.alibaba.fastjson.JSON;
import com.dev.books.pojo.Book;
import com.dev.books.pojo.Supplier;
import com.dev.books.service.BookService;
import com.dev.books.service.SupplierService;
import com.dev.books.util.Layui;
import com.dev.books.util.POIUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class BookController {
@Autowired
BookService bookService;
/*
将表格中的数据插入到
*/
@ResponseBody
@RequestMapping(“/book/insertData”)
public Object supplierImportExcel(@RequestParam(“file”) MultipartFile file){
int n= 0;
//long s = file.getSize();
Map<String,Object> map = new HashMap<>();
Map<String, Object> result = new HashMap<String, Object>();
List book = POIUtil.importExcel(file,Book.class);
System.out.println(book);
//List supplier2 = supplierService.findAllSupplier();
//supplier1.addAll(supplier2);
for(int i=0;i<book.size();i++){
map.put(“id”,book.get(i).getId());
map.put(“book_name”,book.get(i).getBook_name());
map.put(“book_kind”,book.get(i).getBook_kind());
map.put(“book_price”,book.get(i).getBook_price());
map.put(“qs_name”,book.get(i).getQs_name());
n = bookService.addBook(map);
}
System.out.println(“map:”+map);
if(n>0){
result.put(“code”, 0);
result.put(“message”, “success”);
result.put(“data”, file.getOriginalFilename());
}else{
result.put(“code”, -1);
result.put(“message”, “failure”);
result.put(“data”, file.getOriginalFilename());
}
return result;
}
@ResponseBody
@RequestMapping(value = “/book/getAllBookByPage”,produces=“application/json;charset=UTF-8”)
public String getAllBookByPage(@RequestParam(“limit”) String limit, @RequestParam(“page”) String page){
int start = (Integer.parseInt(page) - 1)*Integer.parseInt(limit);
int pageSize = Integer.parseInt(limit);
List books = bookService.findAllBookByPages(start,pageSize);
List allData = bookService.findAllBook();
Layui l = Layui.data(allData.size(), books);
return JSON.toJSONString(l);
}
@ResponseBody
@RequestMapping(value = “/book/getAllBook”,produces=“application/json;charset=UTF-8”)
public String getAllBook(){
List allData = bookService.findAllBook();
Layui l = Layui.data(allData.size(), allData);
return JSON.toJSONString(l);
}
@ResponseBody
@RequestMapping(value = “/book/findAllBookKind”,produces=“application/json;charset=UTF-8”)
public String findAllBookKind(){
List allKinds = bookService.findAllBookKind();
return JSON.toJSONString(allKinds);
}
@RequestMapping(“/book/exportData”)
public String exportData(HttpServletResponse response){
List books = bookService.findAllBook();
POIUtil.exportExcel(books,Book.class,“书籍基本信息”,“”,response);
return NormalExcelConstants.EASYPOI_EXCEL_VIEW;//需要配置新的视图解析器并设置优先级和扫描
}
@ResponseBody
@RequestMapping(value = “/updateBookById”)
public String updateBookById(@RequestBody Map map){
int n = bookService.updateBookById(map);
if(n>0){
return “success”;
}
return “failure”;
}
@ResponseBody
@RequestMapping(value = “/deleteBookById”)
public String deleteBookById(@RequestParam(“book_id”)String book_id){
int n = bookService.deleteBookById(book_id);
if(n>0){
return “success”;
}
return “failure”;
}
@ResponseBody
@RequestMapping(value = “/findAllBookByBookName”,produces=“application/json;charset=UTF-8”)
public String findAllBookByBookName(@RequestParam(“key[book_name]”)String book_name){
List books = bookService.findAllBookByBookName(book_name);
Layui l = Layui.data(books.size(), books);
return JSON.toJSONString(l);
}
@ResponseBody
@RequestMapping(value = “/findBookNameByQsName”,produces=“application/json;charset=UTF-8”)
public String findBookNameByQsName(@RequestParam(“qs_name”)String qs_name){
List book_names = bookService.findBookNameByQsName(qs_name);
return JSON.toJSONString(book_names);
}
}
package com.dev.books.controller;
import com.alibaba.fastjson.JSON;
import com.dev.books.pojo.Profession;
import com.dev.books.pojo.User;
import com.dev.books.service.UserService;
import com.dev.books.util.Layui;
import com.dev.books.util.RandNum;
import com.wordnik.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class UserController {
@Autowired
UserService userService;
private final Logger log = LoggerFactory.getLogger(UserController.class);
@ResponseBody
@RequestMapping(value = “/userLogin”)
@ApiOperation(value = “根据用户名获取用户对象”, httpMethod = “GET”, response = User.class, notes = “根据用户名获取用户对象”)
public String userLogin(String account, String password, HttpServletRequest request ){
HttpSession session = request.getSession(true);//新建session对象
User user = userService.findOneUser(account,password);
session.setAttribute(“user”,user);
if(user!=null){
return “success”;
}
return “fail”;
}
@ResponseBody
@RequestMapping(value = “/getAllUser”,produces=“application/json;charset=UTF-8”)
public String getAllUser(@RequestParam(“limit”) String limit, @RequestParam(“page”) String page
){
//System.out.println(“bjshbd”);
//int error = 1/0;
int start = (Integer.parseInt(page) - 1)*Integer.parseInt(limit);
int pageSize = Integer.parseInt(limit);
Listlist = userService.findAllUsersByPage(start,pageSize);
ListallData = userService.findAllUsers();
System.out.println(list);
Layui l = Layui.data(allData.size(), list);
String result = JSON.toJSONString(l);
System.out.println(result);
return result;
}
@ResponseBody
@RequestMapping(value = “/getUserInfo”,produces=“application/json;charset=UTF-8”,method =RequestMethod.POST )
public String getUserInfo(@RequestParam(“limit”) String limit, @RequestParam(“page”) String page,
@RequestParam(“key[college_data]”) String college_data,
@RequestParam(“key[profession_data]”) String profession_data,
@RequestParam(“key[grade_data]”) String grade_data,
@RequestParam(“key[cclass_data]”) String cclass_data
){
System.out.println(“profession_data:”+profession_data);
Listlist = userService.findUserByCondictions(college_data,profession_data,grade_data,cclass_data);
Layui l = Layui.data(list.size(), list);
return JSON.toJSONString(l);
}
@ResponseBody
@RequestMapping(value = “/updateUserInfo” )
public String updateUserInfo(@RequestBody Map map,HttpServletRequest request){
HttpSession session = request.getSession(true);//新建session对象
User user = (User) session.getAttribute(“user”); //将对应数据存入session中
String id = user.getId();
map.put(“id”,id);
int n = userService.updateUserInfo(map);
if(n>0){
return “success”;
}
return “failure”;
}
@ResponseBody
@RequestMapping(value = “/updateUserPwd” )
public String updateUserPwd(@RequestBody Map map,HttpServletRequest request){
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
r"); //将对应数据存入session中
String id = user.getId();
map.put(“id”,id);
int n = userService.updateUserInfo(map);
if(n>0){
return “success”;
}
return “failure”;
}
@ResponseBody
@RequestMapping(value = “/updateUserPwd” )
public String updateUserPwd(@RequestBody Map map,HttpServletRequest request){
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
[外链图片转存中…(img-aDWO6Hmp-1721190792228)]