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.position.Position; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.service.PositionService; 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/position") @RestController @Validated public class PositionController { @Resource private PositionService positionService; @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(Position::getName, name); } wrapper.eq(Position::getDeleted,false); wrapper.orderByDesc(Position::getId); Page res = positionService.page(page, wrapper); return Result.success(res); } @ApiOperation(value = "新增") @PostMapping("/add") public Result add(@Validated @RequestBody Position dto) { long count = positionService.count(new LambdaQueryWrapper().eq(Position::getName, dto.getName())); if (count > 0) { return Result.error("名称已存在"); } dto.setDeleted(false); return Result.success(positionService.save(dto)); } @ApiOperation(value = "编辑") @PostMapping("/edit") public Result edit(@Validated @RequestBody Position dto) { Position position = positionService.getById(dto.getId()); long count = positionService.count(new LambdaQueryWrapper().eq(Position::getName, dto.getName()).ne(Position::getId,dto.getId())); if (count > 0) { return Result.error("名称已存在"); } if (position == null) { return Result.error("故事简讯类型不存在"); } BeanUtils.copyProperties(dto, position); dto.setDeleted(false); return Result.success(positionService.updateById(dto)); } @ApiOperation(value = "删除") @DeleteMapping("/delete/{id}") public Result delete(@PathVariable Integer id) { Position position = positionService.getById(id); if (position == null) { return Result.error("故事简讯类型不存在"); } position.setDeleted( true); return Result.success(positionService.updateById(position)); } }