caoyiwen 1 year ago
parent
commit
7312e669bd
  1. 4
      diet-core/src/main/java/com/mathvision/diet/service/MenuReleaseService.java
  2. 6
      diet-dao/src/main/java/com/mathvision/diet/entity/Menu.java
  3. 5
      diet-dao/src/main/java/com/mathvision/diet/repository/MenuRepository.java
  4. 1
      diet-web/src/main/java/com/mathvision/diet/controller/MenuDishController.java
  5. 31
      diet-web/src/main/java/com/mathvision/diet/controller/MenuDisplayController.java
  6. 1
      diet-web/src/main/resources/static/index.html
  7. 78
      diet-web/src/main/resources/static/menu/display.html
  8. 1
      doc/index.md
  9. 81
      doc/menu/display.md

4
diet-core/src/main/java/com/mathvision/diet/service/MenuReleaseService.java

@ -42,6 +42,10 @@ public class MenuReleaseService {
log.info("[MenuReleaseService] cancel id = " + id + ", operator = " + operator); log.info("[MenuReleaseService] cancel id = " + id + ", operator = " + operator);
} }
public List<Menu> list(Long vender) {
return menuRepository.findMenusNow(vender);
}
public Page<Menu> list(Long vender, String name, Date startTime, Date endTime, PageRequest pageRequest) { public Page<Menu> list(Long vender, String name, Date startTime, Date endTime, PageRequest pageRequest) {
return menuRepository.findAll(toSpecification(vender, name, startTime, endTime), pageRequest); return menuRepository.findAll(toSpecification(vender, name, startTime, endTime), pageRequest);
} }

6
diet-dao/src/main/java/com/mathvision/diet/entity/Menu.java

@ -23,6 +23,12 @@ import java.util.Map;
@TypeDef(name = "json", typeClass = JsonStringType.class) @TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(name = "menu") @Table(name = "menu")
public class Menu { public class Menu {
public Menu(Long id, String name) {
setId(id);
setName(name);
}
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false) @Column(name = "id", nullable = false)

5
diet-dao/src/main/java/com/mathvision/diet/repository/MenuRepository.java

@ -18,6 +18,11 @@ public interface MenuRepository extends JpaRepository<Menu, Long>, JpaSpecificat
List<Menu> findByNutrient(Long nutrient); List<Menu> findByNutrient(Long nutrient);
@Transactional @Transactional
long deleteByVender(Long vender); long deleteByVender(Long vender);
@Query(value = "select new Menu(m.id, m.name) from Menu m " +
"where m.vender = ?1 and m.status = 5 and now() between m.startTime and m.endTime")
List<Menu> findMenusNow(Long vender);
@Query(value = "select m.id from menu m " + @Query(value = "select m.id from menu m " +
"where m.vender = ?1 and m.status = ?2 and (WEEKDAY(NOW()) + 1) <= m.day and now() between m.start_time and m.end_time " + "where m.vender = ?1 and m.status = ?2 and (WEEKDAY(NOW()) + 1) <= m.day and now() between m.start_time and m.end_time " +
"order by m.id DESC " + "order by m.id DESC " +

1
diet-web/src/main/java/com/mathvision/diet/controller/MenuDishController.java

@ -121,6 +121,7 @@ public class MenuDishController extends BaseController {
@ResponseBody @ResponseBody
@RequestMapping(method = RequestMethod.GET) @RequestMapping(method = RequestMethod.GET)
public List<MenuDish> query(@RequestParam(required = false) Long menuId) { public List<MenuDish> query(@RequestParam(required = false) Long menuId) {
//TODO 清理代码
if (menuId == null) { if (menuId == null) {
Long currentMenuId = menuService.current(getVender()); Long currentMenuId = menuService.current(getVender());
return menuDishService.query(currentMenuId, getVender(), (long) LocalDate.now().getDayOfWeek().getValue()); return menuDishService.query(currentMenuId, getVender(), (long) LocalDate.now().getDayOfWeek().getValue());

31
diet-web/src/main/java/com/mathvision/diet/controller/MenuDisplayController.java

@ -0,0 +1,31 @@
package com.mathvision.diet.controller;
import com.mathvision.diet.service.MenuDishService;
import com.mathvision.diet.service.MenuReleaseService;
import org.springframework.stereotype.Controller;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.time.LocalDate;
@RequestMapping("/api/menu/display")
@Controller
public class MenuDisplayController extends BaseController {
@Resource
MenuDishService menuDishService;
@Resource
MenuReleaseService menuReleaseService;
@ResponseBody
@RequestMapping(method = RequestMethod.GET)
public Object query(@RequestParam(required = false) Long menuId) {
Assert.isTrue(!isAdmin(), "[参数错误] 非管理端操作!");
if (menuId == null) {
return menuReleaseService.list(getVender());
}
return menuDishService.query(menuId, getVender(), (long) LocalDate.now().getDayOfWeek().getValue());
}
}

1
diet-web/src/main/resources/static/index.html

@ -20,6 +20,7 @@
<li><a href="menu/review.html">食谱审批协议</a></li> <li><a href="menu/review.html">食谱审批协议</a></li>
<li><a href="menu/release.html">食谱发布协议</a></li> <li><a href="menu/release.html">食谱发布协议</a></li>
<li><a href="menu/report.html">食谱分析协议</a></li> <li><a href="menu/report.html">食谱分析协议</a></li>
<li><a href="menu/display.html">食谱大屏协议</a></li>
</ul> </ul>
</li> </li>
<li><a href="icon.html">图片协议</a></li> <li><a href="icon.html">图片协议</a></li>

78
diet-web/src/main/resources/static/menu/display.html

@ -0,0 +1,78 @@
<h1>大屏展示</h1>
<h1>1. 查询今日食谱列表(大屏显示)</h1>
<blockquote>
<p>GET /api/menu/display</p>
</blockquote>
<h3>输出:</h3>
<pre><code class="json">{
&quot;body&quot;: [
{&quot;id&quot;: 1, &quot;name&quot;: &quot;食谱名字&quot;}
],
&quot;code&quot;: 200,
&quot;desc&quot;: &quot;成功&quot;,
&quot;success&quot;: true
}
</code></pre>
<h1>2. 查询今日带量菜品(大屏显示)</h1>
<blockquote>
<p>GET /api/menu/display?menuId=1</p>
</blockquote>
<h3>输出:</h3>
<pre><code class="json">{
&quot;body&quot;: [
{
&quot;day&quot;: 1,
&quot;dish&quot;: 1,
&quot;id&quot;: 1,
&quot;ingredient&quot;: [
{
&quot;isMain&quot;: true,
&quot;key&quot;: &quot;011101&quot;,
&quot;value&quot;: {
&quot;轻体力&quot;: 500,
&quot;重体力&quot;: 300
}
},
{
&quot;isMain&quot;: false,
&quot;key&quot;: &quot;2101001&quot;,
&quot;value&quot;: {
&quot;轻体力&quot;: 500,
&quot;重体力&quot;: 300
}
}
],
&quot;marks&quot;: &quot;主食&quot;,
&quot;poly&quot;: &quot;&quot;,
&quot;meal&quot;: &quot;早餐&quot;,
&quot;menu&quot;: 1,
&quot;name&quot;: &quot;番茄炒蛋&quot;,
&quot;vender&quot;: 1
},
{
&quot;day&quot;: 1,
&quot;dish&quot;: 2,
&quot;id&quot;: 3,
&quot;ingredient&quot;: [
{
&quot;isMain&quot;: true,
&quot;key&quot;: &quot;011101&quot;,
&quot;value&quot;: {
&quot;轻体力&quot;: 500,
&quot;重体力&quot;: 300
}
}
],
&quot;marks&quot;: &quot;主食&quot;,
&quot;poly&quot;: &quot;&quot;,
&quot;meal&quot;: &quot;早餐&quot;,
&quot;menu&quot;: 1,
&quot;name&quot;: &quot;番茄炒鸡蛋&quot;,
&quot;vender&quot;: 1
}
],
&quot;code&quot;: 200,
&quot;desc&quot;: &quot;成功&quot;,
&quot;success&quot;: true
}</code></pre>

1
doc/index.md

@ -20,6 +20,7 @@
* [食谱审批协议](menu/review.md) * [食谱审批协议](menu/review.md)
* [食谱发布协议](menu/release.md) * [食谱发布协议](menu/release.md)
* [食谱分析协议](menu/report.md) * [食谱分析协议](menu/report.md)
* [食谱大屏协议](menu/display.md)
* [图片协议](icon.md) * [图片协议](icon.md)
### 响应示例 ### 响应示例

81
doc/menu/display.md

@ -0,0 +1,81 @@
# 大屏展示
# 1. 查询今日食谱列表(大屏显示)
> GET /api/menu/display
### 输出:
~~~json
{
"body": [
{"id": 1, "name": "食谱名字"}
],
"code": 200,
"desc": "成功",
"success": true
}
~~~
# 2. 查询今日带量菜品(大屏显示)
> GET /api/menu/display?menuId=1
### 输出:
~~~json
{
"body": [
{
"day": 1,
"dish": 1,
"id": 1,
"ingredient": [
{
"isMain": true,
"key": "011101",
"value": {
"轻体力": 500,
"重体力": 300
}
},
{
"isMain": false,
"key": "2101001",
"value": {
"轻体力": 500,
"重体力": 300
}
}
],
"marks": "主食",
"poly": "蒸",
"meal": "早餐",
"menu": 1,
"name": "番茄炒蛋",
"vender": 1
},
{
"day": 1,
"dish": 2,
"id": 3,
"ingredient": [
{
"isMain": true,
"key": "011101",
"value": {
"轻体力": 500,
"重体力": 300
}
}
],
"marks": "主食",
"poly": "蒸",
"meal": "早餐",
"menu": 1,
"name": "番茄炒鸡蛋",
"vender": 1
}
],
"code": 200,
"desc": "成功",
"success": true
}
Loading…
Cancel
Save