package com.estate.expert.admin.controller.admin; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.estate.expert.admin.domain.business.accidentbrief.AccidentBrief; import com.estate.expert.admin.domain.business.accidentclassification.AccidentClassification; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.service.AccidentBriefService; import com.estate.expert.admin.service.AccidentClassificationService; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @Slf4j @CrossOrigin @Api(tags = "管理后台/故事简讯分类") @RequestMapping("/admin/accident-classification") @RestController @Validated public class AccidentClassificationController { @Resource private AccidentClassificationService accidentClassificationService; @ApiOperation(value = "列表") @PostMapping("/list") public Result list(@ApiParam(value = "名称") @RequestParam(value = "name", required = false) String name, @Validated @RequestBody PageReq pageReq) { Page page = new Page<>(pageReq.getPage(), pageReq.getSize()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(name!=null && !name.isEmpty()){ wrapper.like(AccidentClassification::getName, name); } wrapper.eq(AccidentClassification::getDeleted,false); wrapper.orderByDesc(AccidentClassification::getId); Page res = accidentClassificationService.page(page, wrapper); return Result.success(res); } @ApiOperation(value = "新增") @PostMapping("/add") public Result add(@Validated @RequestBody AccidentClassification dto) { long count = accidentClassificationService.count(new LambdaQueryWrapper().eq(AccidentClassification::getName, dto.getName())); if (count > 0) { return Result.error("名称已存在"); } dto.setDeleted(false); return Result.success(accidentClassificationService.save(dto)); } @ApiOperation(value = "编辑") @PostMapping("/edit") public Result edit(@Validated @RequestBody AccidentClassification dto) { AccidentClassification accidentClassification = accidentClassificationService.getById(dto.getId()); long count = accidentClassificationService.count(new LambdaQueryWrapper().eq(AccidentClassification::getName, dto.getName()).ne(AccidentClassification::getId,dto.getId())); if (count > 0) { return Result.error("名称已存在"); } if (accidentClassification == null) { return Result.error("故事简讯类型不存在"); } BeanUtils.copyProperties(dto, accidentClassification); dto.setDeleted(false); return Result.success(accidentClassificationService.updateById(dto)); } @ApiOperation(value = "删除") @DeleteMapping("/delete/{id}") public Result delete(@PathVariable Integer id) { AccidentClassification accidentClassification = accidentClassificationService.getById(id); if (accidentClassification == null) { return Result.error("故事简讯类型不存在"); } accidentClassification.setDeleted( true); return Result.success(accidentClassificationService.updateById(accidentClassification)); } }