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

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

?? diarydao.java

?? 個人Blog java編寫的Blog可以直接使用!
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
				q.setInteger("catalog", cat_id);
			if(!site.isOwner(user)){
				q.setInteger("type", CatalogBean.TYPE_OWNER);
				if(user != null)
					q.setInteger("user", user.getId());
			}
			q.setMaxResults(1);
			return (DiaryOutlineBean)q.uniqueResult();
		}finally{
			hql = null;
		}
	}
	
	/**
	 * 添加日記
	 * @param journal
	 * @param add_bookmark
	 * @throws HibernateException
	 * @throws SQLException 
	 */
	public static void create(DiaryBean journal, boolean add_bookmark){
		try{
			Session ssn = getSession();
			beginTransaction();
			if(journal.getStatus()==DiaryBean.STATUS_NORMAL){
				journal.getCatalog().incArticleCount(1);
				journal.getOwner().getCount().incArticleCount(1);
			}
			ssn.save(journal);	
			if(journal.getCatalog().getType()==CatalogBean.TYPE_GENERAL){
				//只有公開分類中的日記才可以設置標簽
				List tags = journal.getKeywords();
				if(tags!=null && tags.size()>0){
					int tag_count = 0;
					for(int i=0;i<tags.size();i++){
						if(tag_count>=MAX_TAG_COUNT)
							break;
						String tag_name = (String)tags.get(i);
						if(tag_name.getBytes().length > MAX_TAG_LENGTH)
							continue;
						TagBean tag = new TagBean();
						tag.setSite(journal.getSite());
						tag.setRefId(journal.getId());
						tag.setRefType(DiaryBean.TYPE_DIARY);
						tag.setName(tag_name);
						ssn.save(tag);
						tag_count ++;
					}
				}
			}
			if(add_bookmark){
				BookmarkBean bmb = new BookmarkBean();
				bmb.setOwner(journal.getOwner());
				bmb.setSite(journal.getSite());
				bmb.setCreateTime(new Date());
				bmb.setParentId(journal.getId());
				bmb.setParentType(_BeanBase.TYPE_DIARY);
				bmb.setTitle(journal.getTitle());
				journal.getOwner().getCount().incBookmarkCount(1);
				ssn.save(bmb);
			}
			commit();
		}catch(HibernateException e){
			rollback();
			throw e;
		}
	}
	
	/**
	 * 修改日記
	 * @param diary
	 */
	public static void update(DiaryBean diary, boolean updateTags){
		try{
			beginTransaction();			
			if(updateTags){				
				TagDAO.deleteTagByRefId(diary.getId(), DiaryBean.TYPE_DIARY);	
				if(diary.getCatalog().getType()==CatalogBean.TYPE_GENERAL){
					List tags = diary.getKeywords();
					if(tags!=null && tags.size()>0){
						int tag_count = 0;
						for(int i=0;i<tags.size();i++){
							if(tag_count>=MAX_TAG_COUNT)
								break;
							String tag_name = (String)tags.get(i);
							if(tag_name.getBytes().length > MAX_TAG_LENGTH)
								continue;
							TagBean tag = new TagBean();
							tag.setSite(diary.getSite());
							tag.setRefId(diary.getId());
							tag.setRefType(DiaryBean.TYPE_DIARY);
							tag.setName((String)tags.get(i));
							diary.getTags().add(tag);
							tag_count ++;
						}
					}
				}
			}
			commit();
		}catch(HibernateException e){
			rollback();
			throw e;
		}
	}
	
	/**
	 * 根據(jù)日記的編號獲取日記詳細信息
	 * @param article_id
	 * @return
	 */
	public static DiaryBean getDiaryByID(int article_id){
		if(article_id < 0)
			return null;
		return (DiaryBean)getBean(DiaryBean.class, article_id);
	}

	/**
	 * 根據(jù)日記的編號獲取日記概要信息
	 * @param article_id
	 * @return
	 */
	public static DiaryOutlineBean getDiaryOutlineByID(int article_id){
		if(article_id < 0)
			return null;
		return (DiaryOutlineBean)getBean(DiaryOutlineBean.class, article_id);
	}
	
	/**
	 * 獲取日記所在的分類
	 * @param log_id
	 * @return
	 */
	public static CatalogBean getCatalogByDiary(int log_id){
		if(log_id < 0)
			return null;
		return (CatalogBean)namedUniqueResult("CATALOG_OF_DIARY", log_id);
	}
	
	/**
	 * 獲取所有日記數(shù),不包括隱藏的
	 * @return
	 */
	public static int getPublicDiaryCount(){
		return executeNamedStat("PUBLIC_DIARY_COUNT", DiaryBean.STATUS_NORMAL, CatalogBean.TYPE_OWNER).intValue();
	}
	
	/**
	 * 獲取指定網(wǎng)站指定分類的日記數(shù)
	 * @param site
	 * @param user
	 * @param catalog_id
	 * @param year
	 * @param month
	 * @param date
	 * @return
	 */
	public static int getDiaryCount(SiteBean site, SessionUserObject user, int catalog_id, int year, int month, int date){
		StringBuffer hql = new StringBuffer("SELECT COUNT(*) FROM DiaryBean AS a WHERE a.status=:status AND a.site.id=:site");
		if(!site.isOwner(user)){
			//排除用戶沒有權限訪問的分類
			hql.append(" AND (a.catalog.type<>:cat_type");
			if(user != null)
				hql.append(" OR (a.catalog.type=:cat_type AND a.catalog.id IN (SELECT p.key.catalog FROM CatalogPermBean AS p WHERE p.key.user=:user))");
			hql.append(')');
		}
		if (catalog_id > 0)
			hql.append(" AND a.catalog.id=:catalog");
		if(year > 0 || month > 0 || date > 0){
			hql.append(" AND a.writeTime >= :beginTime AND a.writeTime < :endTime");
		}
		try {
			Session ssn = getSession();
			Query q = ssn.createQuery(hql.toString());
			q.setInteger("status", DiaryBean.STATUS_NORMAL);
			q.setInteger("site", site.getId());
			if(!site.isOwner(user)){
				q.setInteger("cat_type", CatalogBean.TYPE_OWNER);
				if(user != null){
					q.setInteger("user", user.getId());
				}
			}
			if (catalog_id > 0) {
				q.setInteger("catalog", catalog_id);
			}
			if(year > 0 || month > 0 || date > 0){
				Calendar[] cals = genTimeParams(year,month,date);
				q.setTimestamp("beginTime", cals[0].getTime());
				q.setTimestamp("endTime", cals[1].getTime());
			}
			return ((Number) q.uniqueResult()).intValue();
		} finally {
			hql = null;
		}
	}
	
	/**
	 * 獲取時間段的前后兩個時間點
	 * @param year
	 * @param month
	 * @param date
	 * @return
	 */
	protected static Calendar[] genTimeParams(int year, int month, int date){
		Calendar[] params = new Calendar[2];
		if(year>0&&month>0&&date>0){//查詢某天
			params[0] = DateUtils.getDateBegin(year,month,date);
			params[1] = (Calendar)params[0].clone();
			params[1].add(Calendar.DATE,1);
		}
		else
		if(year>0&&month>0){//查詢某月
			params[0] = DateUtils.getDateBegin(year,month,1);			
			params[1] = (Calendar)params[0].clone();
			params[1].add(Calendar.MONTH,1);
		}
		else
		if(year>0){//查詢某年
			params[0] = DateUtils.getDateBegin(year,1,1);			
			params[1] = (Calendar)params[0].clone();
			params[1].add(Calendar.YEAR,1);
		}	
		return params;
	}

	/**
	 * 獲取指定網(wǎng)站指定分類的日記
	 * @param site
	 * @param user
	 * @param catalog_id
	 * @param year
	 * @param month
	 * @param date
	 * @param fromIdx
	 * @param count
	 * @return
	 */
	public static List listDiary(int year,int month,int date,int fromIdx, int count, boolean withContent){
		StringBuffer hql = new StringBuffer("FROM ");		
		hql.append(withContent?"DiaryBean":"DiaryOutlineBean");
		hql.append(" AS a WHERE a.status=:status");
		//排除訪問受限的分類
		hql.append(" AND (a.catalog.type<>:cat_type)");
		if(year > 0 || month > 0 || date > 0){
			hql.append(" AND a.writeTime >= :beginTime AND a.writeTime < :endTime");
		}
		hql.append(" ORDER BY a.id DESC");
		try {
			Session ssn = getSession();
			Query q = ssn.createQuery(hql.toString());
			q.setInteger("status", DiaryBean.STATUS_NORMAL);
			q.setInteger("cat_type", CatalogBean.TYPE_OWNER);
			if(year > 0 || month > 0 || date > 0){
				Calendar[] cals = genTimeParams(year,month,date);
				q.setTimestamp("beginTime", cals[0].getTime());
				q.setTimestamp("endTime", cals[1].getTime());
			}
			if(fromIdx>0)
				q.setFirstResult(fromIdx);
			if(count>0)
				q.setMaxResults(count);
			return q.list();
		} finally {
			hql = null;
		}
	}

	/**
	 * 獲取指定網(wǎng)站指定分類的日記
	 * @param site
	 * @param user
	 * @param catalog_id
	 * @param year
	 * @param month
	 * @param date
	 * @param fromIdx
	 * @param count
	 * @return
	 */
	public static List listDiary(SiteBean site, SessionUserObject user, int catalog_id, int year,int month,int date,
			int fromIdx, int count, boolean withContent){
		StringBuffer hql = new StringBuffer("FROM ");		
		hql.append(withContent?"DiaryBean":"DiaryOutlineBean");
		hql.append(" AS a WHERE a.status=:status AND a.site.id=:site");
		//超級管理員也不能看其他人網(wǎng)站的隱藏目錄(2006-5-22 by Winter Lau)
		if(user==null || site.getOwner().getId() != user.getId()){
			//排除用戶沒有權限訪問的分類
			hql.append(" AND (a.catalog.type<>:cat_type");
			if(user != null)
				hql.append(" OR (a.catalog.type=:cat_type AND a.catalog.id IN (SELECT p.key.catalog FROM CatalogPermBean AS p WHERE p.key.user=:user))");
			hql.append(')');
		}
		if (catalog_id > 0)
			hql.append(" AND a.catalog.id=:catalog");
		if(year > 0 || month > 0 || date > 0){
			hql.append(" AND a.writeTime >= :beginTime AND a.writeTime < :endTime");
		}
		hql.append(" ORDER BY a.id DESC");
		try {
			Session ssn = getSession();
			Query q = ssn.createQuery(hql.toString());
			q.setInteger("status", DiaryBean.STATUS_NORMAL);
			q.setInteger("site", site.getId());
			if(user==null || site.getOwner().getId() != user.getId()){
				q.setInteger("cat_type", CatalogBean.TYPE_OWNER);
				if(user != null){
					q.setInteger("user", user.getId());
				}
			}
			if (catalog_id > 0) {
				q.setInteger("catalog", catalog_id);
			}
			if(year > 0 || month > 0 || date > 0){
				Calendar[] cals = genTimeParams(year,month,date);
				q.setTimestamp("beginTime", cals[0].getTime());
				q.setTimestamp("endTime", cals[1].getTime());
			}
			if(fromIdx>0)
				q.setFirstResult(fromIdx);
			if(count>0)
				q.setMaxResults(count);
			return q.list();
		} finally {
			hql = null;
		}
	}

	/**
	 * 讀取某個時間點以后的所有正常的日記(SearchEnginePlugIn::buildLogIndex)
	 * @param date
	 * @param max_count
	 * @return
	 * @throws Exception
	 */
	public static List listDiaryAfter(Date date, int max_count){
		return executeNamedQuery("LIST_DIARY_AFTER", 0, max_count, new Object[]{date,
				DiaryBean.I_STATUS_NORMAL, new Integer(CatalogBean.TYPE_OWNER)});
	}

	/**
	 * 增加文章的引用數(shù)
	 * @param catalog_id
	 * @param incCount
	 * @return
	 * @throws SQLException
	 */
	static int incTrackBackCount(Session ssn, int log_id, int incCount){
		Query q = ssn.getNamedQuery("INC_DIARY_TB_COUNT");
		q.setInteger(0, incCount);
		q.setInteger(1, log_id);
		return q.executeUpdate();
	}

	/* (non-Javadoc)
	 * @see com.liusoft.dlog4j.search.SearchDataProvider#fetchAfter(java.util.Date)
	 */
	public List fetchAfter(Date beginTime) throws Exception {
		return DiaryDAO.listDiaryAfter(beginTime, -1);
	}

	/**
	 * 列出最新日記評論
	 * @param site
	 * @param user
	 * @param fromIdx
	 * @param count
	 * @return
	 */
	public static List listDiaryReplies(SiteBean site, int fromIdx, int count, SessionUserObject user){
		StringBuffer hql = new StringBuffer("FROM DiaryReplyBean AS r WHERE r.status=:status AND r.site.id=:site AND r.diary.status=:diary_status");
		if(!site.isOwner(user)){
			//排除用戶沒有權限訪問的分類
			hql.append(" AND (r.diary.catalog.type<>:cat_type");
			if(user != null)
				hql.append(" OR (r.diary.catalog.type=:cat_type AND r.diary.catalog.id IN (SELECT p.key.catalog FROM CatalogPermBean AS p WHERE p.key.user=:userid))");
			hql.append(')');
			hql.append(" AND (r.ownerOnly = 0 OR r.user.id = :userid)");
		}
		hql.append(" ORDER BY r.id DESC");
		Session ssn = getSession();
		Query q = ssn.createQuery(hql.toString());
		q.setInteger("status", DiaryReplyBean.STATUS_NORMAL);
		q.setInteger("site", site.getId());
		q.setInteger("diary_status", DiaryOutlineBean.STATUS_NORMAL);
		if(!site.isOwner(user)){
			q.setInteger("cat_type", CatalogBean.TYPE_OWNER);
			q.setInteger("userid", (user!=null)?user.getId():-1);
		}
		if(fromIdx>0)
			q.setFirstResult(fromIdx);
		if(count>0)
			q.setMaxResults(count);
		return q.list();
	}

	/**
	 * 分頁列出某篇日記的評論
	 * @param log_id
	 * @param fromIdx
	 * @param count
	 * @return
	 */
	public static List listDiaryReplies(int log_id, int fromIdx, int count, boolean reverse){
		String hql_name = reverse?"LIST_REPLIES_OF_DIARY":"LIST_REPLIES_OF_DIARY2";
		return executeNamedQuery(hql_name, fromIdx, count, log_id);
	}

	/**
	 * 讀取某個時間點以后的所有正常的評論(SearchEnginePlugIn::buildReplyIndex)
	 * @param date
	 * @return
	 * @throws Exception
	 */
	public static List listDiaryRepliesAfter(Date date){
		return findNamedAll("LIST_DIARY_REPLIES", new Object[]{date, _ReplyBean.I_STATUS_NORMAL, CatalogBean.I_TYPE_OWNER});
	}

	/**
	 * 獲取評論總數(shù)(j_replies.vm)
	 * @param site
	 * @param user
	 * @return
	 */
	public static int getDiaryReplyCount(SiteBean site, SessionUserObject user){
		StringBuffer hql = new StringBuffer("SELECT COUNT(*) FROM DiaryReplyBean AS r WHERE r.status=? AND r.site.id=?");
		if(!site.isOwner(user)){
			//排除用戶沒有權限訪問的分類
			hql.append(" AND (r.diary.catalog.type<>?");
			if(user != null)
				hql.append(" OR (r.diary.catalog.type=? AND r.diary.catalog.id IN (SELECT p.key.catalog FROM CatalogPermBean AS p WHERE p.key.user=?))");
			hql.append(')');
		}
		Session ssn = getSession();
		Query q = ssn.createQuery(hql.toString());
		q.setInteger(0, DiaryReplyBean.STATUS_NORMAL);
		q.setInteger(1, site.getId());
		if(!site.isOwner(user)){
			q.setInteger(2, CatalogBean.TYPE_OWNER);
			if(user != null){
				q.setInteger(3, CatalogBean.TYPE_OWNER);
				q.setInteger(4, user.getId());
			}
		}
		return ((Number)q.uniqueResult()).intValue();
	}

	/**
	 * 返回指定站點的日記評論總數(shù)
	 * @param site
	 * @return
	 */
	public static int getDiaryReplyCount(int site){
		String hql = "SELECT COUNT(*) FROM DiaryReplyBean AS d WHERE d.status=?";
		if(site>0){
			hql += " AND d.site.id=?";
			return executeStatAsInt(hql, DiaryReplyBean.STATUS_NORMAL, site);
		}
		return executeStatAsInt(hql, DiaryReplyBean.STATUS_NORMAL);
	}

	/**
	 * 刪除日記評論,自動減少對應日記的評論數(shù)
	 * @param reply
	 */
	public static void deleteDiaryReply(DiaryReplyBean reply){
		Session ssn = getSession();
		try{
			beginTransaction();
			if(reply.getDiary()!=null)
				reply.getDiary().incReplyCount(-1);
			if(reply.getUser()!=null)
				reply.getUser().getCount().incArticleReply(-1);
			ssn.delete(reply);
			commit();
		}catch(HibernateException e){
			rollback();
		}
	}

	/**
	 * 創(chuàng)建日記評論,自動更新對應日記的評論數(shù)
	 * 當評論數(shù)超過最大的允許評論數(shù)后自動鎖貼
	 * @param reply
	 */
	public static void createDiaryReply(DiaryReplyBean reply){
		try{
			Session ssn = getSession();
			int max_reply_count = ConfigDAO.getMaxReplyCount(reply.getSite().getId());
			beginTransaction();	
			reply.getDiary().incReplyCount(1);
			if(reply.getDiary().getReplyCount()>=max_reply_count && max_reply_count > 0)
				reply.getDiary().setLock(1);
			reply.getDiary().setLastReplyTime(new Date());
			if(reply.getUser()!=null)
				reply.getUser().getCount().incArticleReply(1);
			ssn.save(reply);
			commit();
		}catch(HibernateException e){
			rollback();
			throw e;
		}
	}	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国女主播成人在线观看| 一本大道久久a久久精二百| 成人性生交大片免费看在线播放| 欧美性视频一区二区三区| 欧美精品一区二区三区蜜桃| 亚洲免费在线播放| 成人久久视频在线观看| 欧美电视剧免费观看| 丝袜国产日韩另类美女| 91浏览器打开| 中文字幕在线观看不卡| 国产麻豆欧美日韩一区| 日韩精品资源二区在线| 亚洲第一综合色| 色狠狠综合天天综合综合| 国产精品乱人伦| 国产成人av福利| 精品盗摄一区二区三区| 久久99精品久久只有精品| 欧美精品色综合| 亚洲成人免费电影| 欧美亚洲高清一区| 一区二区三区美女| 久久久亚洲精华液精华液精华液| 国产91露脸合集magnet | 亚洲一区二区精品久久av| 国产成人免费视频| 国产香蕉久久精品综合网| 国产综合久久久久久鬼色| 日韩三级伦理片妻子的秘密按摩| 日韩专区在线视频| 这里只有精品电影| 久久 天天综合| 精品国产免费视频| 国产成人精品免费一区二区| 中文字幕第一区综合| 成人综合婷婷国产精品久久| 日本一区二区三区电影| eeuss影院一区二区三区| 亚洲手机成人高清视频| 欧美性xxxxxx少妇| 日精品一区二区三区| 日韩免费成人网| 粉嫩欧美一区二区三区高清影视| 国产欧美精品区一区二区三区| av在线这里只有精品| 亚洲精品免费在线观看| 欧美日韩午夜影院| 久久国内精品自在自线400部| 久久精品视频一区二区三区| 51久久夜色精品国产麻豆| 免费看欧美女人艹b| 久久人人97超碰com| 97久久精品人人爽人人爽蜜臀| 一区二区高清免费观看影视大全 | 日韩一区二区视频| 久88久久88久久久| 国产精品久久久久四虎| 欧洲亚洲精品在线| 久久精品国产在热久久| 国产日韩欧美高清在线| 欧美在线观看18| 激情文学综合丁香| 亚洲自拍偷拍九九九| 精品奇米国产一区二区三区| 成人污污视频在线观看| 亚洲成人动漫在线观看| 亚洲国产一区二区三区青草影视| 日韩欧美电影在线| 色综合久久久久网| 美国一区二区三区在线播放| 亚洲欧美怡红院| 欧美变态tickling挠脚心| 本田岬高潮一区二区三区| 日韩成人免费在线| 日韩一区在线看| 久久综合av免费| 欧美剧在线免费观看网站| 国产传媒一区在线| 日本欧美在线看| 亚洲自拍欧美精品| 国产精品久久久久久久久免费桃花| 欧美高清你懂得| 色香色香欲天天天影视综合网| 国产一区二区在线看| 亚洲国产精品欧美一二99| 国产精品福利影院| 精品国产乱码久久久久久闺蜜| 欧亚洲嫩模精品一区三区| 高清成人免费视频| 国产一区二区三区不卡在线观看| 亚洲国产精品一区二区尤物区| 中文字幕一区二区三区四区不卡 | 欧美三级日韩三级国产三级| www.久久精品| 国产福利电影一区二区三区| 五月天激情综合网| 亚洲国产精品影院| 一区二区欧美精品| 亚洲欧美国产三级| 中文字幕亚洲一区二区av在线| 久久免费国产精品| 欧美变态tickle挠乳网站| 日韩一区二区三区电影在线观看| 欧美视频日韩视频在线观看| 欧洲亚洲精品在线| 在线一区二区三区四区五区 | 日韩一区二区免费视频| 欧美日韩一区二区在线观看视频| 色视频一区二区| 91香蕉国产在线观看软件| 丁香亚洲综合激情啪啪综合| 国产麻豆欧美日韩一区| 粉嫩在线一区二区三区视频| 成人污视频在线观看| av男人天堂一区| 91视频一区二区三区| 97久久人人超碰| 欧美性受极品xxxx喷水| 欧美午夜片在线看| 欧美一区二区三区的| 精品国产精品网麻豆系列| 亚洲精品一区二区三区在线观看| 久久日一线二线三线suv| 国产亚洲一区二区三区| 国产精品久久看| 亚洲国产欧美另类丝袜| 日韩电影在线观看电影| 激情丁香综合五月| av电影一区二区| 欧美在线色视频| 日韩免费视频线观看| 亚洲国产激情av| 亚洲精品va在线观看| 色婷婷亚洲综合| 欧美日韩大陆一区二区| 日韩一区二区免费视频| 中文字幕第一区二区| 亚洲综合自拍偷拍| 极品美女销魂一区二区三区| av毛片久久久久**hd| 91精品国产欧美一区二区成人| 久久丝袜美腿综合| 亚洲精品乱码久久久久久日本蜜臀| 视频在线观看一区二区三区| 国产精品一级在线| 欧美视频完全免费看| 国产午夜精品福利| 亚洲成a人片在线观看中文| 国产老肥熟一区二区三区| 在线观看不卡一区| 国产欧美一区二区三区网站| 午夜精品福利在线| 成人avav影音| 日韩免费性生活视频播放| 日韩理论片一区二区| 黄色资源网久久资源365| 色拍拍在线精品视频8848| 久久久精品蜜桃| 青青草国产成人99久久| 96av麻豆蜜桃一区二区| 26uuu精品一区二区三区四区在线| 亚洲三级电影全部在线观看高清| 久久精品免费观看| 欧美日韩成人激情| 中文字幕亚洲在| 国产高清不卡一区二区| 91精品国产欧美日韩| 亚洲男人电影天堂| 北岛玲一区二区三区四区| 欧美精品一区二区三区一线天视频| 亚洲国产精品一区二区www | 亚洲综合精品久久| 成人性生交大片免费看在线播放| 欧美成人性战久久| 亚洲影院免费观看| 91免费看视频| 国产精品国产三级国产有无不卡| 精品一区免费av| 欧美一级日韩不卡播放免费| 亚洲精品日日夜夜| 99re视频精品| 国产精品久久久久影院亚瑟| 国产成人综合视频| 精品乱人伦小说| 精油按摩中文字幕久久| 日韩三级精品电影久久久| 性感美女极品91精品| 欧美三级三级三级爽爽爽| 亚洲一区二区精品3399| 欧美伊人精品成人久久综合97| 亚洲精品福利视频网站| 91视频在线看| 亚洲一区二区在线观看视频| 一本色道久久综合亚洲91 | 欧美精品一区二区三区四区| 麻豆成人综合网| 欧美mv日韩mv国产网站| 国产自产2019最新不卡| 久久久久久免费毛片精品|