From 0ab9dfd8f122195e4e9f09bd50c59e0a47450bec Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 19 三月 2025 15:50:03 +0800 Subject: [PATCH] fix: resolve merge conflicts in .gitignore --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 101 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 83 insertions(+), 18 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TContractController.java index aebcc28..7390252 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TContractController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TContractController.java @@ -1,22 +1,35 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.constant.DictConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.model.LoginUserApplet; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.RevokeDTO; import com.ruoyi.system.dto.SignContractDTO; import com.ruoyi.system.model.TContract; +import com.ruoyi.system.model.TContractRentType; +import com.ruoyi.system.model.THouse; +import com.ruoyi.system.model.TTenant; +import com.ruoyi.system.query.TContractAppletQuery; import com.ruoyi.system.query.TContractQuery; -import com.ruoyi.system.service.TBillService; -import com.ruoyi.system.service.TContractRentTypeService; -import com.ruoyi.system.service.TContractService; -import com.ruoyi.system.service.THouseService; +import com.ruoyi.system.service.*; +import com.ruoyi.system.vo.TContractAppletVO; +import com.ruoyi.system.vo.TContractVO; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDateTime; /** * <p> @@ -27,6 +40,8 @@ * @since 2025-01-17 */ @RestController +@Api(tags = "我的合同") + @RequestMapping("/t-contract") public class TContractController { @Autowired @@ -37,21 +52,71 @@ private THouseService houseService; @Autowired private TBillService billService; - @ApiOperation(value = "签订合同") + @Autowired + private TokenService tokenService; + @Autowired + private TTenantService tTenantService; + @Autowired + private StateProcessTemplateService stateProcessTemplateService; + @ApiOperation(value = " 签订合同") @PostMapping(value = "/signContract") public R signContract(@RequestBody SignContractDTO dto) { - TContract contract = contractService.getById(dto.getId()); - if (contract==null)return R.fail("合同不存在"); - if (contract.getStatus()==4)return R.fail("该合同已签订"); - contract.setSignature(dto.getSignature()); - contract.setStatus(2); + return contractService.signContract(dto); + } + @ApiOperation(value = "我的合同分页列表") + @PostMapping(value = "/contractList") + public R<PageInfo<TContract>> contractList(@RequestBody TContractAppletQuery query) { + LoginUserApplet loginUserApplet = tokenService.getLoginUserApplet(); + if (loginUserApplet==null){ + return R.fail(401,"登录失效"); + } + query.setTenantId(loginUserApplet.getUserId()); + return R.ok(contractService.contractAppletList(query)); + } + + @Log(title = "合同管理-撤销审批", businessType = BusinessType.UPDATE) + @ApiOperation(value = "撤销审批") + @PostMapping(value = "/updateContractStatus") + public R<Boolean> updateContractStatus(@RequestBody RevokeDTO dto) { + TContract contract = contractService.getById(dto.getContractId()); + contract.setStatus("1"); contractService.updateById(contract); + // 撤销审批实例 + stateProcessTemplateService.revoke(dto.getInstanceId()); return R.ok(); } - @ApiOperation(value = "我的合同") - @PostMapping(value = "/contractList") - public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) { - return R.ok(contractService.contractList(query)); + @ApiOperation(value = "查询合同信息信息") + @GetMapping(value = "/getContractById") + public R<TContractAppletVO> getContractById(@RequestParam String id) { + LoginUserApplet loginUserApplet = tokenService.getLoginUserApplet(); + if (loginUserApplet==null){ + return R.fail(401,"登录失效"); + } + TContractAppletVO res = new TContractAppletVO(); + TContract contract = contractService.getById(id); + BeanUtils.copyProperties(contract,res); + res.setStartTimeString(DateUtils.localDateTimeToStringYear(contract.getStartTime())); + res.setEndTimeString(DateUtils.localDateTimeToStringYear(contract.getEndTime())); + res.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE,res.getPayType())); + res.setStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_STATUS,res.getStatus())); + TContractRentType contractRentType = contractRentTypeService.lambdaQuery().eq(TContractRentType::getContractId, id).one(); + if (contractRentType!=null){ + BeanUtils.copyProperties(contractRentType,res); + } + TTenant tTenant = tTenantService.getById(contract.getTenantId()); + res.setTenant(tTenant); + TContract oldContract = contractService.getOne(new LambdaQueryWrapper<TContract>() + .eq(TContract::getHouseId,contract.getHouseId()) + .eq(TContract::getTenantId,loginUserApplet.getUserId()) + .eq(TContract::getStatus, 4) + .le(TContract::getStartTime, LocalDateTime.now()) + .ge(TContract::getEndTime, LocalDateTime.now())); + THouse house = houseService.getById(contract.getHouseId()); + if (oldContract!=null){ + house.setTenantType(oldContract.getPayType()); + } + res.setHouse(house); + return R.ok(res); } } -- Gitblit v1.7.1