营养类别等相关接口改动

This commit is contained in:
liux 2025-04-10 09:22:32 +08:00
parent 4d50b29254
commit 4015c6942f
17 changed files with 368 additions and 34 deletions

View File

@ -1,6 +1,7 @@
package com.bonus.canteen.core.menu.controller; package com.bonus.canteen.core.menu.controller;
import com.bonus.canteen.core.menu.domain.MenuMaterial; import com.bonus.canteen.core.menu.domain.MenuMaterial;
import com.bonus.canteen.core.menu.dto.MenuDishesTypeAddDTO;
import com.bonus.canteen.core.menu.service.MenuDishesTypeService; import com.bonus.canteen.core.menu.service.MenuDishesTypeService;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
@ -41,4 +42,17 @@ public class MenuDishesTypeController extends BaseController {
} }
} }
@ApiOperation(value = "新增菜品类别")
//@PreventRepeatSubmit
//@RequiresPermissions("menu:material:edit")
@SysLog(title = "新增菜品类别", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->新增菜品类别")
@PostMapping("/addMenuDishesType")
public AjaxResult addMenuDishesType(@RequestBody MenuDishesTypeAddDTO content) {
try {
return success(menuDishesTypeService.addMenuDishesType(content));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
}
} }

View File

@ -4,7 +4,9 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.bonus.canteen.core.menu.domain.MenuNutritionType; import com.bonus.canteen.core.menu.domain.MenuNutritionType;
import com.bonus.canteen.core.menu.dto.MenuNutritionTypeDTO;
import com.bonus.canteen.core.menu.service.IMenuNutritionTypeService; import com.bonus.canteen.core.menu.service.IMenuNutritionTypeService;
import com.bonus.canteen.core.menu.vo.NutritionTypeV2VO;
import com.bonus.canteen.core.menu.vo.NutritionTypeVo; import com.bonus.canteen.core.menu.vo.NutritionTypeVo;
import com.bonus.common.log.enums.OperaType; import com.bonus.common.log.enums.OperaType;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -78,7 +80,7 @@ public class MenuNutritionTypeController extends BaseController {
//@PreventRepeatSubmit //@PreventRepeatSubmit
//@RequiresPermissions("menu:type:add") //@RequiresPermissions("menu:type:add")
@SysLog(title = "营养基础类型", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增营养基础类型") @SysLog(title = "营养基础类型", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增营养基础类型")
@PostMapping @PostMapping("/add")
public AjaxResult add(@RequestBody MenuNutritionType menuNutritionType) { public AjaxResult add(@RequestBody MenuNutritionType menuNutritionType) {
try { try {
return toAjax(menuNutritionTypeService.insertMenuNutritionType(menuNutritionType)); return toAjax(menuNutritionTypeService.insertMenuNutritionType(menuNutritionType));
@ -110,16 +112,16 @@ public class MenuNutritionTypeController extends BaseController {
//@PreventRepeatSubmit //@PreventRepeatSubmit
//@RequiresPermissions("menu:type:remove") //@RequiresPermissions("menu:type:remove")
@SysLog(title = "营养基础类型", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除营养基础类型") @SysLog(title = "营养基础类型", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除营养基础类型")
@PostMapping("/del/{ids}") @PostMapping("/del")
public AjaxResult remove(@PathVariable Long[] ids) { public AjaxResult remove(@RequestBody MenuNutritionTypeDTO menuNutritionTypeDTO) {
return toAjax(menuNutritionTypeService.deleteMenuNutritionTypeByIds(ids)); return toAjax(menuNutritionTypeService.deleteMenuNutritionTypeByIds(menuNutritionTypeDTO.getIds()));
} }
@PostMapping({"/nutritionTypeList"}) @PostMapping({"/nutritionTypeList"})
@ApiOperation("获取所有食材类别") @ApiOperation("获取所有食材类别")
@SysLog(title = "营养基础类型", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除营养基础类型") @SysLog(title = "营养基础类型", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除营养基础类型")
public AjaxResult getNutritionTypeList() { public AjaxResult getNutritionTypeList() {
List<NutritionTypeVo> nutritionTypeList = this.menuNutritionTypeService.getNutritionTypeList(); List<NutritionTypeV2VO> nutritionTypeList = this.menuNutritionTypeService.getNutritionTypeList();
return AjaxResult.success(nutritionTypeList); return AjaxResult.success(nutritionTypeList);
} }

View File

@ -0,0 +1,42 @@
package com.bonus.canteen.core.menu.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@TableName("menu_dishes_type")
@ApiModel("菜品类型信息")
@Data
public class MenuDishesType extends Model<MenuDishesType> {
private static final long serialVersionUID = 1L;
@TableId
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("菜品类型id")
private Long typeId;
@ApiModelProperty("菜品类型名称")
private String typeName;
@ApiModelProperty("类别别称")
private String aliasName;
@ApiModelProperty("是否默认(1-默认,2-非默认)")
private Integer defaultFlag;
@ApiModelProperty("删除标识")
private Integer delFlag;
@ApiModelProperty("乐观锁")
private Integer revision;
@ApiModelProperty("创建人")
private String crby;
@ApiModelProperty("创建时间")
private LocalDateTime crtime;
@ApiModelProperty("更新人")
private String upby;
@ApiModelProperty("更新时间")
private LocalDateTime uptime;
}

View File

@ -1,5 +1,7 @@
package com.bonus.canteen.core.menu.domain; package com.bonus.canteen.core.menu.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -8,7 +10,7 @@ import com.bonus.common.core.web.domain.BaseEntity;
/** /**
* 营养基础类型对象 menu_nutrition_type * 营养基础类型对象 menu_nutrition_type
* *
* @author xsheng * @author xsheng
* @date 2025-04-03 * @date 2025-04-03
*/ */
@ -35,5 +37,13 @@ public class MenuNutritionType extends BaseEntity {
/** 删除标志0代表存在 1代表删除 */ /** 删除标志0代表存在 1代表删除 */
private String delFlag; private String delFlag;
@ApiModelProperty(value = "上传人")
private String createBy;
@ApiModelProperty(value = "修改人")
private String updateBy;
@ApiModelProperty(value = "层级")
private String level;
} }

View File

@ -0,0 +1,31 @@
package com.bonus.canteen.core.menu.dto;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
public class MenuDishesTypeAddDTO implements Serializable {
@ApiModelProperty("菜品类型名称")
private @NotBlank(
message = "{menu_type_name_null}"
) String typeName;
@ApiModelProperty("类别别称")
private String aliasName;
public String getTypeName() {
return this.typeName;
}
public String getAliasName() {
return this.aliasName;
}
public void setTypeName(final String typeName) {
this.typeName = typeName;
}
public void setAliasName(final String aliasName) {
this.aliasName = aliasName;
}
}

View File

@ -0,0 +1,41 @@
package com.bonus.canteen.core.menu.dto;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
public class MenuDishesTypeEditDTO implements Serializable {
@ApiModelProperty("菜品类型id")
private @NotNull(
message = "{menu_type_id_null}"
) Long typeId;
@ApiModelProperty("菜品类型名称")
private String typeName;
@ApiModelProperty("类别别称")
private String aliasName;
public Long getTypeId() {
return this.typeId;
}
public String getTypeName() {
return this.typeName;
}
public String getAliasName() {
return this.aliasName;
}
public void setTypeId(final Long typeId) {
this.typeId = typeId;
}
public void setTypeName(final String typeName) {
this.typeName = typeName;
}
public void setAliasName(final String aliasName) {
this.aliasName = aliasName;
}
}

View File

@ -0,0 +1,12 @@
package com.bonus.canteen.core.menu.dto;
import lombok.Data;
/**
* @author xliu
* @date 2025/4/9 17:52
*/
@Data
public class MenuNutritionTypeDTO {
private Integer[] ids;
}

View File

@ -0,0 +1,57 @@
package com.bonus.canteen.core.menu.enums;
public enum MenuDishesTypeDefaultFlagEnum {
DEFAULT(1, "默认"),
NOT_DEFAULT(2, "非默认");
private final Integer key;
private final String value;
private MenuDishesTypeDefaultFlagEnum(Integer key, String value) {
this.key = key;
this.value = value;
}
public static Integer getKey(String value) {
MenuDishesTypeDefaultFlagEnum[] enums = values();
MenuDishesTypeDefaultFlagEnum[] var2 = enums;
int var3 = enums.length;
for(int var4 = 0; var4 < var3; ++var4) {
MenuDishesTypeDefaultFlagEnum temp = var2[var4];
if (temp.value().equals(value)) {
return temp.key();
}
}
return null;
}
public static String getValue(Integer key) {
MenuDishesTypeDefaultFlagEnum[] enums = values();
MenuDishesTypeDefaultFlagEnum[] var2 = enums;
int var3 = enums.length;
for(int var4 = 0; var4 < var3; ++var4) {
MenuDishesTypeDefaultFlagEnum temp = var2[var4];
if (temp.key().equals(key)) {
return temp.value();
}
}
return null;
}
public Integer key() {
return this.key;
}
public String value() {
return this.value;
}
// $FF: synthetic method
private static MenuDishesTypeDefaultFlagEnum[] $values() {
return new MenuDishesTypeDefaultFlagEnum[]{DEFAULT, NOT_DEFAULT};
}
}

View File

@ -1,5 +1,7 @@
package com.bonus.canteen.core.menu.mapper; package com.bonus.canteen.core.menu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bonus.canteen.core.menu.domain.MenuDishesType;
import com.bonus.canteen.core.menu.domain.MenuMaterial; import com.bonus.canteen.core.menu.domain.MenuMaterial;
import com.bonus.canteen.core.menu.vo.MenuDishesTypeAllVO; import com.bonus.canteen.core.menu.vo.MenuDishesTypeAllVO;
@ -11,7 +13,7 @@ import java.util.List;
* @author xsheng * @author xsheng
* @date 2025-04-03 * @date 2025-04-03
*/ */
public interface MenuDishesTypeMapper { public interface MenuDishesTypeMapper extends BaseMapper<MenuDishesType> {
List<MenuDishesTypeAllVO> getAllMenuDishesTypeList(); List<MenuDishesTypeAllVO> getAllMenuDishesTypeList();

View File

@ -3,6 +3,8 @@ package com.bonus.canteen.core.menu.mapper;
import java.util.List; import java.util.List;
import com.bonus.canteen.core.menu.domain.MenuNutritionType; import com.bonus.canteen.core.menu.domain.MenuNutritionType;
import com.bonus.canteen.core.menu.vo.NutritionTypeV2VO;
import org.apache.ibatis.annotations.Select;
/** /**
* 营养基础类型Mapper接口 * 营养基础类型Mapper接口
@ -57,9 +59,15 @@ public interface MenuNutritionTypeMapper {
* @param ids 需要删除的数据主键集合 * @param ids 需要删除的数据主键集合
* @return 结果 * @return 结果
*/ */
public int deleteMenuNutritionTypeByIds(Long[] ids); public int deleteMenuNutritionTypeByIds(Integer[] ids);
List<String> selectBigTypeList(); List<MenuNutritionType> selectBigTypeList();
List<NutritionTypeV2VO> selectLittleTypeList(String parentId);
MenuNutritionType getOne(MenuNutritionType menuNutritionType);
MenuNutritionType getParentOne(MenuNutritionType menuNutritionType);
List<String> selectLittleTypeList(String bigType);
} }

View File

@ -3,6 +3,7 @@ package com.bonus.canteen.core.menu.service;
import java.util.List; import java.util.List;
import com.bonus.canteen.core.menu.domain.MenuNutritionType; import com.bonus.canteen.core.menu.domain.MenuNutritionType;
import com.bonus.canteen.core.menu.vo.NutritionTypeV2VO;
import com.bonus.canteen.core.menu.vo.NutritionTypeVo; import com.bonus.canteen.core.menu.vo.NutritionTypeVo;
/** /**
@ -50,7 +51,7 @@ public interface IMenuNutritionTypeService {
* @param ids 需要删除的营养基础类型主键集合 * @param ids 需要删除的营养基础类型主键集合
* @return 结果 * @return 结果
*/ */
public int deleteMenuNutritionTypeByIds(Long[] ids); public int deleteMenuNutritionTypeByIds(Integer[] ids);
/** /**
* 删除营养基础类型信息 * 删除营养基础类型信息
@ -60,5 +61,5 @@ public interface IMenuNutritionTypeService {
*/ */
public int deleteMenuNutritionTypeById(Long id); public int deleteMenuNutritionTypeById(Long id);
List<NutritionTypeVo> getNutritionTypeList(); List<NutritionTypeV2VO> getNutritionTypeList();
} }

View File

@ -1,5 +1,8 @@
package com.bonus.canteen.core.menu.service; package com.bonus.canteen.core.menu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bonus.canteen.core.menu.domain.MenuDishesType;
import com.bonus.canteen.core.menu.dto.MenuDishesTypeAddDTO;
import com.bonus.canteen.core.menu.vo.MenuDishesTypeAllVO; import com.bonus.canteen.core.menu.vo.MenuDishesTypeAllVO;
import java.util.List; import java.util.List;
@ -8,8 +11,10 @@ import java.util.List;
* @author xliu * @author xliu
* @date 2025/4/8 19:16 * @date 2025/4/8 19:16
*/ */
public interface MenuDishesTypeService { public interface MenuDishesTypeService extends IService<MenuDishesType> {
List<MenuDishesTypeAllVO> getAllMenuDishesTypeList(); List<MenuDishesTypeAllVO> getAllMenuDishesTypeList();
int addMenuDishesType(MenuDishesTypeAddDTO content);
} }

View File

@ -1,8 +1,19 @@
package com.bonus.canteen.core.menu.service.impl; package com.bonus.canteen.core.menu.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bonus.canteen.core.menu.dto.MenuDishesTypeAddDTO;
import com.bonus.canteen.core.menu.mapper.MenuDishesTypeMapper; import com.bonus.canteen.core.menu.mapper.MenuDishesTypeMapper;
import com.bonus.canteen.core.menu.service.MenuDishesTypeService; import com.bonus.canteen.core.menu.service.MenuDishesTypeService;
import com.bonus.canteen.core.menu.domain.MenuDishesType;
import com.bonus.canteen.core.menu.vo.MenuDishesTypeAllVO; import com.bonus.canteen.core.menu.vo.MenuDishesTypeAllVO;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.houqin.constant.DelFlagEnum;
import com.bonus.common.houqin.i18n.I18n;
import com.bonus.common.houqin.utils.id.Id;
import com.bonus.common.security.utils.SecurityUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -13,7 +24,7 @@ import java.util.List;
* @date 2025/4/8 19:16 * @date 2025/4/8 19:16
*/ */
@Service @Service
public class MenuDishesTypeServiceImpl implements MenuDishesTypeService { public class MenuDishesTypeServiceImpl extends ServiceImpl<MenuDishesTypeMapper, MenuDishesType> implements MenuDishesTypeService {
@Resource @Resource
private MenuDishesTypeMapper menuDishesTypeMapper; private MenuDishesTypeMapper menuDishesTypeMapper;
@ -22,4 +33,22 @@ public class MenuDishesTypeServiceImpl implements MenuDishesTypeService {
public List<MenuDishesTypeAllVO> getAllMenuDishesTypeList() { public List<MenuDishesTypeAllVO> getAllMenuDishesTypeList() {
return menuDishesTypeMapper.getAllMenuDishesTypeList(); return menuDishesTypeMapper.getAllMenuDishesTypeList();
} }
@Override
public int addMenuDishesType(MenuDishesTypeAddDTO content) {
List<MenuDishesType> cookList = this.baseMapper.selectList(Wrappers.lambdaQuery(MenuDishesType.class)
.eq(MenuDishesType::getTypeName, content.getTypeName())
.eq(MenuDishesType::getDelFlag, DelFlagEnum.DEL_FALSE.key()));
if (CollUtil.isNotEmpty(cookList)) {
throw new ServiceException(I18n.getMessage("menu_type_name_repeat", new Object[0]));
} else {
String username = SecurityUtils.getUsername();
MenuDishesType dishesType = new MenuDishesType();
BeanUtil.copyProperties(content, dishesType, new String[0]);
dishesType.setCrby(username);
dishesType.setTypeId(Id.next());
return this.baseMapper.insert(dishesType);
}
}
} }

View File

@ -4,10 +4,13 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import cn.hutool.system.UserInfo;
import com.bonus.canteen.core.menu.mapper.MenuNutritionMapper; import com.bonus.canteen.core.menu.mapper.MenuNutritionMapper;
import com.bonus.canteen.core.menu.vo.NutritionTypeV2VO;
import com.bonus.canteen.core.menu.vo.NutritionTypeVo; import com.bonus.canteen.core.menu.vo.NutritionTypeVo;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.bonus.canteen.core.menu.mapper.MenuNutritionTypeMapper; import com.bonus.canteen.core.menu.mapper.MenuNutritionTypeMapper;
@ -55,7 +58,21 @@ public class MenuNutritionTypeServiceImpl implements IMenuNutritionTypeService {
*/ */
@Override @Override
public int insertMenuNutritionType(MenuNutritionType menuNutritionType) { public int insertMenuNutritionType(MenuNutritionType menuNutritionType) {
menuNutritionType.setCreateTime(DateUtils.getNowDate()); menuNutritionType.setCreateBy(SecurityUtils.getUserId()+"");
MenuNutritionType one = menuNutritionTypeMapper.getOne(menuNutritionType);
if(one !=null ){
throw new ServiceException("该营养基础类型已存在");
}
MenuNutritionType getParentOne = menuNutritionTypeMapper.getParentOne(menuNutritionType);
if(getParentOne == null){
throw new ServiceException("无效的父级节点");
}else{
if("2".equals(getParentOne.getLevel())){
throw new ServiceException("不允许添加三级节点");
}else{
menuNutritionType.setLevel("2");
}
}
try { try {
return menuNutritionTypeMapper.insertMenuNutritionType(menuNutritionType); return menuNutritionTypeMapper.insertMenuNutritionType(menuNutritionType);
} catch (Exception e) { } catch (Exception e) {
@ -71,7 +88,11 @@ public class MenuNutritionTypeServiceImpl implements IMenuNutritionTypeService {
*/ */
@Override @Override
public int updateMenuNutritionType(MenuNutritionType menuNutritionType) { public int updateMenuNutritionType(MenuNutritionType menuNutritionType) {
menuNutritionType.setUpdateTime(DateUtils.getNowDate()); menuNutritionType.setCreateBy(SecurityUtils.getUserId()+"");
MenuNutritionType one = menuNutritionTypeMapper.getOne(menuNutritionType);
if(one !=null ){
throw new ServiceException("该营养基础类型已存在");
}
try { try {
return menuNutritionTypeMapper.updateMenuNutritionType(menuNutritionType); return menuNutritionTypeMapper.updateMenuNutritionType(menuNutritionType);
} catch (Exception e) { } catch (Exception e) {
@ -86,7 +107,7 @@ public class MenuNutritionTypeServiceImpl implements IMenuNutritionTypeService {
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteMenuNutritionTypeByIds(Long[] ids) { public int deleteMenuNutritionTypeByIds(Integer[] ids) {
return menuNutritionTypeMapper.deleteMenuNutritionTypeByIds(ids); return menuNutritionTypeMapper.deleteMenuNutritionTypeByIds(ids);
} }
@ -103,20 +124,28 @@ public class MenuNutritionTypeServiceImpl implements IMenuNutritionTypeService {
@Override @Override
public List<NutritionTypeVo> getNutritionTypeList() { public List<NutritionTypeV2VO> getNutritionTypeList() {
List<String> bigTypeList =menuNutritionTypeMapper.selectBigTypeList(); List<MenuNutritionType> bigTypeList =menuNutritionTypeMapper.selectBigTypeList();
List<NutritionTypeVo> nutritionTypeVOList = new ArrayList(); List<NutritionTypeV2VO> nutritionTypeVOList = new ArrayList();
Iterator var3 = bigTypeList.iterator(); for(MenuNutritionType menuNutritionType : bigTypeList){
NutritionTypeV2VO nutritionTypeVO = new NutritionTypeV2VO();
while(var3.hasNext()) { List<NutritionTypeV2VO> littleTypeList = menuNutritionTypeMapper.selectLittleTypeList(menuNutritionType.getId()+"");
String bigType = (String)var3.next(); nutritionTypeVO.setId(Integer.parseInt(menuNutritionType.getId()+""));
NutritionTypeVo nutritionTypeVO = new NutritionTypeVo(); nutritionTypeVO.setBigType(menuNutritionType.getName());
List<String> littleTypeList = menuNutritionTypeMapper.selectLittleTypeList(bigType);
nutritionTypeVO.setBigType(bigType);
nutritionTypeVO.setLittleTypeList(littleTypeList); nutritionTypeVO.setLittleTypeList(littleTypeList);
nutritionTypeVOList.add(nutritionTypeVO); nutritionTypeVOList.add(nutritionTypeVO);
} }
//
// while(var3.hasNext()) {
// String bigType = (String)var3.next();
// NutritionTypeV2VO nutritionTypeVO = new NutritionTypeV2VO();
// List<MenuNutritionType> littleTypeList = menuNutritionTypeMapper.selectLittleTypeList(bigType);
// nutritionTypeVO.setBigType(bigType);
// nutritionTypeVO.setLittleTypeList(littleTypeList);
// nutritionTypeVOList.add(nutritionTypeVO);
// }
// TreeNodeUtil.assembleTree(list);
return nutritionTypeVOList; return nutritionTypeVOList;
} }
} }

View File

@ -0,0 +1,13 @@
package com.bonus.canteen.core.menu.vo;
import com.bonus.canteen.core.menu.domain.BaseTreeNode;
import lombok.Data;
/**
* @author xliu
* @date 2025/4/9 18:03
*/
@Data
public class MenuNutritionTypeVO extends BaseTreeNode {
private String typeName;
}

View File

@ -0,0 +1,25 @@
package com.bonus.canteen.core.menu.vo;
import com.bonus.canteen.core.menu.domain.MenuNutritionType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author xliu
* @date 2025/4/7 16:47
*/
@Data
public class NutritionTypeV2VO {
@ApiModelProperty("唯一标识")
private Integer id;
@ApiModelProperty("大类")
private String bigType;
@ApiModelProperty("小类")
private List<NutritionTypeV2VO> littleTypeList;
}

View File

@ -41,6 +41,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="level != null">level,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">#{name},</if> <if test="name != null">#{name},</if>
@ -50,6 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="level != null">#{level},</if>
</trim> </trim>
</insert> </insert>
@ -63,6 +66,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="level != null">level = #{level},</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
@ -71,12 +76,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from menu_nutrition_type where id = #{id} delete from menu_nutrition_type where id = #{id}
</delete> </delete>
<delete id="deleteMenuNutritionTypeByIds" parameterType="String"> <update id="deleteMenuNutritionTypeByIds" parameterType="String">
delete from menu_nutrition_type where id in update menu_nutrition_type set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
</delete> </update>
<select id="selectTypeList" parameterType="String" resultType="String"> <select id="selectTypeList" parameterType="String" resultType="String">
select distinct big_type from menu_nutrition select distinct big_type from menu_nutrition
@ -86,12 +91,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select distinct little_type from menu_nutrition where big_type = #{bigType} select distinct little_type from menu_nutrition where big_type = #{bigType}
</select> </select>
<select id="selectBigTypeList" resultType="java.lang.String"> <select id="selectBigTypeList" resultMap="MenuNutritionTypeResult">
select distinct big_type from menu_nutrition select * from menu_nutrition_type where level = 1 and del_flag = 0
</select> </select>
<select id="selectLittleTypeList" resultType="java.lang.String"> <select id="selectLittleTypeList" resultType="com.bonus.canteen.core.menu.vo.NutritionTypeV2VO">
select distinct little_type from menu_nutrition where big_type = #{bigType} select id,name as bigType from menu_nutrition_type where level = 2 and del_flag = 0 and parent_id = #{parentId}
</select>
<select id="getOne" resultMap="MenuNutritionTypeResult" parameterType="com.bonus.canteen.core.menu.domain.MenuNutritionType">
select * from menu_nutrition_type where name = #{name} and parent_id = #{parentId} and del_flag = 0 limit 1
</select>
<select id="getParentOne" resultMap="MenuNutritionTypeResult" parameterType="com.bonus.canteen.core.menu.domain.MenuNutritionType">
select * from menu_nutrition_type where id = #{parentId} and del_flag = 0 limit 1
</select> </select>