1.首先做公共字段的填充
/**
* 公共字段的填充
*/
@Component
@Slf4j
public class MyMetaObjecthandler implements MetaObjectHandler {
/**
* 插入操作 自动填充
* @param metaObject
*/
@Override
public void insertFill(MetaObject metaObject) {
log.info("公共字段自动填充[insert]......");
metaObject.setValue("createTime", LocalDateTime.now());
metaObject.setValue("updateTime", LocalDateTime.now());
metaObject.setValue("createUser", BaseContext.getCurrentId());
metaObject.setValue("updateUser", BaseContext.getCurrentId());
log.info(metaObject.toString());
}
/**
* 更新操作自动填充
* @param metaObject
*/
@Override
public void updateFill(MetaObject metaObject) {
log.info("公共字段自动填充[update]......");
metaObject.setValue("updateTime", LocalDateTime.now());
metaObject.setValue("updateUser", BaseContext.getCurrentId());
log.info(metaObject.toString());
}
}
做这些公共字段的前提我们需要在实体类上添加
这样我们才能在插入或更新数据的时候才能将这些字段进行更新。
2.实现新增菜品或套餐分类功能
分析前端页面传回的对象以及请求地址,请求方式
根据页面传回的参数我们在Category实体类中都包含属性即用Category对象进行接收
在CategoryController中编写这样一个方法来进行满足需求
@Autowired
private CategoryService categoryService;
/**
* 新增菜品分类
* @param category
* @return
*/
@PostMapping
public R<String> save(@RequestBody Category category){
categoryService.save(category);
return R.success("新增菜品成功");
}
3.实现分页查询进行数据的展示
分析:前端传回的参数,以及请求方式,请求地址
后端:创建一个分页对象,构造一个条件构造器(条件构造)
/**
* 分页查询
* @param page
* @param pageSize
* @return
*/
@GetMapping("/page")
public R<Page> page(int page,int pageSize){
LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();
//创建分页对象
Page<Category> pageInfo = new Page<>(page,pageSize);
//构造排序构造器
queryWrapper.orderByAsc(Category::getSort);
//执行查询
categoryService.page(pageInfo,queryWrapper);
return R.success(pageInfo);
}
4.更改菜品或套餐信息
分析:前端传回的参数
同样我们用一个Category对象进行接收
/**
* 根据Id修改分类
* @param category
* @return
*/
@PutMapping
public R<String> update(@RequestBody Category category){
categoryService.updateById(category);
return R.success("修改分类信息成功");
}
5.删除菜品或套餐分类
分析:
根据id进行删除
/**
* 删除菜品分类
* @param id
* @return
*/
@DeleteMapping
public R<String> delete(Long id){
//categoryService.removeById(id);
categoryService.remove(id);
return R.success("删除分类成功");
}