128 lines
3.2 KiB
Java
128 lines
3.2 KiB
Java
|
|
package com.example.cattletends.entity;
|
|||
|
|
|
|||
|
|
import javax.persistence.*;
|
|||
|
|
import java.math.BigDecimal;
|
|||
|
|
import java.time.LocalDate;
|
|||
|
|
import java.time.LocalDateTime;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 省份每日均价实体类
|
|||
|
|
* 存储15个省份每天的省份均价,只累加不覆盖
|
|||
|
|
*/
|
|||
|
|
@Entity
|
|||
|
|
@Table(name = "province_daily_price",
|
|||
|
|
uniqueConstraints = {
|
|||
|
|
@UniqueConstraint(name = "uk_province_date", columnNames = {"province", "price_date"})
|
|||
|
|
},
|
|||
|
|
indexes = {
|
|||
|
|
@Index(name = "idx_province", columnList = "province"),
|
|||
|
|
@Index(name = "idx_price_date", columnList = "price_date"),
|
|||
|
|
@Index(name = "idx_province_date_composite", columnList = "province,price_date"),
|
|||
|
|
@Index(name = "idx_price", columnList = "price"),
|
|||
|
|
@Index(name = "idx_date_price", columnList = "price_date,price"),
|
|||
|
|
@Index(name = "idx_province_price", columnList = "province,price"),
|
|||
|
|
@Index(name = "idx_up_time", columnList = "up_time"),
|
|||
|
|
@Index(name = "idx_create_time", columnList = "create_time")
|
|||
|
|
}
|
|||
|
|
)
|
|||
|
|
public class ProvinceDailyPrice {
|
|||
|
|
|
|||
|
|
@Id
|
|||
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|||
|
|
private Integer id;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 省份名称
|
|||
|
|
*/
|
|||
|
|
@Column(name = "province", nullable = false, length = 100)
|
|||
|
|
private String province;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 省份均价(元/斤)
|
|||
|
|
*/
|
|||
|
|
@Column(name = "price", precision = 10, scale = 2, nullable = false)
|
|||
|
|
private BigDecimal price;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 价格日期(只记录日期,不包含时间)
|
|||
|
|
*/
|
|||
|
|
@Column(name = "price_date", nullable = false)
|
|||
|
|
private LocalDate priceDate;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 创建时间
|
|||
|
|
*/
|
|||
|
|
@Column(name = "create_time")
|
|||
|
|
private LocalDateTime createTime;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 更新时间
|
|||
|
|
*/
|
|||
|
|
@Column(name = "up_time", nullable = false)
|
|||
|
|
private LocalDateTime upTime;
|
|||
|
|
|
|||
|
|
@PrePersist
|
|||
|
|
protected void onCreate() {
|
|||
|
|
createTime = LocalDateTime.now();
|
|||
|
|
upTime = LocalDateTime.now();
|
|||
|
|
if (priceDate == null) {
|
|||
|
|
priceDate = LocalDate.now();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@PreUpdate
|
|||
|
|
protected void onUpdate() {
|
|||
|
|
upTime = LocalDateTime.now();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Getters and Setters
|
|||
|
|
public Integer getId() {
|
|||
|
|
return id;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setId(Integer id) {
|
|||
|
|
this.id = id;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public String getProvince() {
|
|||
|
|
return province;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setProvince(String province) {
|
|||
|
|
this.province = province;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public BigDecimal getPrice() {
|
|||
|
|
return price;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setPrice(BigDecimal price) {
|
|||
|
|
this.price = price;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public LocalDate getPriceDate() {
|
|||
|
|
return priceDate;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setPriceDate(LocalDate priceDate) {
|
|||
|
|
this.priceDate = priceDate;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public LocalDateTime getCreateTime() {
|
|||
|
|
return createTime;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setCreateTime(LocalDateTime createTime) {
|
|||
|
|
this.createTime = createTime;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public LocalDateTime getUpTime() {
|
|||
|
|
return upTime;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setUpTime(LocalDateTime upTime) {
|
|||
|
|
this.upTime = upTime;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|