package com.linghu.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.linghu.model.common.ResponseResult; import com.linghu.model.entity.Type; import com.linghu.service.TypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/type") public class TypeController { @Autowired private TypeService typeService; @PostMapping public ResponseResult add(@RequestBody Type type) { type.setDelFlag(0); boolean success = typeService.save(type); if (success) { return ResponseResult.success(type); } return ResponseResult.error("添加类型失败"); } @PostMapping("/batch") public ResponseResult batchAdd(@RequestBody List types) { boolean success = typeService.saveBatch(types); if (success) { return ResponseResult.success(); } return ResponseResult.error("批量添加类型失败"); } @DeleteMapping("/{typeId}") public ResponseResult delete(@PathVariable Integer typeId) { Type type = new Type(); type.setTypeId(typeId); type.setDelFlag(1); boolean success = typeService.updateById(type); if (success) { return ResponseResult.success(); } return ResponseResult.error("删除类型失败"); } @DeleteMapping("/batch") public ResponseResult batchDelete(@RequestBody List typeIds) { boolean success = typeService.removeBatchByIds(typeIds); if (success) { return ResponseResult.success(); } return ResponseResult.error("批量删除类型失败"); } @PutMapping public ResponseResult update(@RequestBody Type type) { boolean success = typeService.updateById(type); if (success) { return ResponseResult.success(); } return ResponseResult.error("更新类型失败"); } @PutMapping("/batch") public ResponseResult batchUpdate(@RequestBody List types) { boolean success = typeService.updateBatchById(types); if (success) { return ResponseResult.success(); } return ResponseResult.error("批量更新类型失败"); } @GetMapping("/{typeId}") public ResponseResult getById(@PathVariable Integer typeId) { Type type = typeService.getById(typeId); if (type != null && type.getDelFlag() != 1) { return ResponseResult.success(type); } return ResponseResult.error("类型不存在"); } @GetMapping("/list") public ResponseResult list( @RequestParam(required = false) Integer pageNum, @RequestParam(required = false) Integer pageSize, @RequestParam(required = false) String typeName) { // 不传分页参数则返回全部数据 if (pageNum == null || pageSize == null) { List types = typeService.listAllAvailable(); return ResponseResult.success(types); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Type::getDelFlag, 0) .like(typeName != null, Type::getTypeName, typeName); Page page = typeService.page(new Page<>(pageNum, pageSize), queryWrapper); return ResponseResult.success(page); } }