From c6040880b0da8834dbcb92d6def7d4dd0cd6c40e Mon Sep 17 00:00:00 2001
From: cuida <xiaocuijustsoso@163.com>
Date: 星期三, 29 四月 2026 16:57:50 +0800
Subject: [PATCH] feat:合同,合同标的物,收款基础代码

---
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Contract.java |  123 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Contract.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Contract.java
new file mode 100644
index 0000000..3b77c3a
--- /dev/null
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Contract.java
@@ -0,0 +1,123 @@
+package com.by4cloud.platformx.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import lombok.Data;
+import org.hibernate.annotations.Table;
+
+import javax.persistence.Transient;
+import java.math.BigDecimal;
+
+import org.springframework.format.annotation.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * @author cd
+ * @description
+ * @date 2026/4/29 10:51
+ **/
+@Data
+@Entity
+@Table(appliesTo = "contract", comment = "鍚堝悓绠$悊")
+public class Contract extends BaseModel<Contract> {
+
+
+    @Schema(description = "鍚堝悓缂栧彿")
+    @Column(columnDefinition = "VARCHAR(64) comment '鍚堝悓缂栧彿'")
+    private String contractNo;
+
+    @Schema(description = "鍚堝悓鍚嶇О")
+    @Column(columnDefinition = "VARCHAR(200) comment '鍚堝悓鍚嶇О'")
+    private String contractName;
+
+    @Schema(description = "鐢叉柟id")
+    @Column(columnDefinition = "bigint comment '鐢叉柟id'")
+    private Long partyAId;
+
+    @Schema(description = "鐢叉柟鍚嶇О")
+    @Column(columnDefinition = "VARCHAR(100) comment '鐢叉柟鍚嶇О'")
+    private String partyA;
+
+    @Schema(description = "涔欐柟id")
+    @Column(columnDefinition = "VARCHAR(100) comment '涔欐柟id'")
+    private String partyBId;
+
+    @Schema(description = "涔欐柟鍚嶇О")
+    @Column(columnDefinition = "VARCHAR(100) comment '涔欐柟鍚嶇О'")
+    private String partyB;
+
+    @Schema(description = "鍚堝悓閲戦")
+    @Column(columnDefinition = "double comment '鍚堝悓閲戦'")
+    private Double amount;
+
+    @Schema(description = "甯佺锛圕NY/USD绛夛級")
+    @Column(columnDefinition = "VARCHAR(10) default 'CNY' comment '甯佺'")
+    private String currency;
+
+    @Schema(description = "鍚堝悓绫诲瀷锛�0-鐢熸垚寮� 1-澶囨寮忥級")
+    @Column(columnDefinition = "tinyint(2) default 0 comment '鍚堝悓绫诲瀷'")
+    private Integer contractType;
+
+    @Schema(description = "鍚堝悓鐘舵�侊紙0-鑽夌 1-宸茬敓鏁� 2-宸茬粓姝� 3-宸茶繃鏈燂級")
+    @Column(columnDefinition = "tinyint(2) default 0 comment '鍚堝悓鐘舵��'")
+    private Integer contractStatus;
+
+    @Schema(description = "鍚堝悓鏈嶅姟灞炴�э紙0-浜у搧閿�鍞� 1-鏃犲舰鏈嶅姟锛�")
+    @Column(columnDefinition = "tinyint(2) default 0 comment '鍚堝悓鏈嶅姟灞炴��'")
+    private Integer contractAttribute;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "绛剧讲鏃ユ湡")
+    @Column(columnDefinition = "VARCHAR(64) comment '绛剧讲鏃ユ湡'")
+    private String signDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "鐢熸晥鏃ユ湡")
+    @Column(columnDefinition = "VARCHAR(64) comment '鐢熸晥鏃ユ湡'")
+    private String effectiveDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "鍒版湡鏃ユ湡")
+    @Column(columnDefinition = "VARCHAR(64) comment '鍒版湡鏃ユ湡'")
+    private String expirationDate;
+
+    @Schema(description = "鍚堝悓闄勪欢URL")
+    @Column(columnDefinition = "VARCHAR(500) comment '鍚堝悓闄勪欢URL'")
+    private String attachmentUrl;
+
+    @Schema(description = "澶囨敞")
+    @Column(columnDefinition = "TEXT comment '澶囨敞'")
+    private String remark;
+
+    @Schema(description = "鍏宠仈鐖跺悎鍚宨d锛堢敤浜庡悎鍚屽彉鏇存椂鎸囧悜鍘熷悎鍚岋級")
+    @Column(columnDefinition = "bigint comment '鍏宠仈鐖跺悎鍚宨d'")
+    private Long parentId;
+
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "瀹℃壒鏃堕棿")
+    @Column(columnDefinition = "datetime comment '瀹℃壒鏃堕棿'")
+    private String approveTime;
+
+    /**
+     * 涓存椂瀛楁 - 鐢ㄤ簬鎺ユ敹瀹℃壒浜哄悕绉扮瓑鍏宠仈鏌ヨ缁撴灉
+     */
+    @Transient
+    @TableField(exist = false)
+    private String approverName;
+
+    /**
+     * 涓存椂瀛楁 - 鍚堝悓鍓╀綑澶╂暟
+     */
+    @Transient
+    @TableField(exist = false)
+    @Schema(description = "鍚堝悓鍓╀綑澶╂暟锛堜复鏃跺瓧娈碉級")
+    private Long remainingDays;
+}

--
Gitblit v1.9.1