package com.atm.model; import jakarta.persistence.*; import java.math.BigDecimal; import java.time.LocalDateTime; /** * 账户实体类 */ @Entity @Table(name = "account") public class Account { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "aid") private Long aid; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "cid", nullable = false) private Customer customer; @Column(name = "atype", nullable = false) private String atype; @Column(name = "abalance", precision = 15, scale = 2) private BigDecimal abalance; @Column(name = "astatus") private String astatus; @Column(name = "created_at") private LocalDateTime createdAt; @Column(name = "updated_at") private LocalDateTime updatedAt; // 默认构造函数 public Account() { this.abalance = BigDecimal.ZERO; this.astatus = "active"; this.createdAt = LocalDateTime.now(); this.updatedAt = LocalDateTime.now(); } // 带参构造函数 public Account(Customer customer, String atype) { this(); this.customer = customer; this.atype = atype; } // Getter和Setter方法 public Long getAid() { return aid; } public void setAid(Long aid) { this.aid = aid; } public Customer getCustomer() { return customer; } public void setCustomer(Customer customer) { this.customer = customer; } public String getAtype() { return atype; } public void setAtype(String atype) { this.atype = atype; } public BigDecimal getAbalance() { return abalance; } public void setAbalance(BigDecimal abalance) { this.abalance = abalance; } public String getAstatus() { return astatus; } public void setAstatus(String astatus) { this.astatus = astatus; } public LocalDateTime getCreatedAt() { return createdAt; } public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } public LocalDateTime getUpdatedAt() { return updatedAt; } public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; } @PreUpdate public void preUpdate() { this.updatedAt = LocalDateTime.now(); } @Override public String toString() { return "Account{" + "aid=" + aid + ", customer=" + (customer != null ? customer.getCid() : null) + ", atype='" + atype + '\'' + ", abalance=" + abalance + ", astatus='" + astatus + '\'' + '}'; } }