package cn.newgxu.bbs.domain.bank; import java.util.LinkedHashMap; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; 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; /** * Bank generated by MyEclipse - Hibernate Tools */ @Entity @Table(name = "bank") public class Bank extends JPAEntity { private static final long serialVersionUID = -8199261655207027555L; @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) // @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="id_seq") // @SequenceGenerator(name="id_seq", sequenceName="seq_bank_operate_log") private int id = -1; private String name; private String admins; // 投资总额 private int investment; // 实际资本 private int bankroll; // 银行存款 private int deposit; // 存款中定期总额 private int fixed; // 银行贷出总额 private int loan; @Column(name = "user_number") private int userNumber; @Column(name = "open_cost") private int openCost; @Column(name = "current_rate", precision = 4) private float currentRate; @Column(name = "fixed_rate", precision = 4) private float fixedRate; @Column(name = "loan_rate", precision = 4) private float loanRate; @Column(name = "virement_rate", precision = 4) private float virementRate; @Column(name = "fix_min_days") private int fixMinDays; @Column(name = "virement_min") private int virementMin; @Column(name = "virement_max") private int virementMax; // Property accessors public int getVirementMax() { return virementMax; } public void setVirementMax(int virementMax) { this.virementMax = virementMax; } public int getVirementMin() { return virementMin; } public void setVirementMin(int virementMin) { this.virementMin = virementMin; } public int getId() { return this.id; } public void setId(int id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getAdmins() { return this.admins; } public void setAdmins(String admins) { this.admins = admins; } public int getInvestment() { return this.investment; } public void setInvestment(int investment) { this.investment = investment; } public int getBankroll() { return this.bankroll; } public void setBankroll(int bankroll) { this.bankroll = bankroll; } public int getDeposit() { return this.deposit; } public void setDeposit(int deposit) { this.deposit = deposit; } public int getUserNumber() { return this.userNumber; } public void setUserNumber(int userNumber) { this.userNumber = userNumber; } public int getOpenCost() { return this.openCost; } public void setOpenCost(int openCost) { this.openCost = openCost; } public float getCurrentRate() { return this.currentRate; } public void setCurrentRate(float currentRate) { this.currentRate = currentRate; } public float getFixedRate() { return this.fixedRate; } public void setFixedRate(float fixedRate) { this.fixedRate = fixedRate; } public float getLoanRate() { return loanRate; } public void setLoanRate(float loanRate) { this.loanRate = loanRate; } public float getVirementRate() { return this.virementRate; } public void setVirementRate(float virementRate) { this.virementRate = virementRate; } public int getFixMinDays() { return fixMinDays; } public void setFixMinDays(int fixMinDays) { this.fixMinDays = fixMinDays; } public int getFixed() { return fixed; } public void setFixed(int fixed) { this.fixed = fixed; } public int getLoan() { return loan; } public void setLoan(int loan) { this.loan = loan; } // ----------------------- public static synchronized Bank get(int id) throws ObjectNotFoundException { return (Bank) getById(Bank.class, id); } public static Bank get() throws ObjectNotFoundException { return get(1); } public int[] getBankAdmins() { return Util.splitIds(this.admins); } public boolean isBankAdmin(User user) { int[] ids = getBankAdmins(); for (int id : ids) { if (id == user.getId()) { return true; } } return false; } /** * 银行存取款。 * * @param money * 操作金额。 */ public void addDeposit(int money) { this.deposit += money; this.deposit = this.deposit < 0 ? 0 : this.deposit; } /** * 银行实际资本进出。 * * @param money * 操作金额。 */ public void addBankroll(int money) { this.bankroll += money; this.bankroll = this.bankroll < 0 ? 0 : this.bankroll; } /** * 银行定期资金进出。 * * @param money * 操作金额。 */ public void addFixed(int money) { this.fixed += money; this.fixed = this.fixed < 0 ? 0 : this.fixed; } /** * 银行贷款资金进出。 * * @param money * 操作金额。 */ public void addLoan(int money) { this.loan += money; this.loan = this.loan < 0 ? 0 : this.loan; } /** * 增加银行用户数量。 */ public void addUserNumber(int num) { this.userNumber += num; } /** * 社区基金支出。 * * @param money * 操作金额。 */ public void payout(int money) { addBankroll(0 - money); } /** * 社区基金收入。 * * @param money * 操作金额。 */ public void income(int money) { addBankroll(money); } // ------------------------------------------------ @SuppressWarnings("serial") @Override public String toString() { return "bank" + new LinkedHashMap<String, Object>() { { put("id", id); put("name", name); put("admins", admins); put("userNumber", userNumber); put("openCost", openCost); put("currentRate", currentRate); put("fixedRate", fixedRate); put("loanRate", loanRate); put("virementRate", virementRate); put("investment", investment); put("bankroll", bankroll); put("deposit", deposit); } }.toString(); } }