package cn.newgxu.bbs.domain.bank; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import cn.newgxu.bbs.common.util.Util; import cn.newgxu.bbs.domain.user.User; import cn.newgxu.jpamodel.JPAEntity; import cn.newgxu.jpamodel.ObjectNotFoundException; /** * BankFixed generated by MyEclipse - Hibernate Tools */ @Entity @Table(name = "bank_fixed") public class Fixed extends JPAEntity { private static final long serialVersionUID = -6429122751239641811L; // Fields @Id @Column(name = "id") // @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="id_seq") // @SequenceGenerator(name="id_seq", sequenceName="seq_bank_operate_log") @GeneratedValue(strategy = GenerationType.IDENTITY) private int id = -1; @ManyToOne(cascade = { CascadeType.REFRESH }, fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; private int money; private int days; @Column(name = "fixed_rate", precision = 4) private Float fixedRate; private boolean drawing; @Column(name = "begin_time") private Date beginTime; @Column(name = "draw_time") private Date drawTime; // Property accessors public int getId() { return this.id; } public void setId(int id) { this.id = id; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public int getMoney() { return this.money; } public void setMoney(int money) { this.money = money; } public Date getBeginTime() { return this.beginTime; } public void setBeginTime(Date beginTime) { this.beginTime = beginTime; } public int getDays() { return this.days; } public void setDays(int days) { this.days = days; } public Float getFixedRate() { return this.fixedRate; } public void setFixedRate(Float fixedRate) { this.fixedRate = fixedRate; } public boolean getDrawing() { return this.drawing; } public void setDrawing(boolean drawing) { this.drawing = drawing; } public Date getDrawTime() { return this.drawTime; } public void setDrawTime(Date drawTime) { this.drawTime = drawTime; } // Constructors public static Fixed get(int id) throws ObjectNotFoundException { return (Fixed) getById(Fixed.class, id); } @SuppressWarnings("unchecked") public static List<Fixed> getByUser(User user) { return (List<Fixed>) Q("from Fixed f where f.user = ?1 and drawing = ?2", P(1, user), P(2, false)).getResultList(); } public Date getEndTime() { return Util.getDateAfterDay(this.beginTime, this.days); } public int getAccrual() { if (Util.days(this.beginTime, new Date()) < this.days) { return 0; } return (int)(this.money * this.days * this.fixedRate); } // ------------------------------------------------ @SuppressWarnings("serial") @Override public String toString() { return "Fixed" + new LinkedHashMap<String, Object>() { { put("id", id); put("user", user); put("money", money); put("days", days); put("fixedRate", fixedRate); put("drawing", drawing); put("beginTime", beginTime); put("drawTime", drawTime); } }.toString(); } }