欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > 分类操作-01.新增分类

分类操作-01.新增分类

2025/7/4 4:05:23 来源:https://blog.csdn.net/qq_45055856/article/details/146216127  浏览:    关键词:分类操作-01.新增分类

一.新增分类

对员工操作完成后,我们要进行分类操作。分类就是对菜品进行集中管理,将菜品进行分类。分类总大类分为两类,一类是菜品分类,另一类是套餐分类。对于分类,我们定义实体类Category.class。DTO类CategoryDTO.class。

Category.class

package com.sky.entity;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
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;//分类状态 0标识禁用 1表示启用private Integer status;//创建时间private LocalDateTime createTime;//更新时间private LocalDateTime updateTime;//创建人private Long createUser;//修改人private Long updateUser;
}

CategoryDTO.class 

package com.sky.dto;import lombok.Data;import java.io.Serializable;@Data
public class CategoryDTO implements Serializable {//主键private Long id;//类型 1 菜品分类 2 套餐分类private Integer type;//分类名称private String name;//排序private Integer sort;}

二.接口文档 

针对接口文档我们开发新增分类功能,使用post请求。传递过来的参数以JSON格式被封装在employeeDTO对象中。不用给前端返回数据。

三.controller层

package com.sky.controller.admin;import com.sky.dto.CategoryDTO;
import com.sky.entity.Category;
import com.sky.result.Result;
import com.sky.service.CategoryService;
import com.sky.service.impl.CategoryServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 分类管理*/@RestController
@Api(tags = "分类相关接口")
@RequestMapping("/admin/category")
@Slf4j
public class CategoryController {@Autowiredprivate CategoryService categoryService;/*** 新增分类* @param categoryDTO* @return*/@PostMapping@ApiOperation("新增分类")public Result save(@RequestBody CategoryDTO categoryDTO){log.info("新增分类:{}",categoryDTO);categoryService.save(categoryDTO);return Result.success();}}

四.service层

接口

package com.sky.service;import com.sky.dto.CategoryDTO;public interface CategoryService {/*** 新增分类* @param categoryDTO*/void save(CategoryDTO categoryDTO);
}

实现类

package com.sky.service.impl;import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.entity.Category;
import com.sky.mapper.CategoryMapper;
import com.sky.service.CategoryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.time.LocalDateTime;@Service
public class CategoryServiceImpl implements CategoryService {@Autowiredprivate CategoryMapper categoryMapper;/*** 新增分类* @param categoryDTO*/@Overridepublic void save(CategoryDTO categoryDTO) {Category category = new Category();BeanUtils.copyProperties(category,categoryDTO);category.setStatus(StatusConstant.DISABLE);category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());category.setCreateUser(BaseContext.getCurrentId());category.setUpdateUser(BaseContext.getCurrentId());categoryMapper.insert(category);}
}

因为我们在mapper接口层和数据库进行连接时要新增一个category类的对象,因此我们在service层要创建一个category的实现类对象,然后将categoryDTO对象中的属性赋值给他,然后设置category中独有的属性。这其中status表示启用或者禁用该分类,我们要注意这里我们默认将其设置为0,这是因为我们当前的分类中还没有添加菜品,因此先不展示给用户。这里的setUpdateUser仍然使用ThreadLocal来获取。

五.mapper层

package com.sky.mapper;import com.sky.entity.Category;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface CategoryMapper {/*** 新增分类接口* @param category*/@Insert("insert into category(type, name, sort, status, create_time, update_time, create_user, update_user) " +"values " +"(#{type},#{name},#{sort},#{status},#{createTime},#{updateTime},#{createUser},#{updateUser})")void insert(Category category);
}

前后端联调 

可以看到数据已加入

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词