⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auctionvieweditmsg.java

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 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() +
                                        "&nbsp";
                                str += AuctionSkin.LoadString(request, "price") +
                                        "&nbsp;<input name='price_" + su.getCode() +
                                        "' size=2 value='" + aw.getPrice() + "'>&nbsp;";
                                isFounded = true;
                                break;
                            }
                        }
                        if (!isFounded) {
                            str +=
                                    "<input name=moneyType type=checkbox value='" +
                                    su.getCode() +
                                    "'>" +
                                    AuctionSkin.LoadString(request, "use") +
                                    su.getName() +
                                    "&nbsp";
                            str += AuctionSkin.LoadString(request, "price") +
                                    "&nbsp;<input name='price_" + su.getCode() +
                                    "' size=2>&nbsp;";
                        }
                    }
                }
                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 + -