当前位置: 首页 > news >正文

在电脑上怎么创建微网站吗手机网页及网站设计 pdf

在电脑上怎么创建微网站吗,手机网页及网站设计 pdf,科技布沙发优缺点,重庆品牌设计公司目录 一、分类页面的分页和模糊查询 1、CategoryController类修改 2、CategoryService和impl的修改 3、CategoryMapper的创建 二、新增分类 1、Category类的修改 2、CategoryController类修改 3、CategoryService和impl的修改 4、CategoryMapper的修改 三、启用和禁用…

目录

一、分类页面的分页和模糊查询

1、CategoryController类修改

2、CategoryService和impl的修改

3、CategoryMapper的创建

二、新增分类

1、Category类的修改

2、CategoryController类修改

3、CategoryService和impl的修改

4、CategoryMapper的修改

三、启用和禁用分类

1、CategoryController类修改

2、CategoryService和impl的修改

3、CategoryMapper的修改

四、分类修改

1、CategoryController类修改

2、CategoryService和impl的修改

3、CategoryMapper的修改

五、分类删除

1、新增分类的报错提示消息

2、CategoryController类修改

3、CategoryService和impl的修改

4、CategoryMapper的修改


        事前说明:原视频教程中使用的是mybaits,我想试试能不能通过mybatis-plus做一下这个项目。由于日常工作外加上我的私人生活,视频一天的课,我可能得一周甚至更多时间才能敲完。文章中插入的代码是实现上一个功能的基础上加上新的功能,所以想看这个模块的完整代码,直接看最后一个标题的内容或者通过我的gitee地址看就行。

苍穹外卖mybatis-plus版https://gitee.com/xxyzc/sky-take-out

一、分类页面的分页和模糊查询

1、CategoryController类修改

package com.sky.controller.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.CategoryService;
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.*;@RestController
@RequestMapping("/admin/category")
@Slf4j
@Api(tags = "分类相关操作")
public class CategoryController {@Autowiredprivate CategoryService categoryService;/*** 模糊查询和分页查询分类** @return*/@ApiOperation("模糊和分页查询分类")@GetMapping("/page")public Result<PageResult> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("查询条件:categoryPageQueryDTO:{}", categoryPageQueryDTO);IPage<Category> categoryList = categoryService.getCategoryList(categoryPageQueryDTO);PageResult pageResult = new PageResult();pageResult.setTotal(categoryList.getTotal());pageResult.setRecords(categoryList.getRecords());return Result.success(pageResult);}
}

2、CategoryService和impl的修改

package com.sky.service;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;public interface CategoryService {/*** 根据前台查询条件查询分类列表** @param categoryPageQueryDTO* @return*/IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO);
}
package com.sky.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.constant.MessageConstant;
import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.entity.Dish;
import com.sky.entity.Setmeal;
import com.sky.exception.DeletionNotAllowedException;
import com.sky.mapper.CategoryMapper;
import com.sky.mapper.DishMapper;
import com.sky.mapper.SetmealMapper;
import com.sky.service.CategoryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.time.LocalDateTime;
import java.util.List;@Service
@Slf4j
public class CategoryServiceImpl implements CategoryService {@Autowiredprivate CategoryMapper categoryMapper;@Overridepublic IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("service:categoryPageQueryDTO:{}", categoryPageQueryDTO);LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.like(StringUtils.isNotEmpty(categoryPageQueryDTO.getName()), Category::getName, categoryPageQueryDTO.getName()).like(categoryPageQueryDTO.getType() != null, Category::getType, categoryPageQueryDTO.getType()).orderByAsc(Category::getSort);IPage<Category> iPage = new Page<>(categoryPageQueryDTO.getPage(), categoryPageQueryDTO.getPageSize());return categoryMapper.selectPage(iPage, queryWrapper);}
}

3、CategoryMapper的创建

package com.sky.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sky.entity.Category;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface CategoryMapper extends BaseMapper<Category> {}

二、新增分类

1、Category类的修改

刚完成新增操作后,数据库中分类表的id是一大长串的值,为了让它自动递增,完成下列操作

        (1)、在id属性上加上@TableId(value = "id", type = IdType.AUTO),

        (2)、navicate中操作:选中数据库表category,右键点击“设计表”后弹出这个窗口,点“自动递增”,把那一大串的值修改成1。

修改后新增时可以让id值+1,从而避免新增时数据库中的id是一大长串的数字。

package com.sky.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;@TableId(value = "id", type = IdType.AUTO)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;
}

2、CategoryController类修改

package com.sky.controller.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.CategoryService;
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.*;@RestController
@RequestMapping("/admin/category")
@Slf4j
@Api(tags = "分类相关操作")
public class CategoryController {@Autowiredprivate CategoryService categoryService;/*** 模糊查询和分页查询分类** @return*/@ApiOperation("模糊和分页查询分类")@GetMapping("/page")public Result<PageResult> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("查询条件:categoryPageQueryDTO:{}", categoryPageQueryDTO);IPage<Category> categoryList = categoryService.getCategoryList(categoryPageQueryDTO);PageResult pageResult = new PageResult();pageResult.setTotal(categoryList.getTotal());pageResult.setRecords(categoryList.getRecords());return Result.success(pageResult);}/*** 新增分类** @param categoryDTO 分类信息* @return*/@ApiOperation("新增分类")@PostMappingpublic Result<String> addCategory(@RequestBody CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);categoryService.addCategory(categoryDTO);return Result.success();}
}

3、CategoryService和impl的修改

package com.sky.service;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;public interface CategoryService {/*** 根据前台查询条件查询分类列表** @param categoryPageQueryDTO* @return*/IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO);/*** 新增分类** @param categoryDTO 新的分类信息*/void addCategory(CategoryDTO categoryDTO);
}
package com.sky.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.constant.MessageConstant;
import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.entity.Dish;
import com.sky.entity.Setmeal;
import com.sky.exception.DeletionNotAllowedException;
import com.sky.mapper.CategoryMapper;
import com.sky.mapper.DishMapper;
import com.sky.mapper.SetmealMapper;
import com.sky.service.CategoryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.time.LocalDateTime;
import java.util.List;@Service
@Slf4j
public class CategoryServiceImpl implements CategoryService {@Autowiredprivate CategoryMapper categoryMapper;@Overridepublic IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("service:categoryPageQueryDTO:{}", categoryPageQueryDTO);LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.like(StringUtils.isNotEmpty(categoryPageQueryDTO.getName()), Category::getName, categoryPageQueryDTO.getName()).like(categoryPageQueryDTO.getType() != null, Category::getType, categoryPageQueryDTO.getType()).orderByAsc(Category::getSort);IPage<Category> iPage = new Page<>(categoryPageQueryDTO.getPage(), categoryPageQueryDTO.getPageSize());return categoryMapper.selectPage(iPage, queryWrapper);}@Overridepublic void addCategory(CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);Category category = new Category();BeanUtils.copyProperties(categoryDTO, category);// 要求新增的分类是禁用状态,所以status=0category.setStatus(0);category.setCreateUser(BaseContext.getCurrentId());category.setUpdateUser(BaseContext.getCurrentId());category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());categoryMapper.insert(category);}
}

4、CategoryMapper的修改

mapper不用修改!!!

三、启用和禁用分类

1、CategoryController类修改

package com.sky.controller.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.CategoryService;
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.*;@RestController
@RequestMapping("/admin/category")
@Slf4j
@Api(tags = "分类相关操作")
public class CategoryController {@Autowiredprivate CategoryService categoryService;/*** 模糊查询和分页查询分类** @return*/@ApiOperation("模糊和分页查询分类")@GetMapping("/page")public Result<PageResult> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("查询条件:categoryPageQueryDTO:{}", categoryPageQueryDTO);IPage<Category> categoryList = categoryService.getCategoryList(categoryPageQueryDTO);PageResult pageResult = new PageResult();pageResult.setTotal(categoryList.getTotal());pageResult.setRecords(categoryList.getRecords());return Result.success(pageResult);}/*** 新增分类** @param categoryDTO 分类信息* @return*/@ApiOperation("新增分类")@PostMappingpublic Result<String> addCategory(@RequestBody CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);categoryService.addCategory(categoryDTO);return Result.success();}@ApiOperation("启用、禁用分类")@PostMapping("/status/{status}")public Result<String> changeStatus(@PathVariable Integer status, Long id) {log.info("启用、禁用分类:{};id:{}", status, id);categoryService.changeStatus(status, id);return Result.success();}
}

2、CategoryService和impl的修改

package com.sky.service;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;public interface CategoryService {/*** 根据前台查询条件查询分类列表** @param categoryPageQueryDTO* @return*/IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO);/*** 新增分类** @param categoryDTO 新的分类信息*/void addCategory(CategoryDTO categoryDTO);/*** 启用、禁用分类** @param status 修改后的状态* @param id     分类的id*/void changeStatus(Integer status, Long id);
}
package com.sky.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.constant.MessageConstant;
import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.entity.Dish;
import com.sky.entity.Setmeal;
import com.sky.exception.DeletionNotAllowedException;
import com.sky.mapper.CategoryMapper;
import com.sky.mapper.DishMapper;
import com.sky.mapper.SetmealMapper;
import com.sky.service.CategoryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.time.LocalDateTime;
import java.util.List;@Service
@Slf4j
public class CategoryServiceImpl implements CategoryService {@Autowiredprivate CategoryMapper categoryMapper;@Autowiredprivate DishMapper dishMapper;@Autowiredprivate SetmealMapper setmealMapper;@Overridepublic IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("service:categoryPageQueryDTO:{}", categoryPageQueryDTO);LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.like(StringUtils.isNotEmpty(categoryPageQueryDTO.getName()), Category::getName, categoryPageQueryDTO.getName()).like(categoryPageQueryDTO.getType() != null, Category::getType, categoryPageQueryDTO.getType()).orderByAsc(Category::getSort);IPage<Category> iPage = new Page<>(categoryPageQueryDTO.getPage(), categoryPageQueryDTO.getPageSize());return categoryMapper.selectPage(iPage, queryWrapper);}@Overridepublic void addCategory(CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);Category category = new Category();BeanUtils.copyProperties(categoryDTO, category);category.setStatus(0);category.setCreateUser(BaseContext.getCurrentId());category.setUpdateUser(BaseContext.getCurrentId());category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());categoryMapper.insert(category);}@Overridepublic void changeStatus(Integer status, Long id) {log.info("启用、禁用分类:{};id:{}", status, id);Category category = new Category();category.setId(id);category.setStatus(status);category.setUpdateTime(LocalDateTime.now());category.setUpdateUser(BaseContext.getCurrentId());categoryMapper.updateById(category);}
}

3、CategoryMapper的修改

mapper不用修改!!!

四、分类修改

1、CategoryController类修改

package com.sky.controller.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.CategoryService;
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.*;@RestController
@RequestMapping("/admin/category")
@Slf4j
@Api(tags = "分类相关操作")
public class CategoryController {@Autowiredprivate CategoryService categoryService;/*** 模糊查询和分页查询分类** @return*/@ApiOperation("模糊和分页查询分类")@GetMapping("/page")public Result<PageResult> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("查询条件:categoryPageQueryDTO:{}", categoryPageQueryDTO);IPage<Category> categoryList = categoryService.getCategoryList(categoryPageQueryDTO);PageResult pageResult = new PageResult();pageResult.setTotal(categoryList.getTotal());pageResult.setRecords(categoryList.getRecords());return Result.success(pageResult);}/*** 新增分类** @param categoryDTO 分类信息* @return*/@ApiOperation("新增分类")@PostMappingpublic Result<String> addCategory(@RequestBody CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);categoryService.addCategory(categoryDTO);return Result.success();}@ApiOperation("启用、禁用分类")@PostMapping("/status/{status}")public Result<String> changeStatus(@PathVariable Integer status, Long id) {log.info("启用、禁用分类:{};id:{}", status, id);categoryService.changeStatus(status, id);return Result.success();}@ApiOperation("修改分类")@PutMappingpublic Result<String> updateCategory(@RequestBody CategoryDTO categoryDTO) {log.info("修改分类:{}", categoryDTO);categoryService.updateCategory(categoryDTO);return Result.success();}
}

2、CategoryService和impl的修改

package com.sky.service;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;public interface CategoryService {/*** 根据前台查询条件查询分类列表** @param categoryPageQueryDTO* @return*/IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO);/*** 新增分类** @param categoryDTO 新的分类信息*/void addCategory(CategoryDTO categoryDTO);/*** 启用、禁用分类** @param status 修改后的状态* @param id     分类的id*/void changeStatus(Integer status, Long id);/*** 修改分类** @param categoryDTO 新的分类信息*/void updateCategory(CategoryDTO categoryDTO);
}
package com.sky.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.constant.MessageConstant;
import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.entity.Dish;
import com.sky.entity.Setmeal;
import com.sky.exception.DeletionNotAllowedException;
import com.sky.mapper.CategoryMapper;
import com.sky.mapper.DishMapper;
import com.sky.mapper.SetmealMapper;
import com.sky.service.CategoryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.time.LocalDateTime;
import java.util.List;@Service
@Slf4j
public class CategoryServiceImpl implements CategoryService {@Autowiredprivate CategoryMapper categoryMapper;@Overridepublic IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("service:categoryPageQueryDTO:{}", categoryPageQueryDTO);LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.like(StringUtils.isNotEmpty(categoryPageQueryDTO.getName()), Category::getName, categoryPageQueryDTO.getName()).like(categoryPageQueryDTO.getType() != null, Category::getType, categoryPageQueryDTO.getType()).orderByAsc(Category::getSort);IPage<Category> iPage = new Page<>(categoryPageQueryDTO.getPage(), categoryPageQueryDTO.getPageSize());return categoryMapper.selectPage(iPage, queryWrapper);}@Overridepublic void addCategory(CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);Category category = new Category();BeanUtils.copyProperties(categoryDTO, category);category.setStatus(0);category.setCreateUser(BaseContext.getCurrentId());category.setUpdateUser(BaseContext.getCurrentId());category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());categoryMapper.insert(category);}@Overridepublic void changeStatus(Integer status, Long id) {log.info("启用、禁用分类:{};id:{}", status, id);Category category = new Category();category.setId(id);category.setStatus(status);category.setUpdateTime(LocalDateTime.now());category.setUpdateUser(BaseContext.getCurrentId());categoryMapper.updateById(category);}@Overridepublic void updateCategory(CategoryDTO categoryDTO) {log.info("修改分类:{}", categoryDTO);Category category = categoryMapper.selectById(categoryDTO.getId());category.setName(categoryDTO.getName());category.setSort(categoryDTO.getSort());category.setUpdateUser(BaseContext.getCurrentId());category.setUpdateTime(LocalDateTime.now());categoryMapper.updateById(category);}
}

3、CategoryMapper的修改

mapper不用修改!!!

五、分类删除

        分类的删除不是单纯直接删除,而是需要判断被删除的分类下是否已经有菜品或者套餐,如果有则不允许删除。

1、新增分类的报错提示消息

package com.sky.handler;import com.sky.constant.MessageConstant;
import com.sky.exception.DeletionNotAllowedException;
import com.sky.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;import java.sql.SQLIntegrityConstraintViolationException;@RestControllerAdvice
@Slf4j
public class CategoryAdvice {@ExceptionHandler(DeletionNotAllowedException.class)public Result<String> systemException(DeletionNotAllowedException ex) {log.error("异常信息:{}", ex.getMessage());return Result.error(ex.getMessage());}@ExceptionHandlerpublic Result<String> doSQLException(SQLIntegrityConstraintViolationException ex) {log.error("异常信息:{}", ex.getMessage());String message = ex.getMessage();if (message.contains("Duplicate")) {return Result.error(message.split(" ")[2] + MessageConstant.ALREADY_EXIST);}return Result.error(MessageConstant.UNKNOWN_ERROR);}
}

2、CategoryController类修改

package com.sky.controller.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.CategoryService;
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.*;@RestController
@RequestMapping("/admin/category")
@Slf4j
@Api(tags = "分类相关操作")
public class CategoryController {@Autowiredprivate CategoryService categoryService;/*** 模糊查询和分页查询分类** @return*/@ApiOperation("模糊和分页查询分类")@GetMapping("/page")public Result<PageResult> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("查询条件:categoryPageQueryDTO:{}", categoryPageQueryDTO);IPage<Category> categoryList = categoryService.getCategoryList(categoryPageQueryDTO);PageResult pageResult = new PageResult();pageResult.setTotal(categoryList.getTotal());pageResult.setRecords(categoryList.getRecords());return Result.success(pageResult);}/*** 新增分类** @param categoryDTO 分类信息* @return*/@ApiOperation("新增分类")@PostMappingpublic Result<String> addCategory(@RequestBody CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);categoryService.addCategory(categoryDTO);return Result.success();}@ApiOperation("启用、禁用分类")@PostMapping("/status/{status}")public Result<String> changeStatus(@PathVariable Integer status, Long id) {log.info("启用、禁用分类:{};id:{}", status, id);categoryService.changeStatus(status, id);return Result.success();}@ApiOperation("修改分类")@PutMappingpublic Result<String> updateCategory(@RequestBody CategoryDTO categoryDTO) {log.info("修改分类:{}", categoryDTO);categoryService.updateCategory(categoryDTO);return Result.success();}@ApiOperation("删除分类")@DeleteMappingpublic Result<String> deleteCategoryById(Long id) {log.info("删除分类:{}", id);categoryService.deleteCategoryById(id);return Result.success();}
}

3、CategoryService和impl的修改

package com.sky.service;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;public interface CategoryService {/*** 根据前台查询条件查询分类列表** @param categoryPageQueryDTO* @return*/IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO);/*** 新增分类** @param categoryDTO 新的分类信息*/void addCategory(CategoryDTO categoryDTO);/*** 启用、禁用分类** @param status 修改后的状态* @param id     分类的id*/void changeStatus(Integer status, Long id);/*** 修改分类** @param categoryDTO 新的分类信息*/void updateCategory(CategoryDTO categoryDTO);/*** 根据id删除分类* 删除时需要判断该分类下有没有菜品或套餐,如果有则不能删除:通过category的id和dish以及setmeal的category_id关联查询** @param id 要删除的分类id*/void deleteCategoryById(Long id);
}

        impl中实现删除功能:通过分类表的id与菜品表和套餐表的category_id联查,查询是否含有该分类下的菜品和套餐。

package com.sky.service.impl;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.constant.MessageConstant;
import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.entity.Dish;
import com.sky.entity.Setmeal;
import com.sky.exception.DeletionNotAllowedException;
import com.sky.mapper.CategoryMapper;
import com.sky.mapper.DishMapper;
import com.sky.mapper.SetmealMapper;
import com.sky.service.CategoryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.time.LocalDateTime;
import java.util.List;@Service
@Slf4j
public class CategoryServiceImpl implements CategoryService {@Autowiredprivate CategoryMapper categoryMapper;@Autowiredprivate DishMapper dishMapper;@Autowiredprivate SetmealMapper setmealMapper;@Overridepublic IPage<Category> getCategoryList(CategoryPageQueryDTO categoryPageQueryDTO) {log.info("service:categoryPageQueryDTO:{}", categoryPageQueryDTO);LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.like(StringUtils.isNotEmpty(categoryPageQueryDTO.getName()), Category::getName, categoryPageQueryDTO.getName()).like(categoryPageQueryDTO.getType() != null, Category::getType, categoryPageQueryDTO.getType()).orderByAsc(Category::getSort);IPage<Category> iPage = new Page<>(categoryPageQueryDTO.getPage(), categoryPageQueryDTO.getPageSize());return categoryMapper.selectPage(iPage, queryWrapper);}@Overridepublic void addCategory(CategoryDTO categoryDTO) {log.info("新增分类:{}", categoryDTO);Category category = new Category();BeanUtils.copyProperties(categoryDTO, category);category.setStatus(0);category.setCreateUser(BaseContext.getCurrentId());category.setUpdateUser(BaseContext.getCurrentId());category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());categoryMapper.insert(category);}@Overridepublic void changeStatus(Integer status, Long id) {log.info("启用、禁用分类:{};id:{}", status, id);Category category = new Category();category.setId(id);category.setStatus(status);category.setUpdateTime(LocalDateTime.now());category.setUpdateUser(BaseContext.getCurrentId());categoryMapper.updateById(category);}@Overridepublic void updateCategory(CategoryDTO categoryDTO) {log.info("修改分类:{}", categoryDTO);Category category = categoryMapper.selectById(categoryDTO.getId());category.setName(categoryDTO.getName());category.setSort(categoryDTO.getSort());category.setUpdateUser(BaseContext.getCurrentId());category.setUpdateTime(LocalDateTime.now());categoryMapper.updateById(category);}@Overridepublic void deleteCategoryById(Long id) {log.info("分类的id:{}", id);// 1、获取该分类下的dishLambdaQueryWrapper<Dish> queryDish = new LambdaQueryWrapper<>();queryDish.eq(Dish::getCategoryId, id);List<Dish> dishes = dishMapper.selectList(queryDish);// 2、获取该分类下的setmealLambdaQueryWrapper<Setmeal> querySetmeal = new LambdaQueryWrapper<>();querySetmeal.eq(Setmeal::getCategoryId, id);List<Setmeal> setmeals = setmealMapper.selectList(querySetmeal);// 3、判断dish和setmeal是否为空,如果为空则执行删除分类的操作,否则提示该分类下有菜品或套餐,不允许删除if (dishes != null && !dishes.isEmpty()) {throw new DeletionNotAllowedException(MessageConstant.CATEGORY_BE_RELATED_BY_DISH);}if (setmeals != null && !setmeals.isEmpty()) {throw new DeletionNotAllowedException(MessageConstant.CATEGORY_BE_RELATED_BY_SETMEAL);}categoryMapper.deleteById(id);}
}

4、CategoryMapper的修改

mapper不用修改!!!

http://www.dtcms.com/a/436375.html

相关文章:

  • 编写个人网站宜昌市水利建设工程协会网站
  • 程序员参与洗钱网站建设网站源码修复
  • 上海联通 网站备案松江做微网站
  • 做网站公司宣传语公司网络运营团队方案
  • 沭阳各乡镇做网站旅游网站建设目的
  • 个人博客系统测手动试报告
  • 石狮网站上海市做网站
  • 手机网站 wordpresswordpress acg站
  • 如何建企业仢网站网站建设属于哪类工作
  • 城乡建设局网站首页wordpress怎么创建目录页面
  • 怎么用ftp修改网站html5网站代理
  • 河南网站备案地址个人网站名称备案
  • 备案时网站名称可以重复吗嘉兴官网
  • 东莞快速建站平台中国海洋大学做英语作业的网站
  • 河南省建设厅网站上海到北京飞机几个小时
  • 贵阳seo网站管理乐清市规划图高清
  • 河南省建设科技网站广州天河 网站建设
  • 基于 SpringBoot 的在线学习过程管理系统软件的设计与实现(代码+数据库+LW)
  • 98. 可达路径
  • 外卖网站 模板wordpress获取分类名称
  • 小米路由器mini做网站郴州市建设网站
  • 保山市住房和建设局网站如何做网站客户端
  • 八戒影视杭州优化公司哪家好
  • 郴州网站设计公司外贸企业网站建设方案
  • 国外产品展示网站源码有赞商城
  • 企业免费招聘人才网站广东企业网站seo哪家好
  • 做网站的素材都在哪里下载做视频大赛推广的网站
  • 车辆年检查询系统官方网站代刷业务网站建设
  • 概念网站源码农村电商网站建设方案
  • 怎么样建网站个人页面模板