diff --git a/sky-server/src/main/java/com/sky/controller/category/CategoryController.java b/sky-server/src/main/java/com/sky/controller/category/CategoryController.java index ed156bd..9c3672b 100644 --- a/sky-server/src/main/java/com/sky/controller/category/CategoryController.java +++ b/sky-server/src/main/java/com/sky/controller/category/CategoryController.java @@ -1,5 +1,6 @@ package com.sky.controller.category; +import com.sky.dto.CategoryDTO; import com.sky.dto.CategoryPageQueryDTO; import com.sky.result.PageResult; import com.sky.result.Result; @@ -7,12 +8,10 @@ import com.sky.service.CategoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiOperation; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @Api(tags = "分类相关接口") @@ -25,16 +24,69 @@ public class CategoryController { /** * 分类分页查询 + * * @param categoryPageQueryDTO * @return */ @GetMapping("/page") @ApiOperation("分类分页查询") - public Result page(CategoryPageQueryDTO categoryPageQueryDTO){ - log.info("分类分页查询: {}",categoryPageQueryDTO); + public Result page(CategoryPageQueryDTO categoryPageQueryDTO) { + log.info("分类分页查询: {}", categoryPageQueryDTO); PageResult pageResult = categoryService.pageQuery(categoryPageQueryDTO); return Result.success(pageResult); } + /** + * 新增分类 + * + * @param categoryDTO + * @return + */ + @PostMapping + @ApiOperation("新增分类") + public Result save(@RequestBody CategoryDTO categoryDTO) { + log.info("新增分类: {}", categoryDTO); + categoryService.save(categoryDTO); + return Result.success(); + } + + /** + * 根据id删除分类 + * @param id + * @return + */ + @DeleteMapping + @ApiOperation("根据id删除分类") + public Result deleteById(long id) { + log.info("根据id删除分类: {}",id); + categoryService.deleteById(id); + return Result.success(); + } + + /** + * 启用、禁用分类 + * @return + */ + @PostMapping("/status/{status}") + @ApiOperation("启用、禁用分类") + public Result startOrStop(@PathVariable Integer status,long id){ + log.info("启用、禁用分类: 启用/禁用:{},分类:{}",status,id); + categoryService.startOrStop(status,id); + return Result.success(); + } + + /** + * 修改分类 + * @param categoryDTO + * @return + */ + @PutMapping + @ApiOperation("修改分类") + public Result update(@RequestBody CategoryDTO categoryDTO){ + log.info("修改分类: {}",categoryDTO); + categoryService.update(categoryDTO); + return Result.success(); + } + } diff --git a/sky-server/src/main/java/com/sky/mapper/CategoryMapper.java b/sky-server/src/main/java/com/sky/mapper/CategoryMapper.java index 39cb9a9..5cabfb2 100644 --- a/sky-server/src/main/java/com/sky/mapper/CategoryMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/CategoryMapper.java @@ -3,10 +3,21 @@ 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; @Mapper public interface CategoryMapper { Page pageQuery(CategoryPageQueryDTO categoryPageQueryDTO); + + @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); + + @Delete("delete from category where id = #{id}") + void deleteById(long id); + + void update(Category category); } diff --git a/sky-server/src/main/java/com/sky/service/CategoryService.java b/sky-server/src/main/java/com/sky/service/CategoryService.java index 6ca0f49..3bd5e00 100644 --- a/sky-server/src/main/java/com/sky/service/CategoryService.java +++ b/sky-server/src/main/java/com/sky/service/CategoryService.java @@ -1,5 +1,6 @@ package com.sky.service; +import com.sky.dto.CategoryDTO; import com.sky.dto.CategoryPageQueryDTO; import com.sky.result.PageResult; import org.springframework.stereotype.Service; @@ -12,4 +13,29 @@ public interface CategoryService { * @return */ PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO); + + /** + * 新增分类 + * @param categoryDTO + */ + void save(CategoryDTO categoryDTO); + + /** + * 根据id删除分类 + * @param id + */ + void deleteById(long id); + + /** + * 启用、禁用分类 + * @param status + * @param id + */ + void startOrStop(Integer status, long id); + + /** + * 修改分类 + * @param categoryDTO + */ + void update(CategoryDTO categoryDTO); } diff --git a/sky-server/src/main/java/com/sky/service/impl/CategoryServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/CategoryServiceImpl.java index 8be7829..738138a 100644 --- a/sky-server/src/main/java/com/sky/service/impl/CategoryServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/CategoryServiceImpl.java @@ -2,14 +2,19 @@ package com.sky.service.impl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; +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.mapper.CategoryMapper; 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 @@ -20,6 +25,7 @@ public class CategoryServiceImpl implements CategoryService { /** * 分类分页查询 + * * @param categoryPageQueryDTO * @return */ @@ -33,6 +39,69 @@ public class CategoryServiceImpl implements CategoryService { long total = page.getTotal(); List result = page.getResult(); - return new PageResult(total,result); + return new PageResult(total, result); + } + + /** + * 新增分类 + * + * @param categoryDTO + */ + @Override + 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); + } + + /** + * 根据id删除分类 + * + * @param id + */ + @Override + public void deleteById(long id) { + categoryMapper.deleteById(id); + } + + /** + * 启用、禁用分类 + * + * @param status + * @param id + */ + @Override + public void startOrStop(Integer status, long id) { + Category category = Category.builder() + .id(id) + .status(status) + .build(); + + categoryMapper.update(category); + } + + /** + * 修改分类 + * @param categoryDTO + */ + @Override + public void update(CategoryDTO categoryDTO) { + //复制属性 + Category category = new Category(); + BeanUtils.copyProperties(categoryDTO, category); + //设置属性 + category.setUpdateTime(LocalDateTime.now()); + category.setUpdateUser(BaseContext.getCurrentId()); + + BaseContext.removeCurrentId(); + categoryMapper.update(category); } } diff --git a/sky-server/src/main/resources/mapper/CategoryMapper.xml b/sky-server/src/main/resources/mapper/CategoryMapper.xml index 038bb93..943a9c8 100644 --- a/sky-server/src/main/resources/mapper/CategoryMapper.xml +++ b/sky-server/src/main/resources/mapper/CategoryMapper.xml @@ -3,6 +3,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + update category + + type = #{type}, + name = #{name}, + sort = #{sort}, + status = #{status}, + update_time = #{updateTime}, + update_user = #{updateUser}, + + where id = #{id} +