package org.springblade.modules.contract.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.contract.entity.Contract; import org.springblade.modules.contract.service.ContractService; import org.springblade.modules.contract.vo.ContractVO; import org.springframework.web.bind.annotation.*; import java.util.Date; /** * 合同控制器 * @author zhongrj * @since 2022-03-01 */ @RestController @AllArgsConstructor @RequestMapping("/contract") public class ContractController extends BladeController { private final ContractService contractService; /** * 详情 */ @GetMapping("/detail") public R detail(Contract contract) { Contract detail = contractService.getOne(Condition.getQueryWrapper(contract)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") public R> list(Contract contract, Query query) { IPage pages = contractService.page(Condition.getPage(query), Condition.getQueryWrapper(contract)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") public R> page(ContractVO contract, Query query) { IPage pages = contractService.selectContractPage(Condition.getPage(query), contract); return R.data(pages); } /** * 新增 */ @PostMapping("/save") public R save(@RequestBody Contract contract) { //设置时间 contract.setCreateTime(new Date()); contract.setUpdateTime(new Date()); //返回 return R.data(contractService.save(contract)); } /** * 修改 */ @PostMapping("/update") public R update(@RequestBody Contract contract) { //设置更新时间 contract.setUpdateTime(new Date()); //修改并返回 return R.data(contractService.updateById(contract)); } /** * 新增或修改 */ @PostMapping("/submit") public R submit(@RequestBody Contract contract) { return R.status(contractService.saveOrUpdate(contract)); } /** * 删除 */ @PostMapping("/remove") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(contractService.removeByIds(Func.toLongList(ids))); } }