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