diff --git a/diet-core/src/main/java/com/mathvision/diet/excel/IngredientModel.java b/diet-core/src/main/java/com/mathvision/diet/excel/IngredientModel.java index 750dd31..1c3a9b1 100644 --- a/diet-core/src/main/java/com/mathvision/diet/excel/IngredientModel.java +++ b/diet-core/src/main/java/com/mathvision/diet/excel/IngredientModel.java @@ -66,4 +66,7 @@ public class IngredientModel { @ExcelProperty(value = "膳食纤维(g)", converter = BigDecimalStringConverter.class) private BigDecimal fiber; + + @ExcelProperty(value = "钠(mg)", converter = BigDecimalStringConverter.class) + private BigDecimal sodium; } diff --git a/diet-core/src/main/java/com/mathvision/diet/service/DishService.java b/diet-core/src/main/java/com/mathvision/diet/service/DishService.java index 02df959..1f405cb 100644 --- a/diet-core/src/main/java/com/mathvision/diet/service/DishService.java +++ b/diet-core/src/main/java/com/mathvision/diet/service/DishService.java @@ -84,11 +84,11 @@ public class DishService { return dishRepository.findByNameLikeOrderByIdDesc("%" + keyword + "%"); } - public Page list(Long vender, String name, String mark, PageRequest pageRequest) { - return dishRepository.findAll(toSpecification(vender, name, mark), pageRequest); + public Page list(Long vender, String name, String mark, String poly, PageRequest pageRequest) { + return dishRepository.findAll(toSpecification(vender, name, mark, poly), pageRequest); } - private Specification toSpecification(Long vender, String name, String mark) { + private Specification toSpecification(Long vender, String name, String mark, String poly) { return (root, query, builder) -> { List predicates = new ArrayList<>(); @@ -100,6 +100,10 @@ public class DishService { predicates.add(builder.equal(root.get("marks"), mark)); } + if (StringUtils.isNotBlank(poly)) { + predicates.add(builder.equal(root.get("poly"), poly)); + } + if (StringUtils.isNotBlank(name)) { predicates.add(builder.like(root.get("name"), "%" + name + "%")); } diff --git a/diet-core/src/main/java/com/mathvision/diet/service/EnumService.java b/diet-core/src/main/java/com/mathvision/diet/service/EnumService.java index 220045c..b9de06d 100644 --- a/diet-core/src/main/java/com/mathvision/diet/service/EnumService.java +++ b/diet-core/src/main/java/com/mathvision/diet/service/EnumService.java @@ -2,14 +2,8 @@ package com.mathvision.diet.service; import com.google.common.collect.Sets; import com.mathvision.diet.domian.*; -import com.mathvision.diet.entity.FoodCategory; -import com.mathvision.diet.entity.FoodMark; -import com.mathvision.diet.entity.FoodNutrient; -import com.mathvision.diet.entity.RoleItem; -import com.mathvision.diet.repository.FoodCategoryRepository; -import com.mathvision.diet.repository.FoodMarkRepository; -import com.mathvision.diet.repository.FoodNutrientRepository; -import com.mathvision.diet.repository.RoleItemRepository; +import com.mathvision.diet.entity.*; +import com.mathvision.diet.repository.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.KeyValue; import org.apache.commons.lang3.tuple.Pair; @@ -24,9 +18,16 @@ import java.util.stream.Collectors; @Slf4j @Service public class EnumService { + private final FoodPolyRepository foodPolyRepository; + + public EnumService(FoodPolyRepository foodPolyRepository) { + this.foodPolyRepository = foodPolyRepository; + } + private static Map> AUTH_ITEMS = new HashMap<>(); private static Map ROLE_ITEMS = new HashMap<>(); private static Map FOOD_MARK = new HashMap<>(); + private static Map FOOD_POLY = new HashMap<>(); private static Map FOOD_CATEGORY = new HashMap<>(); private static Map FOOD_NUTRIENT = new HashMap<>(); @@ -48,6 +49,7 @@ public class EnumService { ROLE_ITEMS = roleItemRepository.findAll().stream().collect(Collectors.toConcurrentMap(RoleItem::getId, x -> x)); AUTH_ITEMS = ROLE_ITEMS.values().stream().map(item -> Pair.of(item.getItemType(), "/api/" + item.getItemValue().split(":", 2)[1])).collect(Collectors.toMap(Pair::getKey, v-> Sets.newHashSet(v.getValue()), Sets::union)); FOOD_MARK = foodMarkRepository.findAll().stream().collect(Collectors.toConcurrentMap(FoodMark::getKey, x -> x)); + FOOD_POLY = foodPolyRepository.findAll().stream().collect(Collectors.toConcurrentMap(FoodPoly::getKey, x -> x)); FOOD_CATEGORY = foodCategoryRepository.findAll().stream().collect(Collectors.toConcurrentMap(FoodCategory::getKey, x -> x)); FOOD_NUTRIENT = foodNutrientRepository.findAll().stream().collect(Collectors.toConcurrentMap(FoodNutrient::getKey, x -> x)); } @@ -55,6 +57,7 @@ public class EnumService { public Map> getAll() { Map> result = new HashMap<>(); result.put("mark", FOOD_MARK.values()); + result.put("poly", FOOD_POLY.values()); result.put("category", FOOD_CATEGORY.values()); result.put("nutrient", FOOD_NUTRIENT.values()); result.put("venderType", Arrays.stream(VenderType.values()).map(x -> new KeyValue() { @@ -121,6 +124,10 @@ public class EnumService { return FOOD_MARK.containsKey(mark); } + public boolean checkPoly(String poly) { + return FOOD_POLY.containsKey(poly); + } + public boolean checkCategory(String category) { return FOOD_CATEGORY.containsKey(category); } @@ -132,4 +139,4 @@ public class EnumService { public FoodNutrient getNutrient(String nutrient) { return FOOD_NUTRIENT.get(nutrient); } -} +} \ No newline at end of file diff --git a/diet-core/src/main/java/com/mathvision/diet/service/MenuDishService.java b/diet-core/src/main/java/com/mathvision/diet/service/MenuDishService.java index 116e22d..9885d3f 100644 --- a/diet-core/src/main/java/com/mathvision/diet/service/MenuDishService.java +++ b/diet-core/src/main/java/com/mathvision/diet/service/MenuDishService.java @@ -4,11 +4,8 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; import com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import com.google.common.collect.Range; import com.mathvision.diet.domian.MealType; import com.mathvision.diet.domian.MenuDishItemDTO; import com.mathvision.diet.entity.*; @@ -22,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.OutputStream; import java.math.BigDecimal; -import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import java.util.stream.IntStream; diff --git a/diet-dao/src/main/java/com/mathvision/diet/entity/Dish.java b/diet-dao/src/main/java/com/mathvision/diet/entity/Dish.java index bbc3d6c..4b9e83c 100644 --- a/diet-dao/src/main/java/com/mathvision/diet/entity/Dish.java +++ b/diet-dao/src/main/java/com/mathvision/diet/entity/Dish.java @@ -22,9 +22,10 @@ import java.util.List; @Table(name = "dish") public class Dish { - public Dish(Long id, String name, String marks, List ingredient) { + public Dish(Long id, String name, String marks, String poly, List ingredient) { setId(id); setName(name); + setPoly(poly); setMarks(marks); setIngredient(ingredient); } @@ -40,7 +41,6 @@ public class Dish { @Column(name = "`vender`", nullable = false, length = 20) private Long vender; - @Lob @Column(name = "icon") private String icon; @@ -55,6 +55,9 @@ public class Dish { @Column(name = "marks", nullable = false, length = 45) private String marks; + @Column(name = "poly", nullable = false, length = 16) + private String poly; + @JSONField(serialize = false) @Column(name = "operate", length = 45) private String operate; diff --git a/diet-dao/src/main/java/com/mathvision/diet/entity/FoodPoly.java b/diet-dao/src/main/java/com/mathvision/diet/entity/FoodPoly.java new file mode 100644 index 0000000..bdebc67 --- /dev/null +++ b/diet-dao/src/main/java/com/mathvision/diet/entity/FoodPoly.java @@ -0,0 +1,42 @@ +package com.mathvision.diet.entity; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.*; + +import javax.persistence.*; +import java.time.Instant; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Getter +@Setter +@Entity +@Table(name = "food_poly") +public class FoodPoly { + + @JSONField(serialize = false) + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + private Long id; + + @Column(name = "`key`", nullable = false, length = 20) + private String key; + + @Column(name = "name", nullable = false, length = 20) + private String name; + + @JSONField(serialize = false) + @Column(name = "operate", length = 45) + private String operate; + + @JSONField(serialize = false) + @Column(name = "created") + private Instant created; + + @JSONField(serialize = false) + @Column(name = "modify") + private Instant modify; + +} \ No newline at end of file diff --git a/diet-dao/src/main/java/com/mathvision/diet/entity/Icon.java b/diet-dao/src/main/java/com/mathvision/diet/entity/Icon.java deleted file mode 100644 index ad6f49d..0000000 --- a/diet-dao/src/main/java/com/mathvision/diet/entity/Icon.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.mathvision.diet.entity; - -import lombok.*; - -import javax.persistence.*; - -@Builder -@AllArgsConstructor -@NoArgsConstructor -@Getter -@Setter -@Entity -@Table(name = "icon") -public class Icon { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id", nullable = false) - private Long id; - - @Column(name = "`key`", nullable = false, length = 64) - private String key; - - @Lob - @Column(name = "icon", nullable = false) - private String icon; - -} \ No newline at end of file diff --git a/diet-dao/src/main/java/com/mathvision/diet/entity/MenuDish.java b/diet-dao/src/main/java/com/mathvision/diet/entity/MenuDish.java index c033333..a79a0fe 100644 --- a/diet-dao/src/main/java/com/mathvision/diet/entity/MenuDish.java +++ b/diet-dao/src/main/java/com/mathvision/diet/entity/MenuDish.java @@ -50,6 +50,9 @@ public class MenuDish { @Column(name = "marks", nullable = false, length = 45) private String marks; + @Column(name = "poly", nullable = false, length = 16) + private String poly; + @JSONField(serialize = false) @Column(name = "operate", length = 45) private String operate; diff --git a/diet-dao/src/main/java/com/mathvision/diet/entity/Vender.java b/diet-dao/src/main/java/com/mathvision/diet/entity/Vender.java index b417b2a..9a1a0b4 100644 --- a/diet-dao/src/main/java/com/mathvision/diet/entity/Vender.java +++ b/diet-dao/src/main/java/com/mathvision/diet/entity/Vender.java @@ -44,7 +44,6 @@ public class Vender { @Column(name = "status", nullable = false) private Boolean status; - @Lob @Column(name = "icon") private String icon; diff --git a/diet-dao/src/main/java/com/mathvision/diet/repository/DishRepository.java b/diet-dao/src/main/java/com/mathvision/diet/repository/DishRepository.java index 5f5e38b..ead0c15 100644 --- a/diet-dao/src/main/java/com/mathvision/diet/repository/DishRepository.java +++ b/diet-dao/src/main/java/com/mathvision/diet/repository/DishRepository.java @@ -12,7 +12,7 @@ import java.util.List; public interface DishRepository extends JpaRepository, JpaSpecificationExecutor { @Transactional long deleteByVender(Long vender); - @Query("select new Dish(d.id, d.name, d.marks, d.ingredient) from Dish d where d.name like ?1 order by d.id DESC") + @Query("select new Dish(d.id, d.name, d.marks, d.poly, d.ingredient) from Dish d where d.name like ?1 order by d.id DESC") List findByNameLikeOrderByIdDesc(String name); boolean existsByVenderAndNameAndIdNot(Long vender, String name, Long id); boolean existsByVenderAndIdIn(Long vender, Collection ids); diff --git a/diet-dao/src/main/java/com/mathvision/diet/repository/FoodPolyRepository.java b/diet-dao/src/main/java/com/mathvision/diet/repository/FoodPolyRepository.java new file mode 100644 index 0000000..fbfe890 --- /dev/null +++ b/diet-dao/src/main/java/com/mathvision/diet/repository/FoodPolyRepository.java @@ -0,0 +1,8 @@ +package com.mathvision.diet.repository; + +import com.mathvision.diet.entity.FoodPoly; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +public interface FoodPolyRepository extends JpaRepository, JpaSpecificationExecutor { +} \ No newline at end of file diff --git a/diet-dao/src/main/java/com/mathvision/diet/repository/IconRepository.java b/diet-dao/src/main/java/com/mathvision/diet/repository/IconRepository.java deleted file mode 100644 index aff0b8b..0000000 --- a/diet-dao/src/main/java/com/mathvision/diet/repository/IconRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.mathvision.diet.repository; - -import com.mathvision.diet.entity.Icon; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface IconRepository extends JpaRepository { -} \ No newline at end of file diff --git a/diet-dao/src/main/java/com/mathvision/diet/utils/GZIPUtils.java b/diet-dao/src/main/java/com/mathvision/diet/utils/GZIPUtils.java deleted file mode 100644 index 39ef65a..0000000 --- a/diet-dao/src/main/java/com/mathvision/diet/utils/GZIPUtils.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.mathvision.diet.utils; - -import lombok.extern.slf4j.Slf4j; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - -@Slf4j -public class GZIPUtils { - - public static final String GZIP_ENCODE_UTF_8 = "UTF-8"; - - public static String compress(String str) { - return compress(str, GZIP_ENCODE_UTF_8); - } - - public static String compress(String str, String encoding) { - if (str == null || str.length() == 0) { - return null; - } - ByteArrayOutputStream out = new ByteArrayOutputStream(); - GZIPOutputStream gzip; - try { - gzip = new GZIPOutputStream(out); - gzip.write(str.getBytes(encoding)); - gzip.close(); - } catch (Exception e) { - log.error("gzip compress error.", e); - } - return out.toString(); - } - - public static String decompress(String str) { - return decompressToString(str, GZIP_ENCODE_UTF_8); - } - - public static String decompressToString(String str, String encoding) { - if (str == null || str.length() == 0) { - return null; - } - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes(encoding)); - GZIPInputStream unGzip = new GZIPInputStream(in); - byte[] buffer = new byte[256]; - int n; - while ((n = unGzip.read(buffer)) >= 0) { - out.write(buffer, 0, n); - } - return out.toString(encoding); - } catch (Exception e) { - log.error("gzip decompressToString to string error.", e); - } - return null; - } - - public static void main(String[] args) { - String str ="data:image/jpeg;base64,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"; - System.out.println("原数据:" + str); - System.out.println("压缩后数据:" + (str)); - System.out.println("解压缩后字符串:" + decompress(compress(str))); - } -} diff --git a/diet-web/src/main/java/com/mathvision/diet/controller/DishController.java b/diet-web/src/main/java/com/mathvision/diet/controller/DishController.java index da5d6b7..1a32a5e 100644 --- a/diet-web/src/main/java/com/mathvision/diet/controller/DishController.java +++ b/diet-web/src/main/java/com/mathvision/diet/controller/DishController.java @@ -45,10 +45,12 @@ public class DishController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.PUT) - public void add(@RequestParam String name, @RequestParam(required = false) List vendors, @RequestParam(required = false) String icon, @RequestParam(required = false) List month, @RequestParam String mark, @RequestParam String ingredient) { + public void add(@RequestParam String name, @RequestParam(required = false) List vendors, @RequestParam(required = false) String icon, @RequestParam(required = false) List month, @RequestParam String mark, @RequestParam String poly, @RequestParam String ingredient) { Assert.isTrue(StringUtils.isNotBlank(name), "[参数错误]菜品名称必填!"); Assert.isTrue(StringUtils.isNotBlank(mark), "[参数错误]菜品标签必填!"); + Assert.isTrue(StringUtils.isNotBlank(poly), "[参数错误]烹饪手法必填!"); Assert.isTrue(enumService.checkMark(mark), "[参数错误]菜品标签不在取值范围内!"); + Assert.isTrue(enumService.checkPoly(poly), "[参数错误]烹饪手法不在取值范围内!"); Assert.isTrue(CollectionUtils.isNotEmpty(month) && month.stream().allMatch(x -> Range.closed(1, 12).contains(x)), "[参数错误]请选择正确的月份!"); Assert.isTrue(JSON.isValid(ingredient), "[参数错误]食材列表必填!"); @@ -75,7 +77,7 @@ public class DishController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.POST) - public void update(@RequestParam Long id, @RequestParam(required = false) String name, @RequestParam(required = false) String icon, @RequestParam(required = false) List month, @RequestParam(required = false) String mark, @RequestParam(required = false) String ingredient) { + public void update(@RequestParam Long id, @RequestParam(required = false) String name, @RequestParam(required = false) String icon, @RequestParam(required = false) List month, @RequestParam(required = false) String mark, @RequestParam(required = false) String poly, @RequestParam(required = false) String ingredient) { Dish dish = isAdmin()? dishService.get(id) : dishService.get(id, getVender()); Assert.isTrue(dish != null, "[参数错误]菜品不存在!"); @@ -94,6 +96,11 @@ public class DishController extends BaseController { dish.setMarks(mark); flag = true; } + if(StringUtils.isNotBlank(poly) && !poly.equals(dish.getPoly())) { + Assert.isTrue(enumService.checkPoly(poly), "[参数错误]烹饪手法不在取值范围内!"); + dish.setPoly(poly); + flag = true; + } if(CollectionUtils.isNotEmpty(month)) { Assert.isTrue(CollectionUtils.isNotEmpty(month) && month.stream().allMatch(x -> Range.closed(1, 12).contains(x)), "[参数错误]请选择正确的月份!"); dish.setMonth(month); @@ -114,11 +121,11 @@ public class DishController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.GET) - public Object query(@RequestParam(required = false) String keyword, @RequestParam(required = false) Long id, @RequestParam(required = false) Long vendors, @RequestParam(required = false) String mark, @RequestParam(required = false, defaultValue = "0") int pageNo, @RequestParam(required = false, defaultValue = "20") int pageSize) { + public Object query(@RequestParam(required = false) String keyword, @RequestParam(required = false) Long id, @RequestParam(required = false) Long vendors, @RequestParam(required = false) String mark, @RequestParam(required = false) String poly, @RequestParam(required = false, defaultValue = "0") int pageNo, @RequestParam(required = false, defaultValue = "20") int pageSize) { if (id != null) { return isAdmin() ? dishService.get(id) : dishService.get(id, getVender()); } - return dishService.list(!isAdmin() || vendors == null ? getVender() : vendors, keyword, mark, PageRequest.of(pageNo, pageSize).withSort(Sort.by(Sort.Direction.DESC, "id"))); + return dishService.list(!isAdmin() || vendors == null ? getVender() : vendors, keyword, mark, poly, PageRequest.of(pageNo, pageSize).withSort(Sort.by(Sort.Direction.DESC, "id"))); } @ResponseBody diff --git a/diet-web/src/main/java/com/mathvision/diet/controller/MenuDishController.java b/diet-web/src/main/java/com/mathvision/diet/controller/MenuDishController.java index a74a53c..5354931 100644 --- a/diet-web/src/main/java/com/mathvision/diet/controller/MenuDishController.java +++ b/diet-web/src/main/java/com/mathvision/diet/controller/MenuDishController.java @@ -47,9 +47,9 @@ public class MenuDishController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.PUT) - public Long add(@RequestParam Long menuId, @RequestParam Long dishId, @RequestParam Integer day, @RequestParam String meal, @RequestParam(required = false) String mark, @RequestParam String ingredient) { + public Long add(@RequestParam Long menuId, @RequestParam Long dishId, @RequestParam Integer day, @RequestParam String meal, @RequestParam(required = false) String mark, @RequestParam(required = false) String poly, @RequestParam String ingredient) { Menu menu = checkAndConvert(menuId, MenuStatus.pass, MenuStatus.publish); - return menuDishService.add(checkAndConvert(menu, checkAndConvert(dishId), day, meal, mark, parseItems(ingredient, new HashSet<>(menu.getCrows())))).getId(); + return menuDishService.add(checkAndConvert(menu, checkAndConvert(dishId), day, meal, mark, poly, parseItems(ingredient, new HashSet<>(menu.getCrows())))).getId(); } @ResponseBody @@ -58,7 +58,7 @@ public class MenuDishController extends BaseController { menuDishVO.getMenuIds().forEach(menuId -> checkAndConvert(menuId, MenuStatus.pass, MenuStatus.publish)); return menuDishService.addAll(menuDishVO.getMenuIds().stream().map(menuId -> { Menu menu = checkAndConvert(menuId, MenuStatus.pass, MenuStatus.publish); - return menuDishVO.getDishes().stream().map(dish -> checkAndConvert(menu, checkAndConvert(dish.getDish()), dish.getDay(), dish.getMeal(), dish.getMark(), dish.getItems().stream().map(item -> MenuDishItemDTO.builder().isMain(item.getIsMain()).key(item.getKey()).value(item.getValue()).build()).collect(Collectors.toList()))).collect(Collectors.toList()); + return menuDishVO.getDishes().stream().map(dish -> checkAndConvert(menu, checkAndConvert(dish.getDish()), dish.getDay(), dish.getMeal(), dish.getMark(), dish.getPoly(), dish.getItems().stream().map(item -> MenuDishItemDTO.builder().isMain(item.getIsMain()).key(item.getKey()).value(item.getValue()).build()).collect(Collectors.toList()))).collect(Collectors.toList()); }).flatMap(List::stream).collect(Collectors.toList())).stream().map(MenuDish::getId).collect(Collectors.toList()); } @@ -77,7 +77,7 @@ public class MenuDishController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.POST) - public void update(@RequestParam Long menuDishId, @RequestParam Long menuId, @RequestParam(required = false) String mark, @RequestParam(required = false) String ingredient) { + public void update(@RequestParam Long menuDishId, @RequestParam Long menuId, @RequestParam(required = false) String mark, @RequestParam(required = false) String poly, @RequestParam(required = false) String ingredient) { Menu menu = checkAndConvert(menuId, MenuStatus.pass, MenuStatus.publish); MenuDish dish = isAdmin() ? menuDishService.get(menuDishId) : menuDishService.get(menuDishId, getVender()); Assert.notNull(dish, "[参数错误]菜品不存在!"); @@ -88,6 +88,11 @@ public class MenuDishController extends BaseController { dish.setMarks(mark); flag= true; } + if (StringUtils.isNotBlank(poly) && !StringUtils.equals(poly, dish.getPoly())) { + Assert.isTrue(enumService.checkPoly(poly), "[参数错误]烹饪手法不在取值范围内!"); + dish.setPoly(poly); + flag= true; + } if (StringUtils.isNotBlank(ingredient) && JSON.isValid(ingredient)) { dish.setIngredient(parseItems(ingredient, new HashSet<>(menu.getCrows()))); flag = true; @@ -124,15 +129,18 @@ public class MenuDishController extends BaseController { return isAdmin() ? menuDishService.query(menuId) : menuDishService.query(menuId, getVender()); } - private MenuDish checkAndConvert(Menu menu, Dish dish, Integer day, String meal, String mark, List ingredient) { + private MenuDish checkAndConvert(Menu menu, Dish dish, Integer day, String meal, String mark, String poly, List ingredient) { Assert.isTrue(Range.closed(1, menu.getDay().intValue()).contains(day), "[参数错误]天数不在食谱的设置范围内!"); Assert.isTrue(menu.getMeals().contains(meal), "[参数错误]餐次不在食谱的设置范围内!"); mark = StringUtils.isBlank(mark) ? dish.getMarks() : mark; Assert.isTrue(enumService.checkMark(mark), "[参数错误]菜品标签不在取值范围内!"); + poly= StringUtils.isBlank(poly) ? dish.getPoly() : poly; + Assert.isTrue(enumService.checkPoly(poly), "[参数错误]烹饪手法不在取值范围内!"); + Instant dateTime = Instant.now(); - return MenuDish.builder().vender(menu.getVender()).menu(menu.getId()).dish(dish.getId()).day(day.longValue()).meal(meal).name(dish.getName()).marks(mark).ingredient(ingredient).operate(getUid()).created(dateTime).modify(dateTime).build(); + return MenuDish.builder().vender(menu.getVender()).menu(menu.getId()).dish(dish.getId()).day(day.longValue()).meal(meal).name(dish.getName()).marks(mark).poly(poly).ingredient(ingredient).operate(getUid()).created(dateTime).modify(dateTime).build(); } private Menu checkAndConvert(Long menuId, MenuStatus ... statuses) { diff --git a/diet-web/src/main/java/com/mathvision/diet/vo/MenuDishDetailVO.java b/diet-web/src/main/java/com/mathvision/diet/vo/MenuDishDetailVO.java index b1c8961..685bd33 100644 --- a/diet-web/src/main/java/com/mathvision/diet/vo/MenuDishDetailVO.java +++ b/diet-web/src/main/java/com/mathvision/diet/vo/MenuDishDetailVO.java @@ -19,6 +19,8 @@ public class MenuDishDetailVO { String meal; /**打标,默认用原菜品标签*/ String mark; + /**打标,默认用原菜品烹饪手法*/ + String poly; /**引用的菜品编号 */ Long dish; /**人群食材对应关系*/ diff --git a/diet-web/src/main/resources/static/basic.html b/diet-web/src/main/resources/static/basic.html index c5f4519..c65ec08 100644 --- a/diet-web/src/main/resources/static/basic.html +++ b/diet-web/src/main/resources/static/basic.html @@ -344,6 +344,12 @@ password=BE56E057F20F883E // "key": "", "value": "" } + ], + "poly":[ + { + "key": "", + "value": "" + } ] }, "code": 200, diff --git a/diet-web/src/main/resources/static/change.html b/diet-web/src/main/resources/static/change.html index 78961ab..28a726c 100644 --- a/diet-web/src/main/resources/static/change.html +++ b/diet-web/src/main/resources/static/change.html @@ -32,4 +32,11 @@
  • ʳ׽ӿ: ʳ׷ӿڴʳײƷó, ŵʳ׷½, ·ȥdish·, 漰3ӿ;
  • Ȩӿ: ȥsessionʽ;
  • +

    11.11

    +
      +
    • öٽӿ: poly(ַ)
    • +
    • öٽӿ: Ӫ
    • +
    • Ʒӿ: ɾIJ֧polyֶ(ַ);
    • +
    • ʳײƷ: ɾIJ֧polyֶ(ַ);
    • +
    diff --git a/diet-web/src/main/resources/static/dish.html b/diet-web/src/main/resources/static/dish.html index 7d3431e..85495bd 100644 --- a/diet-web/src/main/resources/static/dish.html +++ b/diet-web/src/main/resources/static/dish.html @@ -8,6 +8,7 @@ pageNo=0 // Ĭ0, 0ʼ keyword=Ѽ // ѯؼ mark= // ǩ ȡֵGET /api/basic/enum ӿе mark +poly= // ַ ȡֵGET /api/basic/enum ӿе poly

    :

    {
    @@ -24,6 +25,7 @@ mark=
               }
             ],
             "marks": "ʳ",
    +        "poly": "",
             "modify": 1695277128000,
             "month": [
               1,
    @@ -72,6 +74,7 @@ mark=
           }
         ],
         "marks": "",
    +    "poly": "",
         "month": [
           1,
           3,
    @@ -107,6 +110,7 @@ mark=
             }
           ],
           "marks": "ʳ",
    +      "poly": "",
           "name": "Ŷ"
         },
         {
    @@ -124,6 +128,7 @@ mark=
             }
           ],
           "marks": "ʳ",
    +      "poly": "",
           "name": "Ŷ"
         }
       ],
    @@ -192,6 +197,7 @@ vendors=1,2,3      // 
     icon=              // ͼƬ
     month=1,2,3       //·
     mark=          //   ǩ  ȡֵGET /api/basic/enum ӿе mark
    +poly=           //   ַ  ȡֵGET /api/basic/enum ӿе poly
     ingredient=[{"key": "011101", "value": 500, "isMain": true}]   // ʳб
     

    :

    @@ -213,6 +219,7 @@ vendors=1,2,3 // icon= // ͼƬ month=1,2,3 // · mark= // ǩ ȡֵGET /api/basic/enum ӿе mark +poly= // ַ ȡֵGET /api/basic/enum ӿе poly ingredient=[{"key": "011101", "value": 500, "isMain": true}] // ʳб

    :

    diff --git a/diet-web/src/main/resources/static/menu/dish.html b/diet-web/src/main/resources/static/menu/dish.html index edf43f1..5bad1aa 100644 --- a/diet-web/src/main/resources/static/menu/dish.html +++ b/diet-web/src/main/resources/static/menu/dish.html @@ -31,6 +31,7 @@ } ], "marks": "ʳ", + "poly": "", "meal": "", "menu": 1, "name": "ѳ", @@ -51,6 +52,7 @@ } ], "marks": "ʳ", + "poly": "", "meal": "", "menu": 1, "name": "ѳ", @@ -92,6 +94,7 @@ } ], "marks": "ʳ", + "poly": "", "meal": "", "menu": 1, "name": "ѳ", @@ -112,6 +115,7 @@ } ], "marks": "ʳ", + "poly": "", "meal": "", "menu": 1, "name": "ѳ", @@ -133,6 +137,7 @@ dishId=1 // day=1 // һ meal= // Ǹʹ mark= // ִ֧ͲƷϲһı +poly= // ַ ȡֵGET /api/basic/enum ӿе poly ingredient=[{"isMain":true,"key":"011101","value":{"":500,"":300}}] // Ʒɷ, Map<Ⱥ, List<(ʳ,,Ƿ)>> @@ -152,6 +157,7 @@ ingredient=[{"isMain":true,"key":"011101","va
    menuId=1        // ʳױ
     menuDishId=1    // ʳϵIJƷID
     mark=        // ִ֧ͲƷϲһı
    +poly=           // ַ  ȡֵGET /api/basic/enum ӿе poly
     ingredient=[{"isMain":true,"key":"011101","value":{"":500,"":300}}]
                     // Ʒɷ
     
    @@ -190,6 +196,7 @@ menuDishId=1 // ʳ "day" : 1, "meal": "", "mark": "ʳ", + "poly": "", "items" : [{ "key" : "011101", "isMain": true, diff --git a/doc/basic.md b/doc/basic.md index 17faed8..046bfea 100644 --- a/doc/basic.md +++ b/doc/basic.md @@ -362,6 +362,12 @@ password=BE56E057F20F883E // 新密码 "key": "其他", "value": "其他" } + ], + "poly":[ + { + "key": "蒸", + "value": "蒸" + } ] }, "code": 200, diff --git a/doc/change.md b/doc/change.md index 8598b7e..a947ad4 100644 --- a/doc/change.md +++ b/doc/change.md @@ -30,3 +30,10 @@ ### 10.08 * 食谱接口: 将食谱分析接口从食谱菜品拿出来, 放到了食谱分析章节, 请求路径中去除了dish路径, 涉及3个接口; * 鉴权接口: 去除了session方式; + + +### 11.11 +* 枚举接口: 增加poly(烹饪手法) +* 枚举接口: 营养素增加了钠 +* 菜品接口: 增删改查支持poly字段(烹饪手法); +* 食谱菜品: 增删改查支持poly字段(烹饪手法); diff --git a/doc/dish.md b/doc/dish.md index a72fcc4..8f8a0f6 100644 --- a/doc/dish.md +++ b/doc/dish.md @@ -10,6 +10,7 @@ pageSize=20 // 默认20, 全部非必填 pageNo=0 // 默认0, 从0开始 keyword=番茄鸡蛋汤 // 查询关键字 mark=汤类 // 标签 取值参照GET /api/basic/enum 接口中的 mark +poly=蒸 // 烹饪手法 取值参照GET /api/basic/enum 接口中的 poly ``` ### 输出: @@ -28,6 +29,7 @@ mark=汤类 // 标签 取值参照GET /api/basic/enum 接口中的 mark } ], "marks": "主食", + "poly": "蒸", "modify": 1695277128000, "month": [ 1, @@ -79,6 +81,7 @@ id=1 } ], "marks": "汤类", + "poly": "蒸", "month": [ 1, 3, @@ -118,6 +121,7 @@ keyword=婆 } ], "marks": "面食", + "poly": "蒸", "name": "麻婆豆腐" }, { @@ -135,6 +139,7 @@ keyword=婆 } ], "marks": "面食", + "poly": "蒸", "name": "麻婆豆腐" } ], @@ -207,6 +212,7 @@ vendors=1,2,3 // 单位列表, 管理端必填,业务端没用 icon= // 图片 month=1,2,3 //月份 mark=汤类 // 必填 标签 取值参照GET /api/basic/enum 接口中的 mark +poly=蒸 // 必填 烹饪手法 取值参照GET /api/basic/enum 接口中的 poly ingredient=[{"key": "011101", "value": 500, "isMain": true}] // 食材列表 ``` @@ -231,6 +237,7 @@ vendors=1,2,3 // 单位列表 icon= // 图片 month=1,2,3 // 月份 mark=汤类 // 标签 取值参照GET /api/basic/enum 接口中的 mark +poly=蒸 // 必填 烹饪手法 取值参照GET /api/basic/enum 接口中的 poly ingredient=[{"key": "011101", "value": 500, "isMain": true}] // 食材列表 ``` diff --git a/doc/menu/dish.md b/doc/menu/dish.md index a94bdf2..6108a36 100644 --- a/doc/menu/dish.md +++ b/doc/menu/dish.md @@ -34,6 +34,7 @@ menuId=1 // 食谱编号 } ], "marks": "主食", + "poly": "蒸", "meal": "早餐", "menu": 1, "name": "番茄炒蛋", @@ -54,6 +55,7 @@ menuId=1 // 食谱编号 } ], "marks": "主食", + "poly": "蒸", "meal": "早餐", "menu": 1, "name": "番茄炒鸡蛋", @@ -97,6 +99,7 @@ menuId=1 // 食谱编号 } ], "marks": "主食", + "poly": "蒸", "meal": "早餐", "menu": 1, "name": "番茄炒蛋", @@ -117,6 +120,7 @@ menuId=1 // 食谱编号 } ], "marks": "主食", + "poly": "蒸", "meal": "早餐", "menu": 1, "name": "番茄炒鸡蛋", @@ -141,6 +145,7 @@ dishId=1 // 菜品ID day=1 // 属于那一天 meal=早餐 // 属于那个餐次 mark=打标 // 支持打和菜品上不一样的标 +poly=蒸 // 烹饪手法 取值参照GET /api/basic/enum 接口中的 poly ingredient=[{"isMain":true,"key":"011101","value":{"轻体力":500,"重体力":300}}] // 菜品成分, Map<人群, List<(食材,用量,是否主料)>> ``` @@ -165,6 +170,7 @@ ingredient=[{"isMain":true,"key":"011101","value":{"轻体力":500,"重体力":3 menuId=1 // 食谱编号 menuDishId=1 // 食谱上的菜品ID mark=打标 // 支持打和菜品上不一样的标 +poly=蒸 // 烹饪手法 取值参照GET /api/basic/enum 接口中的 poly ingredient=[{"isMain":true,"key":"011101","value":{"轻体力":500,"重体力":300}}] // 菜品成分 ``` @@ -213,6 +219,7 @@ menuDishId=1 // 食谱上的菜品编号, 传了删这个菜品, 不传则清 "day" : 1, "meal": "早餐", "mark": "主食", + "poly": "蒸", "items" : [{ "key" : "011101", "isMain": true, diff --git a/sql/diet.sql b/sql/diet.sql index 6ce2329..8ea6fda 100644 --- a/sql/diet.sql +++ b/sql/diet.sql @@ -25,10 +25,11 @@ CREATE TABLE `dish` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '菜名', `vender` bigint NOT NULL COMMENT '单位', - `icon` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '图片', + `icon` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '图片', `month` json NOT NULL COMMENT '适用月份', `ingredient` json NOT NULL COMMENT '食材', `marks` varchar(45) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '标记', + `poly` varchar(16) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '烹饪方式', `operate` varchar(45) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'system' COMMENT '操作员', `created` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `modify` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', @@ -85,13 +86,17 @@ CREATE TABLE `food_nutrient` ( -- ---------------------------- -- Table structure for icon -- ---------------------------- -DROP TABLE IF EXISTS `icon`; -CREATE TABLE `icon` ( +DROP TABLE IF EXISTS `food_poly`; +CREATE TABLE `food_poly` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, - `key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `icon` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '图片', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + `key` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '标签名称', + `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '标签名称', + `operate` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'system' COMMENT '操作员', + `created` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modify` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `udx_key`(`key` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '烹饪手法' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for ingredient @@ -150,7 +155,7 @@ CREATE TABLE `menu` ( `created` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `modify` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, - INDEX `udx_veder`(`vender` ASC) USING BTREE, + INDEX `udx_vender`(`vender` ASC) USING BTREE, INDEX `idx_time`(`modify` ASC) USING BTREE, FULLTEXT INDEX `idx_name`(`name`) ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '食谱' ROW_FORMAT = Dynamic; @@ -184,7 +189,8 @@ CREATE TABLE `menu_dish` ( `dish` bigint NOT NULL COMMENT '菜品', `name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '菜名', `ingredient` json NOT NULL COMMENT '人群食材', - `marks` varchar(45) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '\0' COMMENT '标记', + `marks` varchar(45) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '标记', + `poly` varchar(16) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '烹饪方式', `operate` varchar(45) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'system' COMMENT '操作员', `created` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `modify` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', @@ -344,7 +350,7 @@ CREATE TABLE `vender` ( `account` varchar(16) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '初始账号', `category` enum('学校','医院','事业单位','其他') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '单位类别', `status` bit(1) NOT NULL DEFAULT b'1' COMMENT '状态,1-正常,0-停用', - `icon` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '图标', + `icon` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '图标', `url` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '单位主页', `province` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '省', `city` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '市', diff --git a/sql/init.sql b/sql/init.sql index c10202c..fed7c88 100644 --- a/sql/init.sql +++ b/sql/init.sql @@ -67,20 +67,35 @@ COMMIT; -- Records of food_nutrient -- ---------------------------- BEGIN; -INSERT INTO `food_nutrient` VALUES (1, 'energy', '能量kcal', 'kcal', 2000.00, 'system', '2012-07-08 19:18:17', '2023-09-10 23:19:01'); -INSERT INTO `food_nutrient` VALUES (2, 'protein', '蛋白质', 'g', 60.00, 'system', '2017-12-21 15:42:51', '2023-09-10 23:31:35'); -INSERT INTO `food_nutrient` VALUES (3, 'fat', '脂肪', 'g', 60.00, 'system', '2018-12-13 07:28:46', '2023-09-10 23:33:17'); +INSERT INTO `food_nutrient` VALUES (1, 'energy', '能量kcal', 'kcal', 2000.00, 'system', '2020-07-08 19:18:17', '2023-09-10 23:19:01'); +INSERT INTO `food_nutrient` VALUES (2, 'protein', '蛋白质', 'g', 60.00, 'system', '2020-12-21 15:42:51', '2023-09-10 23:31:35'); +INSERT INTO `food_nutrient` VALUES (3, 'fat', '脂肪', 'g', 60.00, 'system', '2020-12-13 07:28:46', '2023-09-10 23:33:17'); INSERT INTO `food_nutrient` VALUES (4, 'carbs', '碳水化合物', 'g', 300.00, 'system', '2022-12-17 09:39:38', '2023-09-10 23:33:30'); INSERT INTO `food_nutrient` VALUES (5, 'calcium', '钙', 'mg', 800.00, 'system', '2017-01-06 11:53:56', '2023-09-10 23:33:46'); INSERT INTO `food_nutrient` VALUES (6, 'iron', '铁', 'mg', 15.00, 'system', '2022-03-05 18:53:22', '2023-09-10 23:34:10'); -INSERT INTO `food_nutrient` VALUES (7, 'zinc', '锌', 'mg', 15.00, 'system', '2011-04-17 21:15:04', '2023-09-10 23:34:21'); -INSERT INTO `food_nutrient` VALUES (8, 'va', '维生素A', 'μgRAE', 800.00, 'system', '2015-08-06 20:42:28', '2023-09-10 23:34:31'); +INSERT INTO `food_nutrient` VALUES (7, 'zinc', '锌', 'mg', 15.00, 'system', '2020-04-17 21:15:04', '2023-09-10 23:34:21'); +INSERT INTO `food_nutrient` VALUES (8, 'va', '维生素A', 'μgRAE', 800.00, 'system', '2020-08-06 20:42:28', '2023-09-10 23:34:31'); INSERT INTO `food_nutrient` VALUES (9, 'vb1', '维生素B1', 'mg', 1.40, 'system', '2022-11-30 07:59:13', '2023-09-10 23:34:48'); INSERT INTO `food_nutrient` VALUES (10, 'vb2', '维生素B2', 'mg', 1.40, 'system', '2020-10-08 18:13:27', '2023-09-10 23:34:56'); INSERT INTO `food_nutrient` VALUES (11, 'vc', '维生素C', 'mg', 100.00, 'system', '2020-07-01 21:50:49', '2023-09-10 23:35:08'); -INSERT INTO `food_nutrient` VALUES (12, 'fiber', '膳食纤维', 'g', 25.00, 'system', '2003-01-29 16:56:24', '2023-09-10 23:35:12'); +INSERT INTO `food_nutrient` VALUES (12, 'fiber', '膳食纤维', 'g', 25.00, 'system', '2020-01-29 16:56:24', '2023-09-10 23:35:12'); +INSERT INTO `food_nutrient` VALUES (13, 'sodium', '钠', 'mg', 2000.00, 'system', '2020-01-29 16:56:24', '2023-09-10 23:35:12'); COMMIT; +INSERT INTO `food_poly` VALUES (1, '炒', '炒', 'system', '2023-11-10 16:21:17', '2023-11-10 16:22:42'); +INSERT INTO `food_poly` VALUES (2, '烧', '烧', 'system', '2023-11-10 16:21:34', '2023-11-10 16:22:45'); +INSERT INTO `food_poly` VALUES (3, '蒸', '蒸', 'system', '2023-11-10 16:23:01', '2023-11-10 16:23:01'); +INSERT INTO `food_poly` VALUES (4, '炸', '炸', 'system', '2023-11-10 16:23:14', '2023-11-10 16:23:14'); +INSERT INTO `food_poly` VALUES (5, '煎', '煎', 'system', '2023-11-10 16:23:32', '2023-11-10 16:23:32'); +INSERT INTO `food_poly` VALUES (6, '烤', '烤', 'system', '2023-11-10 16:23:43', '2023-11-10 16:23:43'); +INSERT INTO `food_poly` VALUES (7, '腌', '腌', 'system', '2023-11-10 16:23:54', '2023-11-10 16:23:54'); +INSERT INTO `food_poly` VALUES (8, '卤', '卤', 'system', '2023-11-10 16:24:04', '2023-11-10 16:24:04'); +INSERT INTO `food_poly` VALUES (9, '熏', '熏', 'system', '2023-11-10 16:24:17', '2023-11-10 16:24:17'); +INSERT INTO `food_poly` VALUES (10, '烩', '烩', 'system', '2023-11-10 16:24:36', '2023-11-10 16:25:18'); +INSERT INTO `food_poly` VALUES (11, '炖', '炖', 'system', '2023-11-10 16:24:43', '2023-11-10 16:25:16'); +INSERT INTO `food_poly` VALUES (12, '煮', '煮', 'system', '2023-11-10 16:24:51', '2023-11-10 16:26:21'); +INSERT INTO `food_poly` VALUES (13, '焖', '焖', 'system', '2023-11-10 16:26:18', '2023-11-10 16:26:24'); + -- ---------------------------- -- Records of role -- ---------------------------- @@ -106,7 +121,7 @@ INSERT INTO `role_item` VALUES (11, '营养标准模型-查看', '管理端', '[ INSERT INTO `role_item` VALUES (12, '营养标准模型-新增/编辑/删除', '管理端', '[post,put,delete]:nutrition', '人群营养标准管理管理', 'system', '2023-09-03 00:55:17', '2023-09-04 01:58:02'); INSERT INTO `role_item` VALUES (13, '单位列表-查看', '管理端', '[get]:vender', '单位管理', 'system', '2023-09-03 00:58:43', '2023-09-03 01:54:37'); INSERT INTO `role_item` VALUES (14, '单位-新增/编辑/启用/禁用/删除', '管理端', '[post,put,delete]:vender', '单位管理', 'system', '2023-09-03 00:58:43', '2023-09-03 01:54:45'); -INSERT INTO `role_item` VALUES (15, '用户列表-查看', '管理端', '[get]:user', '系统设置', 'system', '2023-09-03 01:05:02', '2023-09-08 03:26:30'); +INSERT INTO `role_item` VALUES (15, '用户列表-查看', '管理端', '[get]:user|role', '系统设置', 'system', '2023-09-03 01:05:02', '2023-09-08 03:26:30'); INSERT INTO `role_item` VALUES (16, '用户-新增/编辑/删除', '管理端', '[post,put,delete]:user', '系统设置', 'system', '2023-09-03 01:06:28', '2023-09-03 01:55:55'); INSERT INTO `role_item` VALUES (17, '角色权限-查看/新增/编辑/删除', '管理端', '[get,post,put,delete]:role', '系统设置', 'system', '2023-09-03 01:05:02', '2023-09-08 03:25:32'); INSERT INTO `role_item` VALUES (18, '使用流程', '业务端', '[get]:word', '基础权限', 'system', '2023-09-03 01:09:06', '2023-09-03 01:56:45'); @@ -126,7 +141,7 @@ INSERT INTO `role_item` VALUES (31, '食谱发布计划-发布/取消发布', ' INSERT INTO `role_item` VALUES (32, '营养标准模型-查看', '业务端', '[get]:nutrition', '人群营养标准管理管理', 'system', '2023-09-03 00:55:17', '2023-09-14 23:55:36'); INSERT INTO `role_item` VALUES (33, '单位基础信息-查看', '业务端', '[get]:vender', '基础信息管理', 'system', '2023-09-03 02:04:29', '2023-09-23 00:54:50'); INSERT INTO `role_item` VALUES (34, '单位基础信息-修改', '业务端', '[post]:vender', '基础信息管理', 'system', '2023-09-03 02:05:35', '2023-09-23 00:54:52'); -INSERT INTO `role_item` VALUES (35, '用户列表-查看', '业务端', '[get]:user', '系统设置', 'system', '2023-09-03 01:05:02', '2023-09-14 23:55:51'); +INSERT INTO `role_item` VALUES (35, '用户列表-查看', '业务端', '[get]:user|role', '系统设置', 'system', '2023-09-03 01:05:02', '2023-09-14 23:55:51'); INSERT INTO `role_item` VALUES (36, '角色权限-查看/新增/编辑/删除', '业务端', '[get,post,put,delete]:role', '系统设置', 'system', '2023-09-03 01:05:02', '2023-09-14 23:55:53'); INSERT INTO `role_item` VALUES (37, '用户-新增/编辑/删除', '业务端', '[post,put,delete]:user', '系统设置', 'system', '2023-09-03 01:06:28', '2023-09-14 23:55:57'); COMMIT;