package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.business.contract.ContractDto; import com.estate.expert.admin.domain.business.contract.ContractMapper; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.common.request.BatchReq; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.business.client.ClientType; import com.estate.expert.admin.service.ContractService; import com.estate.expert.common.domain.Session; 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.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @Slf4j @CrossOrigin @Api(tags = "管理后台/合同管理") @RequestMapping("/admin/contract") @RestController @Validated public class ContractController { @Resource private ContractService contractService; @Resource private ContractMapper contractMapper; @ApiOperation(value = "合同列表") @PostMapping("/list") public Result list(@ApiParam(value = "关键词") @RequestParam(value = "keyword", required = false) String keyword, @ApiParam(value = "委托方类型") @RequestParam(value = "clientType", required = false) ClientType clientType, @ApiParam(value = "创建者ID") @RequestParam(value = "creatorId", required = false) Integer creatorId, @Validated @RequestBody PageReq pageReq){ return Result.success(contractService.list(keyword, clientType, creatorId, pageReq)); } @ApiOperation(value = "合同添加") @PostMapping("/add") public Result add(@ApiParam(hidden = true) Session session, @Validated @RequestBody ContractDto request) { contractService.add((User)session.getUser(), contractMapper.toEntity(request)); return Result.success(); } @ApiOperation(value = "合同修改") @PostMapping("/edit") public Result edit(@Validated @RequestBody ContractDto contractDto) { contractService.edit( contractDto); return Result.success(); } @ApiOperation(value = "合同批量删除") @PostMapping("/batch/del") public Result batchDel(@Validated @RequestBody BatchReq request) { contractService.deleteAllById(request.getIds()); return Result.success(); } }