关于Category的接口都敲出来了,好有成就感!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 package com.sky.controller.admin;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.*;import java.util.List;@RestController @RequestMapping("/admin/category") @Slf4j @Api(tags = "分类相关接口") public class CategoryController { @Autowired private CategoryService categoryService; @PostMapping @ApiOperation("新增分类") public Result<String> save (@RequestBody CategoryDTO categoryDTO) { categoryService.save(categoryDTO); return Result.success(); } @GetMapping("/page") @ApiOperation("分类分页查询") public Result<PageResult> page (CategoryPageQueryDTO categoryPageQueryDTO) { PageResult pageResult=categoryService.pageQuery(categoryPageQueryDTO); return Result.success(pageResult); } @DeleteMapping @ApiOperation("删除分类") public Result<String> deleteById (Long id) { categoryService.deleteById(id); return Result.success(); } @PutMapping @ApiOperation("修改分类") public Result<String> update (@RequestBody CategoryDTO categoryDTO) { categoryService.update(categoryDTO); return Result.success(); } @PostMapping("/status/{status}") @ApiOperation("启用禁用分类") public Result<String> startOrStop (@PathVariable("status") Integer status,Long id) { categoryService.startOrStop(status,id); return Result.success(); } @GetMapping("/list") @ApiOperation("根据类型查询分类") public Result<List<Category>> list (Integer type) { List<Category> list = categoryService.list(type); return Result.success(list); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package com.sky.mapper;import com.github.pagehelper.Page;import com.sky.dto.CategoryPageQueryDTO;import com.sky.entity.Category;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapper public interface CategoryMapper { @Insert("insert into sky_take_out.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) ; Page<Category> pageQuery (CategoryPageQueryDTO categoryPageQueryDTO) ; @Delete("delete from sky_take_out.category where id=#{id}") void deleteById (Long id) ; void update (Category category) ; List<Category> list (Integer type) ; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package com.sky.mapper;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Select;@Mapper public interface DishMapper { @Select("select count(id) from sky_take_out.dish where category_id=#{categoryId}") Integer countByCategoryId (Long id) ; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 package com.sky.mapper;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Select;@Mapper public interface SetmealMapper { @Select("select count(id) from sky_take_out.setmeal where category_id=#{categoryId}") Integer countByCategoryId (Long id) ; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 package com.sky.service.impl;import com.github.pagehelper.Page;import com.github.pagehelper.PageHelper;import com.sky.constant.MessageConstant;import com.sky.constant.StatusConstant;import com.sky.context.BaseContext;import com.sky.dto.CategoryDTO;import com.sky.dto.CategoryPageQueryDTO;import com.sky.entity.Category;import com.sky.exception.DeletionNotAllowedException;import com.sky.mapper.CategoryMapper;import com.sky.mapper.DishMapper;import com.sky.mapper.SetmealMapper;import com.sky.result.PageResult;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;import java.util.List;@Service public class CategoryServiceImpl implements CategoryService { @Autowired private CategoryMapper categoryMapper; @Autowired private DishMapper dishMapper; @Autowired private SetmealMapper setmealMapper; public void save (CategoryDTO categoryDTO) { Category category=new Category (); BeanUtils.copyProperties(categoryDTO,category); category.setStatus(StatusConstant.DISABLE); category.setCreateTime(LocalDateTime.now()); category.setUpdateTime(LocalDateTime.now()); category.setCreateUser(BaseContext.getCurrentId()); category.setUpdateUser(BaseContext.getCurrentId()); categoryMapper.insert(category); } public PageResult pageQuery (CategoryPageQueryDTO categoryPageQueryDTO) { PageHelper.startPage(categoryPageQueryDTO.getPage(),categoryPageQueryDTO.getPageSize()); Page<Category> page=categoryMapper.pageQuery(categoryPageQueryDTO); return new PageResult (page.getTotal(),page.getResult()); } public void deleteById (Long id) { Integer count=dishMapper.countByCategoryId(id); if (count>0 ){ throw new DeletionNotAllowedException (MessageConstant.CATEGORY_BE_RELATED_BY_DISH); } count=setmealMapper.countByCategoryId(id); if (count>0 ){ throw new DeletionNotAllowedException (MessageConstant.CATEGORY_BE_RELATED_BY_SETMEAL); } categoryMapper.deleteById(id); } public void update (CategoryDTO categoryDTO) { Category category=new Category (); BeanUtils.copyProperties(categoryDTO,category); category.setUpdateTime(LocalDateTime.now()); category.setUpdateUser(BaseContext.getCurrentId()); categoryMapper.update(category); } public void startOrStop (Integer status, Long id) { Category category=Category.builder() .id(id) .status(status) .updateTime(LocalDateTime.now()) .updateUser(BaseContext.getCurrentId()) .build(); categoryMapper.update(category); } public List<Category> list (Integer type) { return categoryMapper.list(type); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 package com.sky.service;import com.sky.dto.CategoryDTO;import com.sky.dto.CategoryPageQueryDTO;import com.sky.entity.Category;import com.sky.result.PageResult;import io.swagger.annotations.ApiOperation;import org.springframework.web.bind.annotation.GetMapping;import java.util.List;public interface CategoryService { void save (CategoryDTO categoryDTO) ; PageResult pageQuery (CategoryPageQueryDTO categoryPageQueryDTO) ; void deleteById (Long id) ; void update (CategoryDTO categoryDTO) ; void startOrStop (Integer status, Long id) ; List<Category> list (Integer type) ; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace ="com.sky.mapper.CategoryMapper" > <select id ="pageQuery" resultType ="com.sky.entity.Category" > select * from sky_take_out.category <where > <if test ="name!=null and name!=''" > and name like concat('%',#{name},'%') </if > <if test ="type!=null" > and type=#{type} </if > </where > order by sort asc,create_time desc </select > <update id ="update" parameterType ="Category" > update sky_take_out.category <set > <if test ="type != null" > type = #{type}, </if > <if test ="name != null" > name = #{name}, </if > <if test ="sort != null" > sort = #{sort}, </if > <if test ="status != null" > status = #{status}, </if > <if test ="updateTime != null" > update_time = #{updateTime}, </if > <if test ="updateUser != null" > update_user = #{updateUser} </if > </set > where id = #{id} </update > <select id ="list" resultType ="com.sky.entity.Category" > select * from sky_take_out.category where status=1 <if test ="type!=null" > and type=#{type} </if > order by sort asc ,create_time desc </select > </mapper >