From 29d9afa305392bf12cfe8e3bfed61060889b11c1 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 06 二月 2025 11:49:13 +0800
Subject: [PATCH] 房屋合同

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/SignContractDTO.java             |   19 +++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java                 |    3 +
 ruoyi-system/src/main/java/com/ruoyi/system/query/TContractAppletQuery.java      |   14 +++++++
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TContractController.java |   38 ++++++++++++++++++
 4 files changed, 73 insertions(+), 1 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 602f5d8..aebcc28 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,6 +1,19 @@
 package com.ruoyi.web.controller.api;
 
 
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.dto.SignContractDTO;
+import com.ruoyi.system.model.TContract;
+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 io.swagger.annotations.ApiOperation;
+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.web.bind.annotation.RestController;
@@ -16,6 +29,29 @@
 @RestController
 @RequestMapping("/t-contract")
 public class TContractController {
-
+    @Autowired
+    private TContractService contractService;
+    @Autowired
+    private TContractRentTypeService contractRentTypeService;
+    @Autowired
+    private THouseService houseService;
+    @Autowired
+    private TBillService billService;
+    @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);
+        contractService.updateById(contract);
+        return R.ok();
+    }
+    @ApiOperation(value = "我的合同")
+    @PostMapping(value = "/contractList")
+    public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) {
+        return R.ok(contractService.contractList(query));
+    }
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/SignContractDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SignContractDTO.java
new file mode 100644
index 0000000..484befa
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SignContractDTO.java
@@ -0,0 +1,19 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "签订合同DTO")
+public class SignContractDTO implements Serializable {
+
+    @ApiModelProperty(value = "合同id")
+    private String id;
+
+    @ApiModelProperty(value = "电子签名url")
+    private String signature;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
index bc259e8..30785d7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
@@ -131,5 +131,8 @@
     @ApiModelProperty(value = "附件名称 逗号拼接")
     @TableField("contract_file_name")
     private String contractFileName;
+    @ApiModelProperty(value = "租户确认合同电子签名")
+    @TableField("signature")
+    private String signature;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TContractAppletQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TContractAppletQuery.java
new file mode 100644
index 0000000..5698fb3
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TContractAppletQuery.java
@@ -0,0 +1,14 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "我的合同分页列表查询Query")
+public class TContractAppletQuery extends BasePage {
+
+    @ApiModelProperty(value = "全部不传 3=待签订 4=已签订")
+    private Integer status;
+}

--
Gitblit v1.7.1