From 438bf4cf48df558e301a3eb352032fbe473b1fc6 Mon Sep 17 00:00:00 2001 From: pan <1029559041@qq.com> Date: Wed, 15 Jul 2020 08:18:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E9=A4=90=E7=94=BB=E9=9D=A2=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E6=8E=A5=E5=8F=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/WebController.java | 36 +++++++++++-- .../java/com/example/demo/model/Diancan.java | 31 ------------ .../com/example/demo/model/DiancanDetail.java | 50 +++++++++++++++++++ .../repository/DiancanDetailRespository.java | 8 +++ src/main/resources/templates/index.html | 20 ++++---- src/main/resources/templates/order.html | 9 ++-- 6 files changed, 106 insertions(+), 48 deletions(-) create mode 100644 src/main/java/com/example/demo/model/DiancanDetail.java create mode 100644 src/main/java/com/example/demo/repository/DiancanDetailRespository.java diff --git a/src/main/java/com/example/demo/controller/WebController.java b/src/main/java/com/example/demo/controller/WebController.java index cff1b03..fc6e09f 100644 --- a/src/main/java/com/example/demo/controller/WebController.java +++ b/src/main/java/com/example/demo/controller/WebController.java @@ -1,9 +1,8 @@ package com.example.demo.controller; 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.model.*; +import com.example.demo.repository.DiancanDetailRespository; import com.example.demo.repository.DiancanRespository; import com.example.demo.repository.MenuRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -14,8 +13,12 @@ import org.springframework.web.bind.annotation.*; import javax.persistence.criteria.Predicate; import javax.servlet.http.HttpServletResponse; +import javax.transaction.Transactional; import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Controller @@ -28,6 +31,9 @@ public class WebController { @Autowired private DiancanRespository diancanRespository; + @Autowired + private DiancanDetailRespository diancanDetailRespository; + @RequestMapping("/index") public String index(Model model,Diancan diancan){ List diancans= diancanRespository.findAll((root,query,cb)->{ @@ -55,8 +61,10 @@ public class WebController { } @RequestMapping("/order/del/{id}") + @Transactional public void del(Model model, @PathVariable String id, HttpServletResponse response) throws IOException { diancanRespository.deleteById(id); + diancanDetailRespository.deleteByZhuohao(id); response.sendRedirect("/api/index"); } @@ -68,7 +76,27 @@ public class WebController { } @PostMapping("/order") - public void postOrder(Model model, HttpServletResponse response, DiancanForm diancanForm) throws IOException { + public void postOrder(Model model, HttpServletResponse response, DiancanForm diancanForm) throws IOException, ParseException { + Diancan diancan=new Diancan(); + diancan.setZhuohao(diancanForm.getZhuohao()); + diancan.setXingming(diancanForm.getXingming()); + diancan.setYuding(true); + if("2".equals(diancanForm.getBirthday())&&!StringUtils.isEmpty(diancanForm.getShijian())) { + Date date= new SimpleDateFormat("yyyyMMdd HHmm").parse(diancanForm.getShijian()); + diancan.setBirthday(date); + } + diancan.setRenshu(diancanForm.getRenshu()); + diancan.setTel(diancanForm.getTel()); + diancan.setJine(diancanForm.getJine()); + diancan.setBeizhu(diancanForm.getBeizhu()); + diancanRespository.save(diancan); + for (CaiDan caiDan:diancanForm.getDiancans()){ + DiancanDetail diancanDetail=new DiancanDetail(); + diancanDetail.setZhuohao(diancan.getZhuohao()); + diancanDetail.setSum(caiDan.getSum()); + diancanDetail.setMenuId(caiDan.getCailiao()); + diancanDetailRespository.save(diancanDetail); + } response.sendRedirect("/api/index"); } diff --git a/src/main/java/com/example/demo/model/Diancan.java b/src/main/java/com/example/demo/model/Diancan.java index 7f1c288..3c6582e 100644 --- a/src/main/java/com/example/demo/model/Diancan.java +++ b/src/main/java/com/example/demo/model/Diancan.java @@ -17,19 +17,12 @@ public class Diancan { @Column(nullable = false) private Boolean yuding; - @Column(nullable = false) private Date birthday; private Integer renshu; private String tel; - private String caipin; - - private String zhushi; - - private String jiushui; - private Integer jine; private String beizhu; @@ -82,30 +75,6 @@ public class Diancan { this.tel = tel; } - public String getCaipin() { - return caipin; - } - - public void setCaipin(String caipin) { - this.caipin = caipin; - } - - public String getZhushi() { - return zhushi; - } - - public void setZhushi(String zhushi) { - this.zhushi = zhushi; - } - - public String getJiushui() { - return jiushui; - } - - public void setJiushui(String jiushui) { - this.jiushui = jiushui; - } - public Integer getJine() { return jine; } diff --git a/src/main/java/com/example/demo/model/DiancanDetail.java b/src/main/java/com/example/demo/model/DiancanDetail.java new file mode 100644 index 0000000..0be1c0a --- /dev/null +++ b/src/main/java/com/example/demo/model/DiancanDetail.java @@ -0,0 +1,50 @@ +package com.example.demo.model; + +import javax.persistence.*; + +@Entity(name = "diancan_detail") +public class DiancanDetail { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String zhuohao; + + @Column(name = "menu_id") + private String menuId; + + private String sum; + + public String getMenuId() { + return menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getSum() { + return sum; + } + + public void setSum(String sum) { + this.sum = sum; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getZhuohao() { + return zhuohao; + } + + public void setZhuohao(String zhuohao) { + this.zhuohao = zhuohao; + } +} diff --git a/src/main/java/com/example/demo/repository/DiancanDetailRespository.java b/src/main/java/com/example/demo/repository/DiancanDetailRespository.java new file mode 100644 index 0000000..8b1f93a --- /dev/null +++ b/src/main/java/com/example/demo/repository/DiancanDetailRespository.java @@ -0,0 +1,8 @@ +package com.example.demo.repository; + +import com.example.demo.model.DiancanDetail; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface DiancanDetailRespository extends JpaRepository { + int deleteByZhuohao(String zhuohao); +} diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 97dd2aa..82d865c 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -77,16 +77,16 @@ - - - ${item.zhuohao} - ${item.xingming} + + + + - ${item.tel} - ${item.birthday} - ${item.renshu} + + + 修改 @@ -94,9 +94,9 @@ 删除 - - ${item.zhuohao} - ${item.renshu} + + + 点餐 diff --git a/src/main/resources/templates/order.html b/src/main/resources/templates/order.html index 47a1c61..e0f28af 100644 --- a/src/main/resources/templates/order.html +++ b/src/main/resources/templates/order.html @@ -43,7 +43,7 @@ - ` + ` } function plus(s) { @@ -127,8 +127,9 @@ function hasYuding(zhuohao) { fetch(new Request(`/api/hasYuding?zhuohao=${zhuohao.value}`)).then(res=>res.json()).then(res=>{ if(res){ - alert(`桌号${zhuohao.value}已预定!`) - zhuohao.value='' + zhuohao.classList.add("is-invalid") + }else{ + zhuohao.classList.remove("is-invalid") } }) } @@ -156,6 +157,8 @@ 桌号 +
桌号已预定
+
客人姓名