📄 auctionvieweditmsg.java
字号:
package com.redmoon.forum.plugin.auction;
import javax.servlet.http.HttpServletRequest;
import com.redmoon.forum.Privilege;
import com.redmoon.forum.plugin.base.IPluginViewEditMsg;
import com.redmoon.forum.plugin.base.UIEditMsg;
import com.redmoon.forum.MsgDb;
import cn.js.fan.util.StrUtil;
import cn.js.fan.util.DateUtil;
import com.redmoon.forum.plugin.ScoreUnit;
import java.util.Vector;
import java.util.Iterator;
import com.redmoon.forum.plugin.ScoreMgr;
import org.apache.log4j.Logger;
public class AuctionViewEditMsg implements IPluginViewEditMsg {
Logger logger = Logger.getLogger(AuctionViewEditMsg.class.getName());
HttpServletRequest request;
public AuctionViewEditMsg(HttpServletRequest request, String boardCode, long msgId) {
this.request = request;
this.boardCode = boardCode;
this.msgId = msgId;
init();
}
public void init() {
formElement = "";
formNote = AuctionSkin.LoadString(request, "LABEL_EDIT_MSG");
// 脚本
formNote += "<script src='plugin/" + AuctionSkin.code + "/script.js'></script>\n";
MsgDb md = new MsgDb();
md = md.getMsgDb(msgId);
// 如果该贴不是根贴,则写secretLevel修改的表单,根贴默认为公共可见,不可更改
if (md.getReplyid()==-1) {
AuctionDb ad = new AuctionDb();
ad = ad.getAuctionDb(msgId);
// 如果是拍卖
if (ad.getSellType()==ad.SELL_TYPE_AUCTION) {
formElement += AuctionSkin.LoadString(request, "FORM_EDIT_AUCTION");
formElement = formElement.replaceFirst("\\$commodityName", ad.getName());
formElement = formElement.replaceFirst("\\$count", ad.getCount() + "");
AuctionWorthDb aw = new AuctionWorthDb();
long[] ids = aw.getWorthOfAuction(ad.getMsgRootId());
int id = (int)ids[0];
aw = aw.getAuctionWorthDb(id);
formElement = formElement.replaceFirst("\\$price", StrUtil.FormatPrice(aw.getPrice()));
formElement = formElement.replaceFirst("\\$dlt", StrUtil.FormatPrice(aw.getDlt()));
formElement = formElement.replaceFirst("\\$referPrice", StrUtil.FormatPrice(aw.getReferPrice()));
formElement = formElement.replaceFirst("\\$beginDate", DateUtil.format(ad.getBeginDate(), "yyyy-MM-dd"));
formElement = formElement.replaceFirst("\\$endDate", DateUtil.format(ad.getEndDate(), "yyyy-MM-dd"));
AuctionBoardDb ab = new AuctionBoardDb();
ab = ab.getAuctionBoardDb(boardCode);
String skinCode = ab.getSkinCode();
String skinPath = AuctionSkin.getSkinPath(skinCode);
String path = "plugin/" + AuctionSkin.code + "/" + skinPath;
formElement = formElement.replaceAll("\\$skinpath", path);
AuctionConfig ac = new AuctionConfig();
int expireDayMax = ac.getIntProperty(ac.ExpireDayMax);
formElement = formElement.replaceFirst("\\$expireDayMax",
"" + expireDayMax);
// 选择币种
ScoreMgr sm = new ScoreMgr();
Vector v = sm.getAllScore();
Iterator ir = v.iterator();
String strOption = "<select name=moneyCode>";
while (ir.hasNext()) {
ScoreUnit su = (ScoreUnit) ir.next();
if (su.isExchange()) {
String checked = "";
if (su.getCode().equals(aw.getMoneyCode()))
checked = "selected";
strOption += "<option value='" + su.getCode() + "' " +
checked + ">" + su.getName() + "</option>";
}
}
strOption += "</select>";
formElement = formElement.replaceFirst("\\$selectMoneyCode",
"" + strOption);
}
// 一口价
if (ad.getSellType()==ad.SELL_TYPE_SELL) {
formElement += AuctionSkin.LoadString(request, "FORM_EDIT_SELL");
formElement = formElement.replaceFirst("\\$commodityName", ad.getName());
formElement = formElement.replaceFirst("\\$count", ad.getCount() + "");
String checked = "";
if (ad.isShow())
checked = "checked";
formElement = formElement.replaceFirst("\\$checked", checked);
ScoreMgr sm = new ScoreMgr();
Vector v = sm.getAllScore();
Iterator ir = v.iterator();
String str = "";
AuctionWorthDb aw = new AuctionWorthDb();
Vector awv = aw.list(msgId);
int size = awv.size();
while (ir.hasNext()) {
ScoreUnit su = (ScoreUnit) ir.next();
if (su.isExchange()) {
boolean isFounded = false;
for (int i=0; i<size; i++) {
aw = (AuctionWorthDb) awv.get(i);
// 如果该类型的币已经在物品的价格列表中
if (aw.getMoneyCode().equals(su.getCode())) {
str += "<input name=moneyType type=checkbox checked value='" + su.getCode() +
"'>" + AuctionSkin.LoadString(request, "use") + su.getName() +
" ";
str += AuctionSkin.LoadString(request, "price") +
" <input name='price_" + su.getCode() +
"' size=2 value='" + aw.getPrice() + "'> ";
isFounded = true;
break;
}
}
if (!isFounded) {
str +=
"<input name=moneyType type=checkbox value='" +
su.getCode() +
"'>" +
AuctionSkin.LoadString(request, "use") +
su.getName() +
" ";
str += AuctionSkin.LoadString(request, "price") +
" <input name='price_" + su.getCode() +
"' size=2> ";
}
}
}
formElement += str;
}
Privilege privilege = new Privilege();
String userName = privilege.getUser(request);
AuctionShopDb as = new AuctionShopDb();
as = as.getAuctionShopDb(userName);
// 如果本人创建了商店,则显示本店目录
if (as.isLoaded()) {
String options = AuctionSkin.LoadString(request,
"FORM_MYSHOP_DIR");
AuctionShopDirDb asd = new AuctionShopDirDb();
options = options.replaceFirst("\\$options",
asd.toOptions(userName));
formElement += options;
formElement += "<script>\n";
formElement += "setShopDir('" + ad.getShopDir() +"')\n";
formElement += "</script>\n";
}
else { // 如果是散户
String options = AuctionSkin.LoadString(request, "FORM_ALL_DIR");
Directory dir = new Directory();
Leaf lf = dir.getLeaf("root");
DirectoryView dv = new DirectoryView(lf);
StringBuffer sb = new StringBuffer();
try {
dv.ShowDirectoryAsOptionsToString(sb, lf, lf.getLayer());
}
catch (Exception e) {
logger.error("init:" + e.getMessage());
}
options = options.replaceFirst("\\$options", sb.toString());
formElement += options;
formElement += "<script>\n";
formElement += "setCatalogCode('" + ad.getCatalogCode() +"')\n";
formElement += "</script>\n";
}
}
}
/**
* IsPluginBoard
*
* @return boolean
* @todo Implement this com.redmoon.forum.plugin.base.IPluginViewShowMsg
* method
*/
public boolean IsPluginBoard() {
AuctionBoardDb sb = new AuctionBoardDb();
return sb.isPluginBoard(boardCode);
}
/**
* render
*
* @param position int
* @return String
* @todo Implement this com.redmoon.forum.plugin.base.IPluginView method
*/
public String render(int position) {
String str = "";
switch (position) {
case UIEditMsg.POS_FORM_NOTE:
str = getFormNote();
break;
case UIEditMsg.POS_FORM_ELEMENT:
str = getFormElement();
break;
default:
}
return str;
}
public void setMsgId(long msgId) {
this.msgId = msgId;
}
public void setBoardCode(String boardCode) {
this.boardCode = boardCode;
}
public void setFormElement(String formElement) {
this.formElement = formElement;
}
public void setFormNote(String formNote) {
this.formNote = formNote;
}
public long getMsgId() {
return msgId;
}
public String getBoardCode() {
return boardCode;
}
public String getFormElement() {
return formElement;
}
public String getFormNote() {
return formNote;
}
private long msgId;
private String boardCode;
private String formElement;
private String formNote;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -