package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.model.LoginUserApplet; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.TRentalReturnRecord; import com.ruoyi.system.service.ITRentalReturnRecordService; import com.ruoyi.system.service.TContractService; import com.ruoyi.system.vo.RentalRetureApplyVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; @RestController @RequestMapping("/rentalReturnRecord") @RequiredArgsConstructor(onConstructor_ = {@Lazy}) @Api(tags = {"房屋管理-退租申请"}) public class TRentalReturnRecordController extends BaseController { private final ITRentalReturnRecordService rentalReturnRecordService; private final TokenService tokenService; /** * 申请退租 */ @ApiOperation(value = "申请退租") @PostMapping("/apply") public R apply(@RequestBody RentalRetureApplyVO rentalReture) { rentalReturnRecordService.apply(rentalReture, tokenService.getLoginUserApplet().getUserId()); return R.ok(); } /** * 申请详情 */ @ApiOperation(value = "申请详情") @GetMapping("/detail") public R detail(@ApiParam (value = "合同id") @RequestParam String contractId) { TRentalReturnRecord rentalReturnRecord = rentalReturnRecordService.getOne(new LambdaQueryWrapper() .eq(TRentalReturnRecord::getContractId, contractId) .last("limit 1") .orderByDesc(TRentalReturnRecord::getCreateTime)); if (rentalReturnRecord == null){ return R.fail("暂无申请记录"); } TRentalReturnRecord detail = rentalReturnRecordService.getOne(new LambdaQueryWrapper() .eq(TRentalReturnRecord::getId, rentalReturnRecord.getId())); return R.ok(detail); } }