📄 gold.java
字号:
package com.redmoon.forum.plugin.score;
import com.redmoon.forum.plugin.base.IPluginScore;
import com.redmoon.forum.MsgDb;
import javax.servlet.http.HttpServletRequest;
import cn.js.fan.util.ErrMsgException;
import javax.servlet.ServletContext;
import com.redmoon.forum.plugin.ScoreUnit;
import com.redmoon.forum.plugin.ScoreMgr;
import org.apache.log4j.Logger;
import com.redmoon.forum.BoardScoreDb;
import com.redmoon.forum.Privilege;
import com.redmoon.forum.person.UserDb;
import cn.js.fan.util.ResKeyException;
public class Gold implements IPluginScore {
Logger logger = Logger.getLogger(this.getClass().getName());
public static final String code = "gold";
public ScoreUnit scoreUnit;
public Gold() {
scoreUnit = getUnit();
}
public ScoreUnit getUnit() {
ScoreMgr sm = new ScoreMgr();
return sm.getScoreUnit(code);
}
public boolean isPluginBoard(String boardCode) {
if (scoreUnit.getType().equals(scoreUnit.TYPE_FORUM))
return true;
BoardScoreDb be = new BoardScoreDb();
be = be.getBoardScoreDb(boardCode, code);
if (be.isLoaded())
return true;
else
return false;
}
public boolean AddNew(ServletContext application,
HttpServletRequest request, MsgDb md) throws
ErrMsgException {
if (!isPluginBoard(md.getboardcode()))
return true;
Privilege pvg = new Privilege();
UserDb user = new UserDb();
user = user.getUser(pvg.getUser(request));
user.setGold(user.getGold() + scoreUnit.getAddValue());
return user.save();
}
public boolean AddQuickReply(ServletContext application,
HttpServletRequest request, long replyMsgId) throws
ErrMsgException {
MsgDb md = new MsgDb();
md = md.getMsgDb(replyMsgId);
if (!isPluginBoard(md.getboardcode()))
return true;
Privilege pvg = new Privilege();
UserDb user = new UserDb();
user = user.getUser(pvg.getUser(request));
user.setGold(user.getGold() + scoreUnit.getReplyValue());
boolean re = user.save();
return re;
}
public boolean delSingleMsg(MsgDb md) throws
ResKeyException {
if (!isPluginBoard(md.getboardcode()))
return true;
UserDb user = new UserDb();
user = user.getUser(md.getName());
user.setGold(user.getGold() + scoreUnit.getDelValue());
return user.save();
}
public boolean AddReply(ServletContext application,
HttpServletRequest request, MsgDb md) throws
ErrMsgException {
if (!isPluginBoard(md.getboardcode()))
return true;
Privilege pvg = new Privilege();
UserDb user = new UserDb();
user = user.getUser(pvg.getUser(request));
user.setGold(user.getGold() + scoreUnit.getReplyValue());
boolean re = user.save();
return re;
}
public boolean setElite(MsgDb md, int isElite) throws ResKeyException {
UserDb user = new UserDb();
user = user.getUser(md.getName());
int d = scoreUnit.getEliteValue();
if (isElite==0)
d = -d;
user.setGold(user.getGold() + d);
return user.save();
}
public void regist(UserDb user) throws ErrMsgException {
user.setGold(scoreUnit.getRegistValue());
}
public boolean pay(String buyer, String seller, double value) throws ResKeyException {
int sum = 0;
if (!buyer.equals(this.SELLER_SYSTEM)) {
sum = (int) getUserSum(buyer);
if (sum < value)
throw new ResKeyException("res.forum.plugin.score.Gold",
"err_inadequate", new Object[] {buyer,
"" + sum});
// throw new ErrMsgException("金币不足! " + buyer + "的金币总额为:" + sum);
}
if (seller.equals(this.SELLER_SYSTEM)) {
UserDb ud = new UserDb();
UserDb buser = ud.getUser(buyer);
buser.setGold((int)(buser.getGold() - value));
return buser.save();
}
else {
if (buyer.equals(this.SELLER_SYSTEM)) {
UserDb ud = new UserDb();
UserDb suser = ud.getUser(seller);
suser.setGold(suser.getGold() + (int) value);
return suser.save();
}
else {
UserDb ud = new UserDb();
UserDb buser = ud.getUser(buyer);
UserDb suser = ud.getUser(seller);
buser.setGold(buser.getGold() - (int) value);
if (buser.save()) {
suser.setGold(suser.getGold() + (int) value);
return suser.save();
}
}
}
return true;
}
public double getUserSum(String userName) {
UserDb ud = new UserDb();
ud = ud.getUser(userName);
return ud.getGold();
}
public boolean changeUserSum(String userName, double valueDlt) {
UserDb ud = new UserDb();
ud = ud.getUser(userName);
ud.setGold(ud.getGold() + (int)valueDlt);
return ud.save();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -