From a77e16d3bfb422d951016eef2fc9818f02c3e738 Mon Sep 17 00:00:00 2001
From: yupeng <roc__yu@163.com>
Date: 星期五, 07 二月 2025 10:59:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xizang-changyun

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java |   10 ++---
 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 ++++++++++++++++++
 5 files changed, 77 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
index ae4b66e..d739523 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
@@ -10,6 +10,7 @@
 import org.springframework.stereotype.Component;
 
 import java.lang.reflect.Field;
+import java.time.LocalDateTime;
 import java.util.*;
 
 @Slf4j
@@ -23,16 +24,13 @@
     @Override
     public Object intercept(Invocation invocation) throws Throwable {
         MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
-        log.debug("{}:"+mappedStatement);
-        log.debug("------sqlId------" + mappedStatement.getId());
         if("com.ruoyi.system.mapper.SysLogininforMapper.insertLogininfor".equals(mappedStatement.getId())){
             return invocation.proceed();
         }
         // sql类型:insert、update、select、delete
         SqlCommandType sqlCommandType = mappedStatement.getSqlCommandType();
         Object parameter = invocation.getArgs()[1];
-        log.debug("------sqlCommandType------" + sqlCommandType);
- 
+
         if (parameter == null) {
             return invocation.proceed();
         }
@@ -56,7 +54,7 @@
                     //注入创建时间
                     if ("createTime".equals(field.getName())) {
                         field.setAccessible(true);
-                        field.set(parameter, new Date());
+                        field.set(parameter, LocalDateTime.now());
                         field.setAccessible(false);
                     } 
                 } catch (Exception e) {
@@ -79,7 +77,7 @@
                     }
                     if ("updateTime".equals(field.getName())) {
                         field.setAccessible(true);
-                        field.set(parameter, new Date());
+                        field.set(parameter, LocalDateTime.now());
                         field.setAccessible(false);
                     }
                 } catch (Exception e) {
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