亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? auctionmanagerimpl.java

?? 一個基于j2ee的電子拍賣系統
?? JAVA
字號:
package org.yeeku.service.impl;

import org.apache.log4j.Logger;

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Date;
import java.util.Calendar;

import org.yeeku.business.*;
import org.yeeku.dao.*;
import org.yeeku.model.*;
import org.yeeku.exception.AuctionException;
import org.yeeku.service.AuctionManager;

import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;

/**
 * @author  yeeku.H.lee kongyeeku@163.com
 * @version  1.0
 * <br>Copyright (C), 2005-2008, yeeku.H.Lee
 * <br>This program is protected by copyright laws.
 * <br>Program Name:
 * <br>Date: 
 */
public class AuctionManagerImpl implements AuctionManager
{
    static Logger log = Logger.getLogger(AuctionManagerImpl.class.getName());

    private AuctionUserDao userDao;
    private BidDao bidDao;
    private ItemDao itemDao;
    private KindDao kindDao;
    private StateDao stateDao;
    private MailSender mailSender;
    private SimpleMailMessage message;
	
	public void setUserDao(AuctionUserDao userDao) {
		this.userDao = userDao; 
	}

	public void setBidDao(BidDao bidDao) {
		this.bidDao = bidDao; 
	}

	public void setItemDao(ItemDao itemDao) {
		this.itemDao = itemDao; 
	}

	public void setKindDao(KindDao kindDao) {
		this.kindDao = kindDao; 
	}

	public void setStateDao(StateDao stateDao) {
		this.stateDao = stateDao; 
	}

    public void setMailSender(MailSender mailSender)
	{
        this.mailSender = mailSender;
    }

    public void setMessage(SimpleMailMessage message)
	{
        this.message = message;
    }

    /**
     * 根據贏取者查詢物品
     * @param winerId 贏取者id
     * @return 贏取者獲得的全部物品
     */
    public List getItemByWiner(int winerId) throws AuctionException
    {
        try
        {
            List result = new ArrayList();
            List items = itemDao.findItemByWiner(winerId); 
             for (Iterator it = items.iterator() ; it.hasNext() ; )
            {
                Item item = (Item)it.next();
                ItemBean ib = new ItemBean();
                initItem(ib,item);
                result.add(ib);
            }
            return result;           
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("根據贏取者查詢物品出現異常,請重試");
        }
    }
    /**
     * 查詢全部流拍的物品
     * @return 全部流拍物品
     */
    public List getFailItems() throws AuctionException
    {
        try
        {
            List result = new ArrayList();
            List items = itemDao.findItemByState(3);
            for (Iterator it = items.iterator() ; it.hasNext() ; )
            {
                Item item = (Item)it.next();
                ItemBean ib = new ItemBean();
                initItem(ib,item);
                result.add(ib);
            }
            return result;
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("查詢流拍物品出現異常,請重試");
        }
    }
    /**
     * 查詢用戶的全部出價
     * @param userId 需查詢的用戶id
     * @return 用戶的全部出價
     */
    public List getBidByUser(int userId) throws AuctionException
    {
        try
        {
            List l = bidDao.findByUser(userId);
            List result = new ArrayList();
            for ( int i = 0 ; i < l.size() ; i++ )
            {
                Bid bid = (Bid)l.get(i);
                BidBean bb = new BidBean();
                initBid(bb, bid);
                result.add(bb);
            }
            return result;
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("查詢用戶對應所有的競價出現異常,請重試");
        }
    }

    /**
     * 根據用戶名,密碼驗證登錄是否成功
     * @param username 登錄所輸入的用戶名
     * @param pass 登錄的密碼
     * @return 全部流拍物品
     */
    public Integer validLogin(String username , String pass) throws AuctionException
    {
        try
        {			
			AuctionUser user = userDao.findUserByNameAndPass(username , pass);
			if (user != null)
			{
				return user.getId();
			}
			return null;
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("驗證用戶登錄出現異常,請重試");
        }
    }

	/**
	 * 根據用戶id查找目前仍在拍賣中的物品
	 * @param userId 用戶id
	 * @return 當前用戶所有的全部物品。
	 */
    public List getItemsByOwner(int userId) throws AuctionException
    {
        try
        {
            List result = new ArrayList();
            List items = itemDao.findItemByOwner(userId);
            for (Iterator it = items.iterator() ; it.hasNext() ; )
            {
                Item item = (Item)it.next();
                ItemBean ib = new ItemBean();
                initItem(ib,item);
                result.add(ib);
            }
            return result;            
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("獲取用戶的所有拍賣物品出現異常,請重試");
        }
    }
    /**
     * 查詢全部狀態
     * @return 獲得全部種類
     */     
    public List getAllKind() throws AuctionException
    {
        try
        {
            return kindDao.findAll();       	
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("獲取所有的物品種類出現異常,請重試");
        }
    }

    /**
     * 添加物品
     * @param name 物品名稱
     * @param desc 物品描述
     * @param remark 物品備注
     * @param avail 有效天數
     * @param kind 物品種類
     */ 
    public void addItem(String name , String desc , String remark , double initPrice , int avail , int kind , int userId) throws AuctionException
    {
        try
        {
            Kind k = kindDao.get(kind);
            AuctionUser owner = userDao.get(userId);

            Item item = new Item();
            item.setItemName(name);
            item.setItemDesc(desc);
            item.setItemRemark(remark);
            item.setAddtime(new Date());
            Calendar c = Calendar.getInstance();
            c.add(Calendar.DATE , avail);
            item.setEndtime(c.getTime());
            item.setInitPrice(initPrice);
            item.setMaxPrice(initPrice);
            item.setItemState(stateDao.get(1));
            item.setKind(k);
            item.setOwner(owner);

            itemDao.save(item);

        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("添加物品出現異常,請重試");
        }
    }

    /**
     * 添加種類
     * @param name 種類名稱
     * @param desc 種類描述
     */
    public void addKind(String name , String desc ) throws AuctionException
    {
        try
        {
            Kind k = new Kind();
            k.setKindName(name);
            k.setKindDesc(desc);
            kindDao.save(k);
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("添加物品種類出現異常,請重試");
        }

    }

    /**
     * 根據產品分類,獲取當前拍賣的全部商品
     * @param kindId 種類id;
     * @return 該類的全部產品
     */
    public List getItemsByKind(int kindId) throws AuctionException
	{
        try
        {
            List result = new ArrayList();
			List items = itemDao.findItemByKind(kindId);
            for (Iterator it = items.iterator() ; it.hasNext() ; )
            {
                Item item = (Item)it.next();
                ItemBean ib = new ItemBean();
                initItem(ib,item);
                result.add(ib);
            }
            return result;
        }
        catch (Exception e)
        {
            log.debug(e.getMessage());
            throw new AuctionException("獲取指定種類的物品出現異常,請重試");
        }
	}
    /**
     * 根據分類id,獲取種類名
     * @param kindId 種類id;
     * @return 該分類的名稱
     */
    public String getKind(int kindId) throws AuctionException
	{
		Kind  k = kindDao.get(kindId);
		return k.getKindName();
	}

    /**
     * 根據物品id,獲取物品
     * @param itemId 物品id;
     * @return 該物品的名稱
     */
    public ItemBean getItem(int itemId) throws AuctionException
	{
		Item item = itemDao.get(itemId);
        ItemBean ib = new ItemBean();
        initItem(ib, item);
        return ib;
	}

	/**
	 * 增加新的競價,并對競價用戶發送郵件通知
	 * @param userId 用戶id;
	 * @param itemId 物品id;
	 * @param bidPrice 競價價格
	 */
	public void addBid(int userId , int itemId , double bidPrice)throws AuctionException
	{
		AuctionUser au = userDao.get(userId);
		Item item = itemDao.get(itemId);
		if (bidPrice > item.getMaxPrice())
		{
			item.setMaxPrice(bidPrice);
			itemDao.save(item);
		}

		Bid bid = new Bid();
		bid.setBidItem(item);
		bid.setBidUser(au);
		bid.setBidDate(new Date());
		bid.setBidPrice(bidPrice);

		bidDao.save(bid);

        SimpleMailMessage msg = new SimpleMailMessage(this.message);
        msg.setTo(au.getEmail());
        msg.setText(
            "Dear "
                + au.getUsername()
                + ", 謝謝你參與競價,你的競價的物品的是: "
                + item.getItemName());
        try
		{
            mailSender.send(msg);
        }
        catch(MailException ex)
		{
            System.err.println(ex.getMessage());            
        }
	}

	/**
	 * 根據時間來修改物品的贏取者
	 */
	public void updateWiner()throws AuctionException
	{
		List itemList = itemDao.findItemByState(1);
		for (int i = 0 ; i < itemList.size() ; i++ )
		{
			Item item = (Item)itemList.get(i);
			if (!item.getEndtime().after(new Date()))
			{
				AuctionUser au = bidDao.findUserByItemAndPrice(item.getId() , item.getMaxPrice());
				if (au != null)
				{
					item.setWiner(au);
					item.setItemState(stateDao.get(2));
					itemDao.save(item);
				}
				else
				{
					item.setItemState(stateDao.get(3));
					itemDao.save(item);
				}
			}
		}
	}

    /**
     * 將一個Bid PO轉換成BidBean的VO
     * @param bb BidBean的VO
     * @param bid Bid的PO
     */
    private void initBid(BidBean bb , Bid bid)
    {
        bb.setId(bid.getId().intValue());
        if (bid.getBidUser() != null )bb.setUser(bid.getBidUser().getUsername());
        if (bid.getBidItem() != null )bb.setItem(bid.getBidItem().getItemName());
        bb.setPrice(bid.getBidPrice());
        bb.setBidDate(bid.getBidDate());
    }

    /**
     * 將一個Item PO轉換成ItemBean的VO
     * @param ib ItemBean的VO
     * @param item Item的PO
     */
    private void initItem(ItemBean ib , Item item)
    {
        ib.setId(item.getId());
        ib.setName(item.getItemName());
        ib.setDesc(item.getItemDesc());
        ib.setRemark(item.getItemRemark());
        if (item.getKind() != null)ib.setKind(item.getKind().getKindName());
        if (item.getOwner() != null)ib.setOwner(item.getOwner().getUsername());
        if (item.getWiner() != null) ib.setWiner(item.getWiner().getUsername());
        ib.setAddTime(item.getAddtime());
        ib.setEndTime(item.getEndtime());
        if (item.getItemState() != null)ib.setState(item.getItemState().getStateName());
        ib.setInitPrice(item.getInitPrice());
        ib.setMaxPrice(item.getMaxPrice());
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一区在线看| 欧美丰满高潮xxxx喷水动漫| 热久久免费视频| 国产精品自拍一区| 91免费版在线| 欧美日韩和欧美的一区二区| 精品一区二区三区免费视频| 久久久久成人黄色影片| 久久er精品视频| 亚洲欧美区自拍先锋| 欧美日韩国产片| 欧美日韩精品一区二区在线播放| 欧洲精品在线观看| 麻豆国产精品视频| 亚洲人妖av一区二区| 欧美日韩中字一区| 成人精品免费网站| 播五月开心婷婷综合| 日本不卡的三区四区五区| 日本不卡的三区四区五区| 韩国女主播成人在线| 亚洲一卡二卡三卡四卡五卡| 精品久久久久一区二区国产| av成人免费在线| 国产一区二区三区久久久| 亚洲一二三级电影| 国产精品久久精品日日| 日韩精品一区二区三区在线播放| 91视频在线看| 欧美日韩精品福利| 久久精品视频免费观看| 日韩欧美高清一区| 国产精品福利一区二区三区| 亚洲一区二区偷拍精品| 美女久久久精品| 99re这里只有精品视频首页| 国产曰批免费观看久久久| 成人av综合在线| 欧美xingq一区二区| 中文字幕亚洲区| 日韩精品一区二区三区视频播放 | 麻豆精品一二三| 91网址在线看| 精品久久久久久久久久久久久久久久久 | 一本大道久久精品懂色aⅴ| 久久精品国产精品亚洲综合| 成人在线综合网站| 51精品秘密在线观看| 精品视频在线免费观看| 国产视频在线观看一区二区三区| 亚洲成a人片在线观看中文| 中文字幕一区二区三区乱码在线| 亚洲成人先锋电影| 一本色道综合亚洲| 国产日韩视频一区二区三区| 国产精品女上位| 国产精品初高中害羞小美女文| 五月天久久比比资源色| 免费三级欧美电影| 欧美亚洲国产bt| 色诱亚洲精品久久久久久| 久久免费偷拍视频| 美女免费视频一区二区| 欧美日韩一区三区四区| 亚洲欧美激情在线| 不卡区在线中文字幕| 精品国产一区a| 国产精品国产三级国产普通话99| 国产一区二区女| 欧美xingq一区二区| 老司机午夜精品| 日韩欧美一级在线播放| 奇米精品一区二区三区四区 | 一区二区三区免费网站| 亚洲精品菠萝久久久久久久| 午夜在线成人av| 欧美羞羞免费网站| 亚洲一区二区三区美女| 欧美日韩另类国产亚洲欧美一级| 亚洲一区二区美女| 在线观看欧美黄色| 天天操天天综合网| 欧美美女网站色| 日本视频一区二区| www.色精品| 亚洲免费观看高清在线观看| 日本高清不卡在线观看| 亚洲精品一区二区三区蜜桃下载 | 爽好久久久欧美精品| 国产白丝网站精品污在线入口| 欧美日韩精品久久久| 日本欧美一区二区三区乱码| 精品区一区二区| 东方aⅴ免费观看久久av| 一区二区中文视频| 51精品秘密在线观看| 精品一区二区三区蜜桃| 中文字幕高清一区| 男女男精品视频网| 久久久三级国产网站| 成人黄色片在线观看| 亚洲综合视频网| 日韩精品资源二区在线| 国产a级毛片一区| 亚洲高清三级视频| 精品国产伦理网| 色天使久久综合网天天| 麻豆精品一区二区| 亚洲天天做日日做天天谢日日欢| 欧美日韩在线三区| 国产精品1区二区.| 亚洲大片精品永久免费| 久久尤物电影视频在线观看| 午夜视频在线观看一区| 337p粉嫩大胆噜噜噜噜噜91av| 色综合久久综合| 国内精品伊人久久久久av一坑 | 樱花草国产18久久久久| 日韩欧美国产三级电影视频| 99re成人在线| 国产麻豆一精品一av一免费| 一区二区三区资源| 国产精品每日更新| 精品国产一区二区三区久久久蜜月 | 91免费观看在线| 国产在线不卡一卡二卡三卡四卡| 亚洲一区二区精品视频| 日韩码欧中文字| 国产午夜亚洲精品不卡| 欧美一级日韩免费不卡| 蜜臀va亚洲va欧美va天堂| 亚洲欧美一区二区三区国产精品| 久久久久久久网| 日韩欧美激情一区| 欧美综合在线视频| 99精品欧美一区| 成人性生交大片免费| 激情五月激情综合网| 日日骚欧美日韩| 日韩高清在线不卡| 亚洲成人av一区二区| 亚洲精品v日韩精品| 亚洲视频在线一区观看| 国产精品情趣视频| 中文在线资源观看网站视频免费不卡| 欧美精品一区二区三区一线天视频 | 青青草国产精品亚洲专区无| 手机精品视频在线观看| 亚洲成人资源网| 五月激情综合婷婷| 五月天亚洲精品| 免费欧美高清视频| 久久精品国产一区二区三| 老司机精品视频线观看86| 乱一区二区av| 国产一区二三区| 国产aⅴ精品一区二区三区色成熟| 久久精品99国产精品日本| 久久99国产精品成人| 国产精品99久久久久久宅男| 成人精品国产免费网站| 成人精品视频.| 色88888久久久久久影院按摩| 91国偷自产一区二区三区成为亚洲经典 | 亚洲不卡一区二区三区| 午夜精品视频在线观看| 毛片av一区二区| 国产成人精品一区二| 天堂精品中文字幕在线| 男人的天堂亚洲一区| 国产福利一区在线| 9色porny自拍视频一区二区| 在线亚洲欧美专区二区| 欧美亚洲国产bt| 精品乱人伦小说| 一区精品在线播放| 五月天视频一区| 国产寡妇亲子伦一区二区| 99国产精品视频免费观看| 精品视频一区 二区 三区| 日韩精品专区在线| 国产精品看片你懂得| 丝袜亚洲另类丝袜在线| 高清在线观看日韩| 欧美在线一二三| 精品国产91乱码一区二区三区| 中文字幕在线一区免费| 视频一区二区欧美| 成人教育av在线| 91麻豆精品国产91久久久久| 国产亚洲精品久| 五月激情综合色| av在线不卡观看免费观看| 宅男在线国产精品| 日韩毛片高清在线播放| 激情深爱一区二区| 欧美三区在线观看| 亚洲国产精品成人综合色在线婷婷| 亚洲国产精品久久久久婷婷884| 精品写真视频在线观看|