基于javaweb的点餐系统(java+springboot+ssm+mysql)

基于javaweb的点餐系统(java+springboot+ssm+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220519192403

20220519192405

20220519192407

20220519192409

基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)

一、项目简述

功能:数据库采用mysq昨为数据存储,系统中涉及到的关 键表有,用户表、用户详情表、商品表、订单表、商品订 单关联表、评价表等等。本系统分为前端和后端,前端功 能有:登录注册、修改个人信息、修改收货地址、查看商 品、加购商品、结算商品,对订单进行评价、用户留言等 功能;后端功能有:登录、商品管理、用户管理、订单管 理、留言公告管理等功能。本系统中的购物车功能设计、io流读写图片存放本地、订单导出、“echarts插件实现订单信 息统计、后台批量操作、pagehelper实现分页等细节值得 学习。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Springboot+ SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + Layui+ maven等等。

管理员控制层:

/**

  • 管理员控制层

*/

@Controller

public class Back_AdminController {

@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

@GetMapping(“/admin/toMemberList”)

public String toMemberList(Model model){

List allUser = userService.findAllUser();

List roleList = roleService.findRoleList();

model.addAttribute(“userList”,allUser);

model.addAttribute(“roleList”, roleList);

return “/admin/member/member_list”;

/**

  • @param session 前台传过来的管理员的session,里面存有user对象

*/

@GetMapping(“/admin/personalInfo”)

public String findUserByUserId(HttpSession session, Model model){

Integer userId = ((User) session.getAttribute(“user”)).getId();

User user = userService.findUserInfo(userId);

model.addAttribute(“user”, user);

return “/admin/member/personal_info”;

@PostMapping(“/admin/updateAdmin”)

public String updateUser(User user) {

userService.updateUser(user);

return “redirect:/personal_info”;

@GetMapping(“/admin/updateAdminById”)

public String updateUserById(User user) {

userService.updateUserById(user);

return “redirect:/personal_info”;

/*

@RequestMapping(“/admin/check”)

@ResponseBody

public String checkPassowrd(User user, String npassword){

// String password = userService.findUserByUserId(user.getUserId()).getPassword();

if(user.getPassword().equals(password)){

user.setPassword(npassword);

userService.updateUserPassword(user);

return “true”;

}else{

return “false”;

}//

return “false”;

}*/

@RequestMapping(“/addAdmin”)

public String addAdmin(User user) {

userService.addUser(user);

return “redirect:/admin/toMemberList”;

@RequestMapping(“/deleteAdmins”)

public String deleteAdmins(@RequestParam(“userId”) String[] userIds){

userService.deleteAdminsById(userIds);

return “redirect:/admin/toMemberList”;

@RequestMapping(“/admin/selectUser”)

public String selectUser(String userName, Model model){

List dbUserList = userService.findUserByUsername(userName);

model.addAttribute(“userList”, dbUserList);

return “/admin/member/member_list”;

@PostMapping(“/admin/stopStatus”)

public void stopState(String userId) {

int status = 0;

userService.updateUserStatus(userId, status);

@PostMapping(“/admin/startStatus”)

public void startState(String userId) {

int status = 1;

userService.updateUserStatus(userId, status);

@RequestMapping(“/admin/deleteUserById”)

public void deleteUserById(String userId) {

userService.deleteUserById(userId);

@RequestMapping(“/adminCompetence”)

public String adminCompetence(Model model) {

List userList = userService.findAdminList();

String pRoleName = “”;

String sRoleName = “”;

int pCount = 0;

int sCount = 0;

for(User user : userList){

/* if(“超级管理员”.equals(user.getRole().getRoleName())){

sRoleName = sRoleName + " " + user.getUsername();

sCount = sCount + 1;

}else{

pRoleName = pRoleName + " " + user.getUsername();

pCount = pCount + 1;

}*/

model.addAttribute(“pRoleName”, pRoleName);

model.addAttribute(“pCount”, pCount);

model.addAttribute(“sRoleName” , sRoleName);

model.addAttribute(“sCount”, sCount);

return “/admin/member/admin_competence”;

后台登录系统控制层:

/**

  • 后台登录系统控制层

*/

@Controller

public class Back_HomeController {

@Autowired

private UserMapper userMapper;

@Autowired

private LeaveMapper leaveMapper;

/**

  • 去后台登录系统

*/

@RequestMapping(“/admin/index”)

public String adminLogin() {

return “/admin/common/login”;

@PostMapping(“/admin/backLogin”)

public String backLogin(User user, Model model){

User dbUser = userMapper.findUserByU_P(user.getUserName(),user.getPassword());

//1-如果登录账号不存在 直接返回

if(dbUser == null){

model.addAttribute(“errorInfo”,“用户名或密码错误~~”);

return “/admin/common/login”;

//2-如果登录账号存在 判断是否为管理员身份

if(dbUser.getRoleId() == 1){

Subject subject = SecurityUtils.getSubject();

//2-1-查询未读的留言

List messageList = leaveMapper.findAllLeaveList()

.stream().filter(leave -> leave.getStatus() == 0).collect(Collectors.toList());

model.addAttribute(“messageNum”,messageList.size());

subject.getSession().setAttribute(“user”,dbUser);

return “/admin/common/index”;

//3-如果不是管理员 返回登录界面

model.addAttribute(“errorInfo”,“非管理员不能登录后台管理系统~~”);

return “/admin/common/login”;

@RequestMapping(“/admin/home”)

public String home() {

//跳转回用户列表页面

return “/admin/common/home”;

@RequestMapping(“/brandManage”)

public String brandManage() {

return “/admin/Brand_Manage”;

@RequestMapping(“toProduct_category_add”)

public String toProduct_category_add(){

return “/admin/product-category-add”;

@RequestMapping(“/advertising”)

public String advertising() {

return “/admin/advertising”;

@RequestMapping(“/admin/transaction”)

public String transaction() {

return “/admin/order/transaction”;

@RequestMapping(“/amounts”)

public String amounts() {

return “/admin/Amounts”;

@RequestMapping(“/orderHandling”)

public String orderHandling() {

return “/admin/Order_handling”;

@RequestMapping(“/coverManagement”)

public String coverManagement() {

return “/admin/Cover_management”;

@RequestMapping(“/userList”)

public String userList() {

return “/admin/user_list”;

@RequestMapping(“/memberGrading”)

public String memberGrading() {

return “/admin/member-Grading”;

@RequestMapping(“/integration”)

public String integration() {

return “/admin/integration”;

@RequestMapping(“/feedBack”)

public String feedBack() {

return “/admin/Feedback”;

@RequestMapping(“/systems”)

public String systems() {

return “/admin/Systems”;

/* @RequestMapping(“/menuManage”)

public String menuManage() {

return “/admin/test”;

}*/

@RequestMapping(“/userManage”)

public String userManage() {

return “/admin/test”;

/* */

@RequestMapping(“/systemSet”)

public String systemSet() {

return “/admin/Systems”;

后台订单相关controller:

/**

  • 后台订单相关controller

*/

@Controller

public class Back_OrderController {

@Autowired

private OrderService orderService;

@Autowired

private UserService userService;

@Autowired

private EvaService evaService;

/**

  • 跳转到订单详情页面–并展示订单详情

  • @return

*/

@RequestMapping(“/admin/toOrderList”)

public String orderForm(@RequestParam(required = true, defaultValue = “1”) Integer page, Model model) {

PageHelper.startPage(page, 5);

List orderAll = orderService.findOrderAll();

model.addAttribute(“order”,orderAll);

PageInfo pageInfo = new PageInfo<>(orderAll);

model.addAttribute(“page”, pageInfo);

return “/admin/order/order_list”;

@RequestMapping(“/admin/deleteOrder”)

public String deleteOrder(String orderId){

orderService.deleteOrder(orderId);

return “redirect:/admin/toOrderList”;

/**

  • 修改后台订单状态

  • @param orderId

  • @param orderStatus

  • @return

*/

@RequestMapping(“/admin/updateAdminOrderStatus”)

public String updateAdminOrderStatus(String orderId,Integer orderStatus){

orderService.updateOrderStatus(orderStatus,orderId);

return “redirect:/admin/toOrderList”;

/**

  • 跳转到回复评论界面

  • @param orderId

  • @param model

  • @return

*/

@RequestMapping(“/admin/toAnsEva”)

public String toAnsEva(String orderId,Model model){

Evaluate evaluate = evaService.findEvaListByOrderId(orderId);

model.addAttribute(“evaluate”,evaluate);

return “/admin/adminAnsEva”;

@RequestMapping(“/admin/ansEva”)

public String ansEva(String orderId,String ansContent,Integer orderStatus){

evaService.saveAnsEva(orderId,ansContent);

orderService.updateOrderStatus(orderStatus,orderId);

return “redirect:/admin/toOrderList”;

//跳转到订单详情页面

@RequestMapping(“/admin/orderDetailed”)

public String orderDetailed(String orderId,Model model){

Order order = orderService.findListByOrderId(orderId);

model.addAttribute(“order”,order);

return “/admin/order/order_detailed”;

/**

  • 根据订单状态查询订单

*/

@RequestMapping(“/admin/searchOrderList”)

public String searchOrderList(Integer status,Model model){

List orderList = orderService.findOrderByStatus(status);

model.addAttribute(“orderList”,orderList);

return “/admin/toOrderList”;

/*

  • 导出到excel

  • @return

*/

@RequestMapping(“/admin/downloadInfoToExcel”)

public ModelAndView downloadInfoToExcel() {

System.out.println(“导出到excel”);

ModelAndView mv = new ModelAndView();

try {

//1-根据id数组获取数据库数据

List dataList = getExcelDataList();

//2-获取列标题和封装数据

Map<String, Object> dataMap = getTitleArrayAndVarList(dataList);

//3-获取Excel表格文件名和表格标题

Map<String, String> excelMap = getExcelTitleAndFileName();

//4-创建AbstractExcelView

AbstractExcelView erv = getAbstractExcelView(excelMap);

//ObjectExcelViewOrderOperation erv = new ObjectExcelViewOrderOperation(excelMap.get(“fileName”),excelMap.get(“excelTitle”));

mv = new ModelAndView(erv, dataMap);

} catch (Exception e) {

e.printStackTrace();

return mv;

/**

*@描述 1-1-从数据库获取数据

*/

protected List getExcelDataList(){

try {

List dataList = orderService.find4ExcelDown();

return dataList;

} catch (Exception e) {

e.printStackTrace();

return null;

/**

*@描述 1-2-导出Excel-自定义列标题和数据

*/

protected Map<String,Object> getTitleArrayAndVarList(List dataList) {

Map<String,Object> dataMap = new HashMap<String,Object>();

//1-标题

String[] titleArray = {

“订单序号”,

“订单编号”,

“订单金额”,

“收货人”,

“收获地址”,

“下单时间”,

“订单状态”

};

dataMap.put(“titles”, Arrays.asList(titleArray));

//2-数据

List varList = new ArrayList();

for(int i=0;i<dataList.size();i++){

OrderExcelExportVO data = (OrderExcelExportVO)dataList.get(i);

List vpd = new ArrayList<>();

varList.add(data);

dataMap.put(“varList”, varList);

return dataMap;

/**

*@描述 1-3-导出excel-自定义Excel标题和文件名

*/

protected Map<String,String> getExcelTitleAndFileName(){

Map<String,String> excelMap = new HashMap<String,String>();

excelMap.put(“excelTitle”,“订单信息表格”);//excel标题

DateFormat sdf = new SimpleDateFormat(“yyyyMMdd”);

String time = sdf.format(new Timestamp(System.currentTimeMillis()));

excelMap.put(“fileName”,“订单信息表格” + time);//文件名

return excelMap;

/**

*@描述 1-4-创建AbstractExcelView

*/

protected AbstractExcelView getAbstractExcelView(Map<String, String> excelMap){

try {

ObjectExcelViewOrder erv = new ObjectExcelViewOrder(excelMap.get(“fileName”),excelMap.get(“excelTitle”));

return erv;

} catch (Exception e) {

e.printStackTrace();

return null;


  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值