瑞吉外卖(10) - 新增分类功能

需求分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HGTkL5FJ-1654562432552)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607065711885.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3c05to3n-1654562432553)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607065754519.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riLfqFPD-1654562432554)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607065856488.png)]

数据模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DSq0dN2K-1654562432554)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607070157889.png)]

代码开发

结构搭建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9kiT7ZxB-1654562432555)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607070226158.png)]

实体类Category.java

package com.taotao.reggie.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 分类
 */
@Data
public class Category implements Serializable {
    
    

    private static final long serialVersionUID = 1L;

    private Long id;


    //类型 1 菜品分类 2 套餐分类
    private Integer type;


    //分类名称
    private String name;


    //顺序
    private Integer sort;


    //创建时间
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;


    //更新时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    //创建人
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;


    //修改人
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;

}

Mapper接口开发

package com.taotao.reggie.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.taotao.reggie.entity.Category;
import org.apache.ibatis.annotations.Mapper;

/**
 * create by 刘鸿涛
 * 2022/6/7 7:07
 */
@SuppressWarnings({
    
    "all"})
@Mapper
public interface CategoryMapper extends BaseMapper<Category> {
    
    

}

业务层接口CategoryService.java

package com.taotao.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.taotao.reggie.entity.Category;

/**
 * create by 刘鸿涛
 * 2022/6/7 7:10
 */
@SuppressWarnings({
    
    "all"})
public interface CategoryService extends IService<Category> {
    
    
}

业务层实现类CategoryServiceImpl.java

package com.taotao.reggie.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.taotao.reggie.entity.Category;
import com.taotao.reggie.mapper.CategoryMapper;
import com.taotao.reggie.service.CategoryService;
import org.springframework.stereotype.Service;

/**
 * create by 刘鸿涛
 * 2022/6/7 7:12
 */
@SuppressWarnings({
    
    "all"})
@Service
public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> implements CategoryService {
    
    
}

控制层CategoryController.java

package com.taotao.reggie.controller;

import com.taotao.reggie.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * create by 刘鸿涛
 * 2022/6/7 8:09
 * 分类管理
 */
@SuppressWarnings({
    
    "all"})
@RestController
@RequestMapping("/category")
public class CategoryController {
    
    
    @Autowired
    private CategoryService categoryService;
}

新增分类-功能开发

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L3DUAu6r-1654562432557)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607081239546.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M8Au7550-1654562432558)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607081336051.png)]

前端分析

每个功能对应一个type

“菜品分类”为1

“套餐分类”为2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ah25xqvS-1654562432559)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607082120729.png)]

新增分类方法CategoryController.java

    /**
     * 新增分类
     * @param category
     * @return
     */
    @PostMapping
    public R<String> save(@RequestBody Category category){
    
    
        log.info("category:{}",category);
        categoryService.save(category);
        return R.success("新增分类成功");
    }

功能测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9x70VpiH-1654562432560)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607083042274.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D8Ql35f1-1654562432561)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607083220732.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8KrT5tug-1654562432562)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607083413290.png)]

遇到问题

再次添加

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EktLbreD-1654562432562)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607083501469.png)]

因为我们的全局异常处理在起作用,(这就是全局异常处理的亮点)

在数据库中删除再次添加即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f433ZqSt-1654562432563)(%E7%91%9E%E5%90%89%E5%A4%96%E5%8D%96.assets/image-20220607083633094.png)]

猜你喜欢

转载自blog.csdn.net/qq_39123467/article/details/125158421