ssm蜀都天香酒樓的網站設計與實現028
?開發工具:idea?
?數據庫mysql5.7+
?數據庫鏈接工具:navcat,小海豚等
? 技術:ssm?
摘要
近年來,信息化管理行業的不斷興起,使得人們的日常生活越來越離不開計算機和互聯網技術。首先,根據收集到的用戶需求分析,對設計系統有一個初步的認識與了解,確定蜀都天香酒樓管理系統的總體功能模塊。然后,詳細設計系統的主要功能模塊,通過數據庫設計過程將相關的數據信息存儲到數據庫中,再通過使用關鍵的開發工具,如MyEclipse開發平臺、JSP技術等,編碼設計相關的功能模塊。接著,主要采用功能測試的方式對系統進行測試,找出系統在運行過程中存在的問題,以及解決問題的方法,不斷地改進和完善系統的設計。最后,總結本文介紹的系統的設計和實現過程,并且針對于系統的開發提出未來的展望工作。本系統的研發具有重大的意義,在安全性方面,用戶使用瀏覽器訪問網站時,采用注冊和密碼等相關的保護措施,提高系統的可靠性,維護用戶的個人信息和財產的安全。在方便性方面,促進了酒樓管理行業的信息化建設,極大的方便了相關的工作人員對酒樓信息進行管理。
關鍵詞:酒樓管理;Java語言;B/S模式;JSP技術;系統測試
目 ?錄
摘要
Abstract
目 ?錄
1緒論
1.1研究背景與意義
1.2國內外研究現狀
1.3研究內容
1.4論文結構
2相關技術介紹
2.1 B/S模式
2.2 MyEclipse開發環境
2.3 MySQL數據庫
2.4 Java語言
2.5 JSP技術
2.6 Tomcat服務器
3系統分析
3.1需求分析
3.2可行性分析
3.2.1經濟可行性
3.2.2技術可行性
3.2.3操作可行性
3.3 用例建模分析
4系統設計
4.1系統功能設計
4.2數據庫設計
4.2.1概念設計
4.2.2邏輯設計
5系統實現
5.1管理員功能模塊實現
5.1.1管理員登錄
5.1.2用戶管理
5.1.3類型管理
5.1.4菜品管理
5.1.5包間管理
5.1.6系統管理
5.2用戶功能模塊實現
5.2.1系統首頁
5.2.2包間預定
5.2.3菜品信息
5.2.4個人中心
6系統測試
6.1測試概述
6.2測試結果
7總結與展望
參考文獻
致謝
研究背景與意義
信息化管理模式是將行業中的工作流程由人工服務,逐漸轉換為使用計算機技術的信息化管理服務。這種管理模式發展迅速,使用起來非常簡單容易,用戶甚至不用掌握相關的專業知識,根據教程指導即可正常使用相關的系統,因而被越來越多的用戶所使用。由于相關行業管理信息化,這就使得管理工作不在受到時間和區域的限制,隨時隨地即可完成相關的工作任務和結果[1]。就目前而言,管理信息化在現代社會中非常流行,使用比較廣泛。早在20世紀70年代末,就出現了早期的電子商務,相關的公司企業使用計算機建立專用的內部網絡,通過內部網絡完成相應的采購、銷售等活動,加快相關的企業之間的交易速度,提高了工作效率[2]。
當下,許多行業采用互聯網技術將工作流程信息化、數字化,提高了相關人員的服務質量和效率,節約了相關行業的人力、財力、物力等資源,與此同時,人們獲取外界的相關信息主要依賴于主流的信息化技術和工具。人們對生活的需求也在不斷的發生著變化,為了應對用戶的多樣化需求,許多相關的第三產業應運而生,管理信息化也逐漸的流行起來,比如電子商務行業。本人通過查詢大量學習資料,了解基本的開發系統的基本背景和關鍵任務,學習與掌握Java語言、web技術、JSP技術、HTML語言等開發技術,設計系統功能模塊,以及MySQL數據庫的相關語法和工具,創建和存儲數據表格,反映和關聯表格之間相互存在的關系,由此對蜀都天香酒樓管理系統進行研發和實現。
package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.BisaixiangmuEntity;
import com.entity.view.BisaixiangmuView;import com.service.BisaixiangmuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 比賽項目* 后端接口* @author * @email * @date 2023-03-20 08:05:26*/
@RestController
@RequestMapping("/bisaixiangmu")
public class BisaixiangmuController {@Autowiredprivate BisaixiangmuService bisaixiangmuService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){EntityWrapper<BisaixiangmuEntity> ew = new EntityWrapper<BisaixiangmuEntity>();PageUtils page = bisaixiangmuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bisaixiangmu), params), params));request.setAttribute("data", page);return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){EntityWrapper<BisaixiangmuEntity> ew = new EntityWrapper<BisaixiangmuEntity>();PageUtils page = bisaixiangmuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bisaixiangmu), params), params));request.setAttribute("data", page);return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( BisaixiangmuEntity bisaixiangmu){EntityWrapper<BisaixiangmuEntity> ew = new EntityWrapper<BisaixiangmuEntity>();ew.allEq(MPUtil.allEQMapPre( bisaixiangmu, "bisaixiangmu")); return R.ok().put("data", bisaixiangmuService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(BisaixiangmuEntity bisaixiangmu){EntityWrapper< BisaixiangmuEntity> ew = new EntityWrapper< BisaixiangmuEntity>();ew.allEq(MPUtil.allEQMapPre( bisaixiangmu, "bisaixiangmu")); BisaixiangmuView bisaixiangmuView = bisaixiangmuService.selectView(ew);return R.ok("查詢比賽項目成功").put("data", bisaixiangmuView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){BisaixiangmuEntity bisaixiangmu = bisaixiangmuService.selectById(id);return R.ok().put("data", bisaixiangmu);}/*** 前端詳情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){BisaixiangmuEntity bisaixiangmu = bisaixiangmuService.selectById(id);return R.ok().put("data", bisaixiangmu);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){bisaixiangmu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bisaixiangmu);bisaixiangmuService.insert(bisaixiangmu);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){bisaixiangmu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bisaixiangmu);bisaixiangmuService.insert(bisaixiangmu);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BisaixiangmuEntity bisaixiangmu, HttpServletRequest request){//ValidatorUtils.validateEntity(bisaixiangmu);bisaixiangmuService.updateById(bisaixiangmu);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){bisaixiangmuService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<BisaixiangmuEntity> wrapper = new EntityWrapper<BisaixiangmuEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = bisaixiangmuService.selectCount(wrapper);return R.ok().put("count", count);}}