From 836f6b3bf7cdda81e3fa921ce92bfea9134b6756 Mon Sep 17 00:00:00 2001
From: pan <1029559041@qq.com>
Date: Wed, 15 Jul 2020 07:02:18 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=82=B9=E9=A4=90=E7=94=BB?=
=?UTF-8?q?=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 1 +
db/db1.sql | 86 +++++++
pom.xml | 22 ++
src/main/java/com/example/demo/Constants.java | 8 +
.../demo/controller/WebController.java | 129 +++++++++-
.../java/com/example/demo/model/CaiDan.java | 23 ++
.../java/com/example/demo/model/Diancan.java | 124 +++++++++
.../com/example/demo/model/DiancanForm.java | 96 +++++++
.../java/com/example/demo/model/Menu.java | 61 +++++
.../demo/repository/DiancanRespository.java | 9 +
.../demo/repository/MenuRepository.java | 18 ++
src/main/resources/application.yaml | 16 ++
.../static/css}/bootstrap.min.css | 0
src/main/resources/static/css/index.css | 18 ++
.../static/icon}/minus.svg | 0
.../static/icon}/plus.svg | 0
src/main/resources/static/icon/radio.svg | 1 +
.../resources/static/icon/radioactive.svg | 1 +
src/main/resources/templates/index.html | 109 ++++++++
src/main/resources/templates/order.html | 238 ++++++++++++++++++
src/main/webapp/META-INF/MANIFEST.MF | 9 +
src/main/webapp/edit.html | 10 -
src/main/webapp/index.css | 7 -
src/main/webapp/index.html | 122 +--------
src/main/webapp/order.html | 175 -------------
.../example/demo/DemoApplicationTests.java | 23 ++
26 files changed, 985 insertions(+), 321 deletions(-)
create mode 100644 db/db1.sql
create mode 100644 src/main/java/com/example/demo/Constants.java
create mode 100644 src/main/java/com/example/demo/model/CaiDan.java
create mode 100644 src/main/java/com/example/demo/model/Diancan.java
create mode 100644 src/main/java/com/example/demo/model/DiancanForm.java
create mode 100644 src/main/java/com/example/demo/model/Menu.java
create mode 100644 src/main/java/com/example/demo/repository/DiancanRespository.java
create mode 100644 src/main/java/com/example/demo/repository/MenuRepository.java
rename src/main/{webapp => resources/static/css}/bootstrap.min.css (100%)
create mode 100644 src/main/resources/static/css/index.css
rename src/main/{webapp => resources/static/icon}/minus.svg (100%)
rename src/main/{webapp => resources/static/icon}/plus.svg (100%)
create mode 100644 src/main/resources/static/icon/radio.svg
create mode 100644 src/main/resources/static/icon/radioactive.svg
create mode 100644 src/main/resources/templates/index.html
create mode 100644 src/main/resources/templates/order.html
create mode 100644 src/main/webapp/META-INF/MANIFEST.MF
delete mode 100644 src/main/webapp/edit.html
delete mode 100644 src/main/webapp/index.css
delete mode 100644 src/main/webapp/order.html
diff --git a/.gitignore b/.gitignore
index 549e00a..675b9c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,4 @@ build/
### VS Code ###
.vscode/
+/src/main/webapp/WEB-INF/classes/
diff --git a/db/db1.sql b/db/db1.sql
new file mode 100644
index 0000000..a59409b
--- /dev/null
+++ b/db/db1.sql
@@ -0,0 +1,86 @@
+-- MySQL dump 10.13 Distrib 8.0.20, for Linux (x86_64)
+--
+-- Host: localhost Database: dmmdb
+-- ------------------------------------------------------
+-- Server version 8.0.20
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!50503 SET NAMES utf8mb4 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `m_menu`
+--
+
+DROP TABLE IF EXISTS `m_menu`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `m_menu` (
+ `ID` char(3) NOT NULL,
+ `FENLEI` varchar(20) NOT NULL,
+ `PINMU` varchar(20) NOT NULL,
+ `CAILIAO` varchar(20) NOT NULL,
+ `JIAGE` int NOT NULL,
+ PRIMARY KEY (`ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `m_menu`
+--
+
+LOCK TABLES `m_menu` WRITE;
+/*!40000 ALTER TABLE `m_menu` DISABLE KEYS */;
+INSERT INTO `m_menu` VALUES ('001','正菜','肉类','牛肉',50),('002','正菜','肉类','猪肉',30),('003','正菜','肉类','鸡肉',20),('004','正菜','蔬菜','白菜',10),('005','正菜','蔬菜','黄瓜',10),('006','正菜','海鲜','大虾',40),('007','正菜','海鲜','黄鱼',40),('008','主食','米饭','白饭',3),('009','主食','米饭','炒饭',10),('010','主食','面条','凉拌',12),('011','主食','面条','打卤',15),('012','主食','水饺','素馅',15),('013','主食','水饺','肉馅',20),('014','酒水','白酒','茅台',1000),('015','酒水','白酒','郎酒',500),('016','酒水','啤酒','雪花',5),('017','酒水','啤酒','哈啤',6),('018','酒水','饮料','可乐',3),('019','酒水','饮料','雪碧',3);
+/*!40000 ALTER TABLE `m_menu` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `tbl_diancan`
+--
+
+DROP TABLE IF EXISTS `tbl_diancan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `tbl_diancan` (
+ `ZHUOHAO` char(11) NOT NULL,
+ `XINGMING` varchar(15) NOT NULL,
+ `YUDING` tinyint(1) NOT NULL,
+ `BIRTHDAY` datetime NOT NULL,
+ `RENSHU` int DEFAULT NULL,
+ `TEL` varchar(20) DEFAULT NULL,
+ `CAIPIN` varchar(100) DEFAULT NULL,
+ `ZHUSHI` varchar(100) DEFAULT NULL,
+ `JIUSHUI` varchar(100) DEFAULT NULL,
+ `JINE` int DEFAULT NULL,
+ `BEIZHU` varchar(200) DEFAULT NULL,
+ PRIMARY KEY (`ZHUOHAO`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `tbl_diancan`
+--
+
+LOCK TABLES `tbl_diancan` WRITE;
+/*!40000 ALTER TABLE `tbl_diancan` DISABLE KEYS */;
+/*!40000 ALTER TABLE `tbl_diancan` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2020-07-14 22:58:56
diff --git a/pom.xml b/pom.xml
index 632ac6f..a8d456e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,15 +15,34 @@
Demo project for Spring Boot
+ UTF-8
+ UTF-8
1.8
+
+
+ aliyunmaven
+ https://maven.aliyun.com/repository/public
+
+
+
org.springframework.boot
spring-boot-starter-web
+
+ org.springframework.boot
+ spring-boot-starter-thymeleaf
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
mysql
mysql-connector-java
@@ -47,6 +66,9 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ false
+
diff --git a/src/main/java/com/example/demo/Constants.java b/src/main/java/com/example/demo/Constants.java
new file mode 100644
index 0000000..a018030
--- /dev/null
+++ b/src/main/java/com/example/demo/Constants.java
@@ -0,0 +1,8 @@
+package com.example.demo;
+
+public class Constants {
+ public static final String SPAN_NAME = "span_name";
+ public static final String LIST = "list";
+ public static final String QUERY = "query";
+ public static final String FENLEI = "fenlei";
+}
diff --git a/src/main/java/com/example/demo/controller/WebController.java b/src/main/java/com/example/demo/controller/WebController.java
index a9376e4..cff1b03 100644
--- a/src/main/java/com/example/demo/controller/WebController.java
+++ b/src/main/java/com/example/demo/controller/WebController.java
@@ -1,17 +1,128 @@
package com.example.demo.controller;
-import com.example.demo.model.JsonResponse;
-import com.example.demo.model.Result;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.example.demo.Constants;
+import com.example.demo.model.Diancan;
+import com.example.demo.model.DiancanForm;
+import com.example.demo.model.Menu;
+import com.example.demo.repository.DiancanRespository;
+import com.example.demo.repository.MenuRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
-@RestController
+import javax.persistence.criteria.Predicate;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+@Controller
@RequestMapping("/api")
public class WebController {
- @GetMapping("/hello")
- public JsonResponse result(){
- return new JsonResponse<>(Result.OK, "hello");
+ @Autowired
+ private MenuRepository menuRepository;
+
+ @Autowired
+ private DiancanRespository diancanRespository;
+
+ @RequestMapping("/index")
+ public String index(Model model,Diancan diancan){
+ List diancans= diancanRespository.findAll((root,query,cb)->{
+ List predicates = new ArrayList<>();
+ if(!StringUtils.isEmpty(diancan.getZhuohao())){
+ predicates.add(cb.like(root.get("zhuohao"),"%"+diancan.getZhuohao()+"%"));
+ }
+ if(!StringUtils.isEmpty(diancan.getXingming())){
+ predicates.add(cb.like(root.get("xingming"),"%"+diancan.getXingming()+"%"));
+ }
+ if(!StringUtils.isEmpty(diancan.getTel())){
+ predicates.add(cb.equal(root.get("tel"),diancan.getTel()));
+ }
+ if(diancan.getYuding()!=null){
+ predicates.add(cb.equal(root.get("yuding"),diancan.getYuding()));
+ }
+ return query.where(predicates.toArray(new Predicate[0])).getRestriction();
+ });
+ model.addAttribute(Constants.LIST,diancans);
+ if(diancan.getYuding()==null){
+ diancan.setYuding(true);
+ }
+ model.addAttribute(Constants.QUERY,diancan);
+ return "index";
+ }
+
+ @RequestMapping("/order/del/{id}")
+ public void del(Model model, @PathVariable String id, HttpServletResponse response) throws IOException {
+ diancanRespository.deleteById(id);
+ response.sendRedirect("/api/index");
+ }
+
+ @GetMapping("/order")
+ public String getOrder(Model model){
+ model.addAttribute(Constants.SPAN_NAME,"点餐画面");
+ model.addAttribute(Constants.FENLEI,menuRepository.getFenlei());
+ return "order";
+ }
+
+ @PostMapping("/order")
+ public void postOrder(Model model, HttpServletResponse response, DiancanForm diancanForm) throws IOException {
+ response.sendRedirect("/api/index");
+ }
+
+ @GetMapping("/order/{id}")
+ public String getEditOrder(Model model,@PathVariable String id){
+ model.addAttribute(Constants.SPAN_NAME,"修改画面");
+ return "order";
+ }
+
+ @PostMapping("/order/{id}")
+ public void postEditOrder(Model model,@PathVariable String id,HttpServletResponse response) throws IOException {
+ response.sendRedirect("/api/index");
+ }
+
+ @GetMapping("/order/detail/{id}")
+ public String getDetailOrder(Model model,@PathVariable String id){
+ model.addAttribute(Constants.SPAN_NAME,"详细画面");
+ return "order";
+ }
+
+ @GetMapping("/order/pay/{id}")
+ public String getPayOrder(Model model,@PathVariable String id){
+ model.addAttribute(Constants.SPAN_NAME,"支付画面");
+ return "order";
+ }
+
+ @GetMapping(path = "/getPinMu",produces = {"application/json;charset=UTF-8"})
+ @ResponseBody
+ public List getPinMu(Menu menu){
+ if( !StringUtils.isEmpty(menu.getFenlei())){
+ return menuRepository.getPinmuByFenlei(menu.getFenlei());
+ }else{
+ return new ArrayList<>();
+ }
+ }
+
+ @GetMapping(path = "/getMenu",produces = {"application/json;charset=UTF-8"})
+ @ResponseBody
+ public List