日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

谷粒商城分布式高级(三)—— 商城业务(商品上架)

發布時間:2024/1/3 综合教程 64 生活家
生活随笔 收集整理的這篇文章主要介紹了 谷粒商城分布式高级(三)—— 商城业务(商品上架) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、商品上架

上架的商品才可以在網站展示。 
上架的商品需要可以被檢索。

1、商品 Mapping

分析:商品上架在 es 中是存 sku 還是 spu?
(1)檢索的時候輸入名字,是需要按照 sku 的 title 進行全文檢索的
(2)檢索使用商品規格,規格是 spu 的公共屬性,每個 spu 是一樣的
(3)按照分類 id 進去的都是直接列出 spu 的,還可以切換
(4)我們如果將 sku 的全量信息保存到 es 中(包括 spu 屬性)就太多量字段了
(5)我們如果將 spu 以及他包含的 sku 信息保存到 es 中,也可以方便檢索,但是 sku 屬于 spu 的級聯動,在 es 中需要 nested 模型,這種性能差點
(6)但是存儲與檢索我們必須性能折中
(7)如果我們分拆存儲,spu 和 attr 一個索引,sku 單獨一個所以可能涉及的問題:檢索商品的名字,如“手機”,對應的 spu 有很多,我們要分析出這些 spu 的所有級聯屬性,再做一次查詢,就必須將所有 spu_id 都發出去。假設有 1 萬個數據,數據傳輸一次就 10000*4=4MB;并發情況下假設 1000 檢索請求,那就是 4GB 的數據,傳輸阻塞時間會很長,業務更加無法繼續。

方案1:

{  
  skuId: 1,
  spuId: 11,
  skyTitile: 華為xx,
  price: 999,
  saleCount: 99,
  attr: [{     
    尺寸: 5    
  }, {      
    CPU: 高通945    
  }, {      
    分辨率: 全高清    
  }]
}

  缺點:如果每個sku都存儲規格參數(如尺寸),會有冗余存儲,因為每個 spu 對應的 sku 的規格參數都一樣

  方案2:

sku索引

{
  spuId: 1,
  skuId: 11
}

attr索引

{
  skuId: 11,
  attr: [{
    尺寸: 5
  }, {
    CPU: 高通945
  }, {
  分辨率: 全高清
  }]
}

  先找到4000個符合要求的spu,再根據4000個spu查詢對應的屬性,封裝了4000個id,long 8B*4000=32000B=32KB 1K個人檢索,就是32MB

  結論:如果將規格參數單獨建立索引,會出現檢索時出現大量數據傳輸的問題,會引起網絡網絡 因此選用方案1,以空間換時間


所以,我們如下設計,這樣才是文檔區別于關系型數據庫的地方,寬表設計,不能去考慮數據庫范式。
建立product索引
最終選用的數據模型:
(1)PUT product

{
  "mappings": {
    "properties": {
      "skuId": {
        "type": "long"
      },
      "spuId": {
        "type": "keyword"
      },
      "skuTitle": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "skuPrice": {
        "type": "keyword"
      },
      "skuImg": {
        "type": "keyword"
      },
      "saleCount": {
        "type": "long"
      },
      "hasStock": {
        "type": "boolean"
      },
      "hotScore": {
        "type": "long"
      },
      "brandId": {
        "type": "long"
      },
      "catalogId": {
        "type": "long"
      },
      "brandName": {
        "type": "keyword"
      },
      "brandImg": {
        "type": "keyword",
        "index": false,
        "doc_values": false
      },
      "catalogName": {
        "type": "keyword"
      },
      "attrs": {
        "type": "nested",
        "properties": {
          "attrId": {
            "type": "long"
          },
          "attrName": {
            "type": "keyword",
            "index": false,
            "doc_values": false
          },
          "attrValue": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

其中

(1)“type”: “keyword” 保持數據精度問題,可以檢索,但不分詞

(2)“index”:false 代表不可被檢索

(3)“doc_values”: false 不可被聚合,es就不會維護一些聚合的信息 冗余存儲的字段:不用來檢索,也不用來分析,節省空間

  庫存是bool。 檢索品牌id,但是不檢索品牌名字、圖片 用skuTitle檢索

(2)nested 數據類型場景

  屬性是"type": “nested”,因為是內部的屬性進行檢索

  數組類型的對象會被扁平化處理(對象的每個屬性會分別存儲到一起)
  user.name=["aaa","bbb"]
  user.addr=["ccc","ddd"]

  這種存儲方式,可能會發生如下錯誤:
  錯誤檢索到{aaa,ddd},這個組合是不存在的

  數組的扁平化處理會使檢索能檢索到本身不存在的,為了解決這個問題,就采用了嵌入式屬性,數組里是對象時用嵌入式屬性(不是對象無需用嵌入式屬性)

  nested閱讀:https://blog.csdn.net/weixin_40341116/article/details/80778599

  使用聚合:https://blog.csdn.net/kabike/article/details/101460578

2、上架細節

上架是將后臺的商品放在 es 中可以提供檢索和查詢功能
(1)hasStock:代表是否有庫存。默認上架的商品都有庫存。如果庫存無貨的時候才需要更新一下 es
(2)庫存補上以后,也需要重新更新一下 es
(3)hotScore 是熱度值,我們只模擬使用點擊率更新熱度。點擊率增加到一定程度才更新熱度值
(4)下架就是從 es 中移除檢索項,以及修改 mysql 狀態
商品上架步驟:
(1)先在 es 中按照之前的 mapping 信息,建立 product 索引。
(2)點擊上架,查詢出所有 sku 的信息,保存到 es 中
(3)es 保存成功返回,更新數據庫的上架狀態信息

3、數據一致性

(1)商品無庫存的時候需要更新 es 的庫存信息
(2)商品有庫存也要更新 es 的信息

4、上架流程

product里組裝好,search里上架

(1)gulimall-common 更新文件 com.atguigu.common.utils.R
  將R設置成泛型的
package com.atguigu.common.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import org.apache.http.HttpStatus;

import java.util.HashMap;
import java.util.Map;

public class R extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;

public R setData(Object data) {
put("data",data);
return this;
}

//利用fastjson進行反序列化
public <T> T getData(TypeReference<T> typeReference) {
Object data = get("data"); //默認是map
String jsonString = JSON.toJSONString(data);
T t = JSON.parseObject(jsonString, typeReference);
return t;
}

//利用fastjson進行反序列化
public <T> T getData(String key,TypeReference<T> typeReference) {
Object data = get(key); //默認是map
String jsonString = JSON.toJSONString(data);
T t = JSON.parseObject(jsonString, typeReference);
return t;
}

public R() {
put("code", 0);
put("msg", "success");
}

public static R error() {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知異常,請聯系管理員");
}

public static R error(String msg) {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
}

public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}

public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
return r;
}

public static R ok(Map<String, Object> map) {
R r = new R();
r.putAll(map);
return r;
}

public static R ok() {
return new R();
}

public R put(String key, Object value) {
super.put(key, value);
return this;
}

public Integer getCode() {

return (Integer) this.get("code");
}

}

(2)gulimall-common 新增文件 com.atguigu.common.to.SkuHasStockVo
package com.atguigu.common.to;

import lombok.Data;

@Data
public class SkuHasStockVo {
private Long skuId;

private Boolean hasStock;
}

(3)gulimall-common 新增文件 com.atguigu.common.to.es.SkuEsModel
商品上架需要在 es 中保存spu信息并更新spu的狀態信息,由于SpuinfoEntity與索引的數據模型并不對應,所以我們要建立專門的vo進行數據傳輸
package com.atguigu.common.to.es;

import lombok.Data;
import java.math.BigDecimal;
import java.util.List;

@Data
public class SkuEsModel {

private Long skuId;

private Long spuId;

private String skuTitle;

private BigDecimal skuPrice;

private String skuImg;

private Long saleCount;

private Boolean hasStock;

private Long hotScore;

private Long brandId;

private Long catalogId;

private String brandName;

private String brandImg;

private String catalogName;

private List<Attrs> attrs;

@Data
public static class Attrs {

private Long attrId;

private String attrName;

private String attrValue;
}
}
(4)gulimall-common 更新文件 com.atguigu.common.constant.ProductConstant
package com.atguigu.common.constant;

public class ProductConstant {
public enum AttrEnum{
ATTR_TYPE_BASE(1,"基本屬性"),ATTR_TYPE_SALE(0,"銷售屬性");

private int code;
private String msg;

AttrEnum(int code, String msg){
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}

public enum ProductStatusEnum {
NEW_SPU(0,"新建"),
SPU_UP(1,"商品上架"),
SPU_DOWN(2,"商品下架"),
;

private int code;

private String msg;

public int getCode() {
return code;
}

public String getMsg() {
return msg;
}

ProductStatusEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}

}
}
(5)gulimall-product 的 com.atguigu.gulimall.product.controller.SpuInfoController 新增上架方法 upSpuForSearch
/**
* 商品上架
* @param spuId
* @return
*/
///product/spuinfo/{spuId}/up
@PostMapping("{spuId}/up")
public R upSpuForSearch(@PathVariable("spuId") Long spuId){
spuInfoService.upSpuForSearch(spuId);
return R.ok();
}

(6)gulimall-product 的 com.atguigu.gulimall.product.service.impl.SpuInfoServiceImpl 新增接口和實現類方法 upSpuForSearch
/**
* 商品上架
* @param spuId
*/
@Override
public void upSpuForSearch(Long spuId) {
//1、查出當前spuId對應的所有sku信息,品牌的名字
List<SkuInfoEntity> skuInfoEntities = skuInfoService.getSkusBySpuId(spuId);

//TODO 4、查出當前sku的所有可以被用來檢索的規格屬性
List<ProductAttrValueEntity> baseAttrs = attrValueService.baseAttrlistforspu(spuId);

List<Long> attrIds = baseAttrs.stream().map(attr -> {
return attr.getAttrId();
}).collect(Collectors.toList());

List<Long> searchAttrIds = attrService.selectSearchAttrsIds(attrIds);
//轉換為Set集合
Set<Long> idSet = searchAttrIds.stream().collect(Collectors.toSet());

List<SkuEsModel.Attrs> attrsList = baseAttrs.stream().filter(item -> {
return idSet.contains(item.getAttrId());
}).map(item -> {
SkuEsModel.Attrs attrs = new SkuEsModel.Attrs();
BeanUtils.copyProperties(item, attrs);
return attrs;
}).collect(Collectors.toList());

List<Long> skuIdList = skuInfoEntities.stream()
.map(SkuInfoEntity::getSkuId)
.collect(Collectors.toList());
//TODO 1、發送遠程調用,庫存系統查詢是否有庫存
Map<Long, Boolean> stockMap = null;
try {
R skuHasStock = wareFeignService.getSkuHasStocks(skuIdList);
//
TypeReference<List<SkuHasStockVo>> typeReference = new TypeReference<List<SkuHasStockVo>>() {};
stockMap = skuHasStock.getData(typeReference).stream()
.collect(Collectors.toMap(SkuHasStockVo::getSkuId, item -> item.getHasStock()));
} catch (Exception e) {
log.error("庫存服務查詢異常:原因{}",e);
}

//2、封裝每個sku的信息
Map<Long, Boolean> finalStockMap = stockMap;
List<SkuEsModel> collect = skuInfoEntities.stream().map(sku -> {
//組裝需要的數據
SkuEsModel esModel = new SkuEsModel();
esModel.setSkuPrice(sku.getPrice());
esModel.setSkuImg(sku.getSkuDefaultImg());

//設置庫存信息
if (finalStockMap == null) {
esModel.setHasStock(true);
} else {
esModel.setHasStock(finalStockMap.get(sku.getSkuId()));
}

//TODO 2、熱度評分。0
esModel.setHotScore(0L);

//TODO 3、查詢品牌和分類的名字信息
BrandEntity brandEntity = brandService.getById(sku.getBrandId());
esModel.setBrandName(brandEntity.getName());
esModel.setBrandId(brandEntity.getBrandId());
esModel.setBrandImg(brandEntity.getLogo());

CategoryEntity categoryEntity = categoryService.getById(sku.getCatalogId());
esModel.setCatalogId(categoryEntity.getCatId());
esModel.setCatalogName(categoryEntity.getName());

//設置檢索屬性
esModel.setAttrs(attrsList);

BeanUtils.copyProperties(sku,esModel);

return esModel;
}).collect(Collectors.toList());

//TODO 5、將數據發給es進行保存:gulimall-search
R r = searchFeignService.saveProductAsIndices(collect);

if (r.getCode() == 0) {
//遠程調用成功
//TODO 6、修改當前spu的狀態
this.baseMapper.updateSpuStatus(spuId, ProductConstant.ProductStatusEnum.SPU_UP.getCode());
} else {
//遠程調用失敗
//TODO 7、重復調用?接口冪等性:重試機制
}
}

(7)gulimall-product 的 com.atguigu.gulimall.product.service.impl.SkuInfoServiceImpl 新增接口和實現類方法 getSkusBySpuId
/**
* 查出當前spuid對應的所有sku信息
* @param spuId
* @return
*/
@Override
public List<SkuInfoEntity> getSkusBySpuId(Long spuId) {
List<SkuInfoEntity> skus = this.list(new QueryWrapper<SkuInfoEntity>().eq("spu_id", spuId));
return skus;
}

(8)gulimall-product 的 com.atguigu.gulimall.product.service.impl.AttrServiceImpl 新增接口和實現類方法 selectSearchAttrsIds
/**
* 在指定的所有屬性集合里面,挑出檢索屬性
* @param attrIds
* @return
*/
@Override
public List<Long> selectSearchAttrsIds(List<Long> attrIds) {
/**
* SELECT attr_id FROM pms_attr WHERE attr_id in (?) AND search_type=1
*/
return baseMapper.selectSearchAttrsIds(attrIds);
}

(9)gulimall-product 的 com.atguigu.gulimall.product.dao.AttrDao 新增接口 selectSearchAttrsIds
/**
* 在指定的所有屬性集合里面,挑出檢索屬性
* @param attrIds
* @return
*/
List<Long> selectSearchAttrsIds(@Param("attrIds") List<Long> attrIds);

(10)gulimall-product 的 AttrDao.xml 新增方法 selectSearchAttrsIds
<!--在指定的所有屬性集合里面,挑出檢索屬性-->
<select id="selectSearchAttrsIds" resultType="java.lang.Long">
SELECT attr_id FROM pms_attr WHERE attr_id in
<foreach collection="attrIds" item="id" separator="," open="(" close=")">
#{id}
</foreach>
AND search_type=1
</select>

(11)gulimall-product 創建遠程調用文件 com.atguigu.gulimall.product.feign.WareFeignService
package com.atguigu.gulimall.product.feign;

import com.atguigu.common.to.SkuHasStockVo;
import com.atguigu.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

@Component
@FeignClient("gulimall-ware")
public interface WareFeignService {

/**
* 1、R設計的時候可以加上泛型
* 2、直接返回我們想要的結果
* 3、自己封裝解析結果
* @return
*/
@PostMapping("/ware/waresku/hasStock")
R getSkuHasStocks(@RequestBody List<Long> skuIds);
}

(12)gulimall-ware 編寫遠程服務查詢庫存接口
com.atguigu.gulimall.ware.controller.WareSkuController 新增方法 getSkuHasStocks
/**
* 查詢sku是否有庫存
* 返回skuId 和 stock庫存量
*/
@PostMapping("/hasStock")
public R getSkuHasStocks(@RequestBody List<Long> SkuIds){
List<SkuHasStockVo> vos = wareSkuService.getSkuHasStock(SkuIds);
return R.ok().setData(vos);
}

com.atguigu.gulimall.ware.service.impl.WareSkuServiceImpl 新增接口和實現方法
/**
* 查詢sku是否有庫存
* @param skuIds
* @return
*/
@Override
public List<SkuHasStockVo> getSkuHasStock(List<Long> skuIds) {
List<SkuHasStockVo> collect = skuIds.stream().map(skuId -> {
SkuHasStockVo vo = new SkuHasStockVo();
//查看當前sku的總庫存量
//SELECT SUM(stock-stock_locked) FROM wms_ware_sku WHERE sku_id=1
Long count = baseMapper.getSkuStock(skuId);
vo.setHasStock(count==null?false:count>0);
vo.setSkuId(skuId);
return vo;
}).collect(Collectors.toList());
System.out.println(collect);
return collect;
}

com.atguigu.gulimall.ware.dao.WareSkuDao 新增方法 getSkuStock
/**
* 查看當前sku的總庫存量
* @param skuId
* @return
*/
Long getSkuStock(@Param("skuId") Long skuId);

WareSkuDao.xml 新增xml實現方法
<!--查看當前sku的總庫存量-->
<select id="getSkuStock" resultType="java.lang.Long">
SELECT SUM(stock-stock_locked) FROM wms_ware_sku WHERE sku_id=#{skuId}
</select>
(13)gulimall-product 創建遠程調用文件 com.atguigu.gulimall.product.feign.SearchFeignService
package com.atguigu.gulimall.product.feign;

import com.atguigu.common.to.es.SkuEsModel;
import com.atguigu.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

@Component
@FeignClient("gulimall-search")
public interface SearchFeignService {

@PostMapping("/search/save/product")
R saveProductAsIndices(@RequestBody List<SkuEsModel> skuEsModels);
}
(14)gulimall-search 編寫遠程服務es上架商品接口

新增文件 com.atguigu.gulimall.search.controller.ElasticSaveController
package com.atguigu.gulimall.search.controller;

import com.atguigu.common.exception.BizCodeEnum;
import com.atguigu.common.to.es.SkuEsModel;
import com.atguigu.common.utils.R;
import com.atguigu.gulimall.search.service.ProductSaveService;
import lombok.extern.slf4j.Slf4j;
import org.apache.tomcat.jni.BIOCallback;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Slf4j
@RequestMapping("/search/save")
@RestController
public class ElasticSaveController {

@Autowired
ProductSaveService productSaveService;

//上架商品
@PostMapping("/product")
public R saveProductAsIndices(@RequestBody List<SkuEsModel> skuEsModels){
boolean b = false;
try {
System.out.println(skuEsModels);
b = productSaveService.productStatusUp(skuEsModels);
System.out.println(b);
}catch (Exception e){
e.printStackTrace();
log.error("ElasticSaveController商品上架錯誤:{}",e);
return R.error(BizCodeEnum.PRODUCT_UP_EXCEPTION.getCode(), BizCodeEnum.PRODUCT_UP_EXCEPTION.getMessage());
}
if(!b){
return R.ok();
}else{
return R.error(BizCodeEnum.PRODUCT_UP_EXCEPTION.getCode(), BizCodeEnum.PRODUCT_UP_EXCEPTION.getMessage());
}

}
}

新增接口和實現類文件 com.atguigu.gulimall.search.service.impl.ProductSaveServiceImpl
package com.atguigu.gulimall.search.service.impl;

import com.alibaba.fastjson.JSON;
import com.atguigu.common.to.es.SkuEsModel;
import com.atguigu.gulimall.search.config.GulimallElasticSearchConfig;
import com.atguigu.gulimall.search.constant.EsConstant;
import com.atguigu.gulimall.search.service.ProductSaveService;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.action.bulk.BulkItemResponse;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

@Slf4j
@Service
public class ProductSaveServiceImpl implements ProductSaveService {

@Resource
private RestHighLevelClient restHighLevelClient;


/**
* 上架商品
* @param skuEsModels
*/
@Override
public boolean productStatusUp(List<SkuEsModel> skuEsModels) throws IOException {
// 1.給ES建立一個索引 product
BulkRequest bulkRequest = new BulkRequest();
// 2.構造保存請求
for (SkuEsModel esModel : skuEsModels) {
// 設置索引
IndexRequest indexRequest = new IndexRequest(EsConstant.PRODUCT_INDEX);
// 設置索引id
indexRequest.id(esModel.getSkuId().toString());
String jsonString = JSON.toJSONString(esModel);
indexRequest.source(jsonString, XContentType.JSON);
// add
bulkRequest.add(indexRequest);
}
// bulk批量保存
BulkResponse bulk = restHighLevelClient.bulk(bulkRequest, GulimallElasticSearchConfig.COMMON_OPTIONS);
// TODO 是否擁有錯誤
boolean hasFailures = bulk.hasFailures();
List<String> collect = Arrays.stream(bulk.getItems()).map(item -> item.getId()).collect(Collectors.toList());
log.info("商品上架完成:{},返回數據",collect,bulk.toString());
return hasFailures;
}
}

總結

以上是生活随笔為你收集整理的谷粒商城分布式高级(三)—— 商城业务(商品上架)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产手机免费视频 | 青青草华人在线视频 | 免费网站黄 | 亚洲国产免费 | 一区二区高清在线 | 91黄色在线视频 | 日韩黄色av网站 | 久久精品中文字幕免费mv | 国产成人av电影在线 | 日本中文字幕一二区观 | 日韩有码在线播放 | 欧美激情视频一二区 | 青青久草在线 | 免费中午字幕无吗 | 日韩精品偷拍 | 天天舔天天搞 | 久久五月婷婷丁香社区 | 国产精品人成电影在线观看 | 免费视频成人 | 亚洲性少妇性猛交wwww乱大交 | 国产福利网站 | 亚洲涩涩涩涩涩涩 | 黄色免费网| 人人讲下载 | 国产无遮挡猛进猛出免费软件 | 激情婷婷欧美 | 欧美午夜精品久久久久 | 天天搞天天 | 午夜av一区二区三区 | 91av官网| 欧美网址在线观看 | 欧美另类网站 | 超碰在线最新地址 | 99热精品免费观看 | 久久久精品一区二区三区 | 五月婷婷影院 | av久久在线| 中文字幕久久精品 | 香蕉久草| 亚洲国产精品成人精品 | 在线免费黄网站 | 免费av网站在线 | 狠狠干成人| 91丨九色丨国产丨porny精品 | 免费观看一级视频 | 国产专区视频在线 | 久草在线观看 | 久操视频在线免费看 | 四虎免费av | 国产亚洲精品久久久久久电影 | 日日夜夜添 | 热久久99这里有精品 | 狠狠亚洲 | 成人黄色电影在线 | 狠狠色噜噜狠狠狠狠 | 97精品国产aⅴ | 天天在线操 | 精品视频久久久 | 国产在线精品播放 | 99热最新 | www.色就是色 | 久久1区 | 国产精品欧美日韩 | 精品国产一区二区三区久久 | 亚洲精品理论片 | 久久蜜臀一区二区三区av | 免费黄色小网站 | 一区二精品 | 亚洲区另类春色综合小说 | 日韩午夜一级片 | 国产精品久久婷婷六月丁香 | 久草久 | 不卡精品| 国产精品久久久久久久av大片 | 成年人视频在线免费观看 | 在线观看午夜 | 国际精品久久久 | 精品高清美女精品国产区 | 5月丁香婷婷综合 | 亚洲一区二区三区毛片 | 最近免费中文字幕mv在线视频3 | aa级黄色大片 | a在线v| 毛片久久久 | 天天干,天天干 | 一区二区三区免费在线播放 | 日日夜夜天天综合 | 91cn国产在线 | 天天综合亚洲 | 亚洲黄色大片 | 在线www色| 福利视频一区二区 | www.狠狠插.com | 久青草电影| 99re国产视频 | 日韩精品在线观看视频 | 一二三精品视频 | 久久久国产日韩 | 亚洲国产黄色 | 久久你懂的 | 国产一级久久久 | 日韩一级电影在线观看 | 日韩精品在线免费播放 | 成人黄色av免费在线观看 | 国产高清视频免费 | 久久99精品久久久久久三级 | 亚洲免费观看视频 | 国产精品 9999 | 亚洲成人精品影院 | 欧美一级片免费在线观看 | 九九九九精品九九九九 | 欧洲视频一区 | 91网免费看 | 视频精品一区二区三区 | 91在线porny国产在线看 | 久久综合狠狠综合 | 91麻豆网站 | 日韩欧美一区二区三区视频 | 免费在线激情视频 | 在线v片免费观看视频 | 在线91视频| 日本中文字幕在线观看 | 久久免费视频精品 | 91在线免费视频观看 | 91亚洲精品久久久蜜桃网站 | 国产自在线 | 亚洲网站在线看 | 九九综合九九 | 日韩精品国产一区 | 久久er99热精品一区二区三区 | 六月丁香综合 | 亚洲精品88欧美一区二区 | 91热| 97在线观看免费视频 | 久久 在线 | 亚洲国产成人久久综合 | japanese黑人亚洲人4k | 久草精品免费 | 亚洲成av人片在线观看 | 天天操天天射天天插 | 久久综合婷婷国产二区高清 | 久久天天躁夜夜躁狠狠85麻豆 | 日韩电影中文,亚洲精品乱码 | 91黄色小视频 | av大全在线免费观看 | 亚洲欧美精品在线 | 九九久久国产精品 | 婷婷久久丁香 | 色综合久久天天 | 日韩久久精品 | 日韩欧美在线一区二区 | 免费观看福利视频 | 狠狠五月婷婷 | 开心激情婷婷 | 国产精品99久久久久久人免费 | 江苏妇搡bbbb搡bbbb | www四虎影院 | av一级在线观看 | 国产精品色视频 | 久久字幕 | av电影在线播放 | 天天操天天操天天操天天操天天操天天操 | 香蕉在线观看视频 | 免费日韩一区二区三区 | 欧美韩日视频 | 中文字幕av在线 | 日韩av网页 | 九色91在线视频 | 六月色| 成人欧美一区二区三区黑人麻豆 | 丁香色综合 | 日韩在线免费电影 | 中文一区二区三区在线观看 | 国产毛片久久 | 免费看精品久久片 | 日黄网站| 国产精品久久久久婷婷 | 亚洲国产日韩精品 | 中文有码在线 | 亚洲精品视频免费在线观看 | 日韩午夜视频在线观看 | 国产精品视频在线看 | 国产高h视频 | 天天操天天操天天操天天操天天操 | 精品国产一区二区三区久久久 | 91亚洲精品国偷拍 | 久久国产精品免费一区二区三区 | 麻豆国产精品一区二区三区 | 超碰在线观看99 | 在线视频欧美精品 | 看毛片网站 | 久久久久精 | 婷婷色站| 在线电影日韩 | 四虎影视成人永久免费观看亚洲欧美 | 五月婷婷六月丁香激情 | 免费在线观看亚洲视频 | 91看片在线免费观看 | 天天插天天色 | 欧美日韩亚洲第一 | 久久久久久久国产精品影院 | 国产999在线观看 | 一区二区三区国产欧美 | www.av小说 | 九九免费精品视频在线观看 | 在线观看中文字幕一区二区 | 九月婷婷人人澡人人添人人爽 | 久艹在线免费观看 | 中文免费观看 | 中文字幕人成不卡一区 | 日韩中文字幕免费 | 久热这里有精品 | 亚洲美女精品视频 | 五月天激情开心 | 国产精品一区二区三区久久久 | 人人dvd | 日韩午夜电影 | 国产999精品久久久影片官网 | 成人久久久久久久久 | 人人爱爱 | 久久情侣偷拍 | 亚洲在线成人精品 | 精品国产一区二区三区免费 | 少妇超碰在线 | 婷婷av网站 | 久久理论影院 | 亚洲成人免费 | 日韩毛片精品 | 成人av网址大全 | 91精品免费在线观看 | 91免费观看 | 色综合网 | 狠狠色狠狠色综合系列 | 亚洲免费资源 | 国产精品久久99精品毛片三a | 91超级碰碰 | 99热九九这里只有精品10 | 丁香5月婷婷 | 91最新在线 | 国产久视频 | 亚洲精品久久久蜜桃 | 国产精品乱码久久久 | 欧美日韩在线免费观看视频 | 99国产一区 | 久久成人精品电影 | 国内精品久久久久久久影视简单 | 久久伊人热 | 欧美另类sm图片 | 久久天天操 | 91麻豆传媒| 91久久精品日日躁夜夜躁国产 | 嫩小bbbb摸bbb摸bbb | 最近中文字幕mv免费高清在线 | 婷婷av综合 | 免费在线观看av网站 | 天天操夜夜操 | 久久久精品国产免费观看同学 | 亚洲精品xx | 久草视频资源 | 国产精品剧情在线亚洲 | 国产第一福利 | 97国产精品| 日av免费| 免费高清在线视频一区· | 亚洲影院天堂 | 国产精品一区二区中文字幕 | 色婷婷久久| 欧美另类v | 国产黑丝一区二区三区 | www.久草.com | 伊人影院99 | 成年人视频免费在线播放 | 国产精品久久久久久久久久久免费看 | 九九九电影免费看 | 国产亚洲综合性久久久影院 | 蜜臀久久99精品久久久酒店新书 | 色吊丝av中文字幕 | 天天看天天干 | 香蕉视频在线免费 | 成人免费一区二区三区在线观看 | 精品视频免费 | 精品国产乱码久久久久久1区2匹 | 中文字幕在线免费观看 | 久久精品伊人 | 国产午夜免费视频 | 精品伦理一区二区三区 | 日韩动态视频 | 国产精品免费一区二区 | 少妇bbbb搡bbbb桶 | 久久久久久久综合色一本 | 国产精品久久久久久久久久久杏吧 | 亚洲九九九在线观看 | 成人夜晚看av| 99999精品 | 亚洲欧美怡红院 | 婷婷色中文网 | 久久99久久精品 | 欧美电影在线观看 | 色偷偷中文字幕 | 男女拍拍免费视频 | 91视频免费看 | 久久久久久久久久久电影 | 欧美网站黄色 | 日本精品va在线观看 | 国产第一页福利影院 | 欧美日韩伦理一区 | 九九视频免费观看视频精品 | 国产小视频在线观看免费 | 成人av片免费看 | 一本一道久久a久久综合蜜桃 | 亚洲一区精品二人人爽久久 | 99久久精品国产欧美主题曲 | 国产免费不卡av | 日本色小说视频 | 久久精品国产一区二区 | 国产一级性生活 | 777视频在线观看 | 国产日韩精品视频 | av+在线播放在线播放 | 久久香蕉电影网 | 久热这里有精品 | 夜夜躁狠狠躁日日躁 | 99在线精品视频观看 | 99情趣网视频| 香蕉网在线播放 | 久人人 | 激情欧美一区二区三区 | zzijzzij亚洲成熟少妇 | 日韩中文字幕免费 | 日韩精品一区二区在线 | 天天爽综合网 | 欧美日韩视频一区二区 | 日日躁夜夜躁xxxxaaaa | 欧美成人a在线 | 国产高清成人av | 国产涩涩在线观看 | 丁香花中文在线免费观看 | 欧美精品乱码99久久影院 | 色福利网站 | 91字幕| 精品美女在线视频 | 日韩特黄一级欧美毛片特黄 | 女人高潮一级片 | 国产精品第一 | 国产色视频一区 | 久久99精品视频 | av免费在线网 | 久久成人麻豆午夜电影 | 粉嫩av一区二区三区四区在线观看 | 手机看片中文字幕 | 在线观看中文 | 久久久久亚洲精品中文字幕 | 特级毛片在线 | 808电影| 婷婷新五月 | 天天色天天射天天干 | 日韩精品久久一区二区三区 | 日韩视频免费在线 | 国产日韩精品一区二区三区在线 | 色丁香婷婷 | 欧美精品在线免费 | 国产色就色 | 成人a免费看 | 成人九九视频 | 国产精品久久久久av | 久久久精品在线观看 | 欧美日韩高清不卡 | 免费视频在线观看网站 | 国产视频资源在线观看 | 亚洲成人精品国产 | 五月婷婷天堂 | 一区 二区 精品 | 国产成人精品999在线观看 | 成人av亚洲 | 色在线中文字幕 | 久久涩涩网站 | 久久国产精品视频观看 | 国产精品一码二码三码在线 | 久在线| 插久久| 天干啦夜天干天干在线线 | 色网站中文字幕 | 激情开心站 | 成人黄色电影在线播放 | 亚洲一二三久久 | 久久视频在线免费观看 | 久久伊人精品天天 | 人人玩人人添人人 | 国内精品久久久久久久久久 | 国产精彩视频 | 香蕉网址| 久久久久久久久久久免费视频 | 中文字幕免费观看全部电影 | 精品中文字幕在线播放 | 成人免费一区二区三区在线观看 | 成人免费一区二区三区在线观看 | 久久99日韩 | 91精品在线免费观看 | 成人午夜电影久久影院 | 亚洲精品美女在线观看 | 天天天插 | 免费av成人在线 | 日韩欧美在线视频一区二区 | 久久久久久久久影视 | 香蕉国产91 | 2019中文字幕第一页 | 日韩欧美视频在线播放 | 九九九国产 | 中文字幕在线看视频 | 9色在线视频 | 一区二区不卡高清 | 久久九九免费 | 黄色影院在线观看 | 黄p在线播放 | 国产一区在线视频播放 | 一区二区视 | 毛片激情永久免费 | 日韩一区二区三区免费视频 | 国产精品视频在线看 | 午夜av日韩 | 免费观看版 | 狠狠干成人综合网 | 日韩免费观看高清 | 婷婷在线五月 | 麻豆视频在线免费 | 亚洲第一区在线观看 | 免费观看久久久 | 天天操天天拍 | 日韩av影片在线观看 | 97视频在线免费观看 | 免费观看的av | 成人免费在线看片 | 韩国av免费看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 久久福利电影 | 日韩黄色软件 | 成人免费亚洲 | 18网站在线观看 | 三级av中文字幕 | 国产精品欧美久久久久无广告 | 久久福利国产 | 久久综合婷婷综合 | 国产传媒中文字幕 | 久久精品综合一区 | 亚洲国产精品推荐 | 一本色道久久精品 | 丁香色婷 | 免费看黄在线看 | 97av色| 日韩在线小视频 | 成人国产一区二区 | 亚洲最新在线 | 国产精品免费观看国产网曝瓜 | 成人啊 v | 在线a亚洲视频播放在线观看 | 亚洲欧美视频在线播放 | 亚洲四虎影院 | 开心色插 | sesese图片 | 久久久久久欧美二区电影网 | 成人小视频在线 | 美女视频黄网站 | av网站在线观看播放 | 国产欧美久久久精品影院 | 亚洲a资源 | 久久99精品久久久久蜜臀 | 一二三区av | 日韩资源在线 | 99久久精品免费看国产 | 日韩精品黄 | 亚洲精品一区二区三区在线观看 | 91重口视频 | 麻豆视频免费在线观看 | 黄色小说视频网站 | 美女久久久久 | 中文字幕一区二区三区在线视频 | 日本精品午夜 | 二区三区在线观看 | 狠狠躁日日躁夜夜躁av | 91精品欧美一区二区三区 | 国产999在线| 又粗又长又大又爽又黄少妇毛片 | 日韩电影在线观看一区二区 | 婷婷色在线视频 | 在线91av| 久久久久久久久久久久久9999 | 在线最新av | 成人免费看黄 | 亚洲97在线| 国产视频资源 | 国产成人精品999 | 成人免费 在线播放 | 亚洲最大激情中文字幕 | 色综合久久久久网 | 国产福利一区在线观看 | 国产精品18久久久久白浆 | 四虎影视成人精品国库在线观看 | 国产日本在线观看 | 西西444www大胆无视频 | 亚洲免费在线观看视频 | 日韩中文字幕免费视频 | 美女精品久久久 | 99久久久久 | 97视频网址| 国产精品一区久久久久 | 区一区二区三在线观看 | 欧美亚洲一区二区在线 | 中文字幕刺激在线 | 蜜桃av人人夜夜澡人人爽 | 欧美小视频在线 | 91av在线免费观看 | 97看片吧 | 人人爽人人射 | 日本久久久影视 | 久久婷亚洲五月一区天天躁 | 久精品在线 | 91亚洲在线 | 国产色视频一区二区三区qq号 | 久久国产精品偷 | 免费在线观看视频a | 久久天天操 | 亚洲 欧洲av | 99色视频 | 日韩国产高清在线 | 99精品国产亚洲 | 欧美最新大片在线看 | 免费亚洲婷婷 | 欧美黑人xxxx猛性大交 | av成人在线观看 | 国产色婷婷精品综合在线手机播放 | 四虎影视成人 | 久久午夜色播影院免费高清 | 国产在线一卡 | 久久高清 | 亚洲一级片免费观看 | 日韩伦理片一区二区三区 | 国产精品 国内视频 | 97国产视频 | 另类五月激情 | 亚洲精品在线观看视频 | 81精品国产乱码久久久久久 | 91伊人久久大香线蕉蜜芽人口 | 国产精品a成v人在线播放 | 在线国产一区二区 | 一级黄色免费网站 | 18+视频网站链接 | 亚洲成av人片一区二区梦乃 | 婷婷日 | 欧美在线视频免费 | 免费欧美| 亚洲天堂在线观看完整版 | 99视频在线精品国自产拍免费观看 | 91人人揉日日捏人人看 | 人人网人人爽 | 国产精品久久99 | 激情小说网站亚洲综合网 | 日韩电影在线一区 | 亚洲一级二级三级 | 99精品在线观看视频 | 日韩二区三区 | 国产久草在线观看 | 精品福利视频在线 | 成人免费观看网站 | 四虎成人精品永久免费av | 又黄又爽又刺激的视频 | 久热精品国产 | 免费在线观看亚洲视频 | 日韩在线视频线视频免费网站 | 日本黄色免费播放 | 亚洲精品日韩一区二区电影 | 九九热在线观看 | 精品亚洲视频在线观看 | 久久综合99 | 麻豆视频在线观看 | 久久婷亚洲五月一区天天躁 | 国产我不卡 | 亚洲国产精品一区二区久久hs | 日韩免费电影一区二区 | 最近最新中文字幕 | 国产一区二区久久久 | 久久伊人综合 | 伊人一级| 亚洲欧美日韩一区二区三区在线观看 | 国产区精品视频 | 成人精品视频久久久久 | 亚洲精品资源在线观看 | 婷婷午夜激情 | 99热精品在线 | 欧美日韩综合在线观看 | 色综合在 | 国产高清视频在线播放 | 91久久奴性调教 | 午夜av影院 | 毛片网站在线看 | 色永久免费视频 | www欧美xxxx | 午夜久久福利影院 | 免费看的黄色录像 | 2021国产在线视频 | 最新午夜电影 | 99久久国产免费,99久久国产免费大片 | 激情综合五月天 | 成 人 黄 色视频免费播放 | 欧美一区中文字幕 | 亚洲成人黄色在线观看 | 精品亚洲成人 | 99久久久成人国产精品 | 看片网站黄色 | 久草网在线观看 | 日本午夜免费福利视频 | 黄色一区二区在线观看 | 五月天激情婷婷 | 伊人久久一区 | 天天久久综合 | 精品久久久国产 | 国产人成精品一区二区三 | 久久综合九九 | 又大又硬又黄又爽视频在线观看 | 国产亚洲无 | 亚洲精品在线视频网站 | 在线免费观看黄色小说 | 国产二区电影 | 五月婷婷一区二区三区 | 中文字幕在线日亚洲9 | 国内精品免费 | 99超碰在线观看 | 天天干天天在线 | 色噜噜狠狠狠狠色综合久不 | 国产一区二区三区高清播放 | 91在线资源 | 91九色视频网站 | 亚洲欧美日韩精品一区二区 | 欧洲亚洲精品 | 91热| 99热精品在线 | 色av男人的天堂免费在线 | 蜜臀精品久久久久久蜜臀 | 久久久色 | 日本韩国精品一区二区在线观看 | 欧美日本不卡 | 国色综合| 91中文视频 | 麻豆传媒电影在线观看 | 国产999精品视频 | 欧美一区二区伦理片 | 精品99久久久久久 | 在线小视频你懂的 | 日韩精选在线观看 | 99精品视频在线观看免费 | 在线欧美最极品的av | 中文字幕 91| 黄色成人av网址 | 91麻豆精品国产91久久久使用方法 | 久久新 | 久久99精品久久久久久久久久久久 | 色婷婷综合久久久久 | 久久综合色一综合色88 | 国内精品久久久久久久久久久 | 精品亚洲国产视频 | 亚洲黄色三级 | 在线观看蜜桃视频 | 综合色综合色 | 美女在线免费视频 | 日日摸日日 | 伊人久久精品久久亚洲一区 | 欧美有色 | 91视频啪| 五月的婷婷 | 国内久久久久 | 久久亚洲欧美日韩精品专区 | 成人蜜桃视频 | 九草视频在线观看 | 午夜久久成人 | 国产精品成人一区二区三区吃奶 | 色婷婷狠| 插综合网 | 中文字幕免费高 | 日韩av进入 | 日韩aa视频| 国产精品美乳一区二区免费 | 亚洲小视频在线 | 98精品国产自产在线观看 | 国产高清av免费在线观看 | 日韩三级视频在线看 | 九九爱免费视频在线观看 | 欧美-第1页-屁屁影院 | 色婷婷88av视频一二三区 | 黄色国产在线观看 | 国产一区二区在线免费播放 | 中文字幕在线看视频 | 久久看毛片 | 日日夜夜免费精品 | 亚洲精品乱码久久 | 中文在线www| 天天曰 | 欧美福利网站 | 在线免费观看一区二区三区 | 成人黄色小说视频 | 欧美久久久久久久久中文字幕 | 欧美日韩性视频在线 | 国产精品18久久久久久久网站 | 波多野结衣一区二区三区中文字幕 | 久久午夜电影院 | 国产在线播放观看 | 欧美日韩高清不卡 | 亚洲电影在线看 | 99精品一级欧美片免费播放 | 免费a级观看 | 国产又粗又长又硬免费视频 | 亚洲国产综合在线 | 日韩在线视频一区 | 欧美男男tv网站 | 国产欧美精品一区二区三区 | 亚洲精品在线免费 | 久久亚洲精品国产亚洲老地址 | 免费视频久久久久久久 | av在线最新 | 天天射天 | 97偷拍视频| 成人一级电影在线观看 | 丁香色婷婷 | 亚洲激情综合 | 国产一区二区在线免费播放 | av电影在线观看完整版一区二区 | 日韩三级视频在线看 | 亚洲乱码一区 | av蜜桃在线 | 狠狠操狠狠干2017 | 国产传媒一区在线 | 日日爱网址 | 成人黄色影片在线 | 午夜久久福利 | 免费视频一二三区 | 在线观看免费成人av | 亚洲男男gaygay无套同网址 | 日日躁你夜夜躁你av蜜 | 国产成人久久久77777 | 一区二区日韩av | 狠狠gao| 激情偷乱人伦小说视频在线观看 | 天天激情 | 在线一区二区三区 | 九七视频在线观看 | 三级大片网站 | 人人爽人人插 | 热久久国产精品 | 国产亚洲小视频 | 亚洲国产中文在线观看 | 久久久久久久久网站 | 婷婷av在线| 国产精品免费久久久久影院仙踪林 | av在线免费在线 | 在线免费精品视频 | 久草在线久草在线2 | 在线视频日韩 | 99热这里只有精品国产首页 | av观看在线观看 | 人人干狠狠操 | 国产一级片直播 | 成人综合日日夜夜 | 五月天综合激情网 | 美州a亚洲一视本频v色道 | 国产精品久久久久久久久久直播 | 国产高清av免费在线观看 | 婷婷精品国产欧美精品亚洲人人爽 | 天堂av在线中文在线 | 天天操偷偷干 | 8x成人在线| 中文字幕欧美日韩va免费视频 | 国产精彩在线视频 | 中文字幕美女免费在线 | 99精品免费在线观看 | 国产区在线看 | 国产极品尤物在线 | 成人免费色 | 免费久久精品视频 | 国产成人久久精品77777综合 | 国产经典av| 中文字幕在线观看网 | 国产亚洲精品美女久久 | 久久99精品视频 | 91手机视频 | 亚洲日本一区二区在线 | 欧美激情综合五月色丁香 | 日本中文字幕一二区观 | 日韩av成人免费看 | 中文字幕 在线看 | 亚洲a资源 | 成人av免费看 | 国产一区二区成人 | 久久九九影视网 | 久久激情视频 久久 | av中文字幕电影 | 亚洲精品久久久久久国 | 人人干97 | 91在线视频一区 | 狠狠狠色丁香婷婷综合激情 | 黄色片网站大全 | www.天天草| 亚洲爱爱视频 | 久久久激情网 | 激情 亚洲 | 五月婷综合网 | 在线日韩| 亚洲国产一区在线观看 | 国产精品video爽爽爽爽 | 亚洲第一色 | 国产精品原创在线 | 超碰97成人| 国产精品久久久久久久久婷婷 | 97视频在线免费播放 | 久亚洲| 伊人黄 | 国产三级午夜理伦三级 | 午夜18视频在线观看 | 在线中文字幕av观看 | 操操操日日日 | 波多野结衣在线观看一区 | 亚洲,播放 | 国产一区国产二区在线观看 | 久久免费视频精品 | 久久尤物电影视频在线观看 | 国产精品av一区二区 | 国产欧美中文字幕 | 人人爱人人添 | 五月丁色 | 在线观看完整版 | 精品影院| 69av在线视频 | 国产在线观看91 | 99在线精品视频在线观看 | 在线国产日本 | 精品久久久免费 | 三级在线视频观看 | 天天射天天 | 尤物一区二区三区 | 国产午夜麻豆影院在线观看 | 久久精品站 | 探花视频在线观看+在线播放 | 中文字幕不卡在线88 | 国产精品久久综合 | 国产青春久久久国产毛片 | 久久婷婷国产色一区二区三区 | 久99久视频| 免费视频久久久久 | av 一区 二区 久久 | 在线欧美a | 992tv在线观看网站 | 色婷婷www| 欧美日韩在线免费视频 | 三级黄免费看 | 中文字幕首页 | 超碰精品在线观看 | 亚洲精品国产综合久久 | 五月天网站在线 | 九九热99视频 | 欧美二区在线播放 | 91精品影视 | 成人久久亚洲 | 国内精品亚洲 | 黄色三级网站 | 500部大龄熟乱视频使用方法 | 天天操天天操天天操天天操天天操 | 国产一级视频 | 国产高清日韩欧美 | 日韩电影中文字幕在线观看 | 这里只有精品视频在线观看 | 亚洲精品自拍视频在线观看 | 国产免费嫩草影院 | 国产精品自在线 | 精品久久久久久久久亚洲 | 国产精品女教师 | 亚洲最大av网站 | 黄色一级影院 | 日本 在线 视频 中文 有码 | 成人免费看视频 | 最新av免费在线观看 | 人人干人人超 | 天天操天天添 | 激情xxxx | 999久久久免费视频 午夜国产在线观看 | 探花视频在线观看+在线播放 | 在线看黄色的网站 | 在线免费观看欧美日韩 | 成人黄大片视频在线观看 | 国内精品视频久久 | 六月婷婷网 | 91激情视频在线观看 | 国内精品美女在线观看 | 亚洲乱亚洲乱亚洲 | 看黄色.com | www.神马久久 | 婷婷亚洲综合五月天小说 | 91福利免费 | av大全在线观看 | 高清不卡一区二区三区 | 狠狠激情中文字幕 | 国产精品毛片一区视频 | 国产区在线看 | 欧美射射射| 成年人黄色在线观看 | 亚洲精品乱码久久久久v最新版 | 国产亚洲亚洲 | av一区二区在线观看中文字幕 | 在线 国产一区 | 国产免费又爽又刺激在线观看 | 亚洲一区久久久 | 久久乐九色婷婷综合色狠狠182 | 国产黄色大片免费看 | 国产在线v| 久久国产区 | 中文字幕在线影视资源 | 亚洲国产精品一区二区久久hs | 久久久国产精品一区二区中文 | www欧美色| 9999激情 | 热久久最新地址 | 一区二区三区在线免费观看 | 中文字幕中文字幕中文字幕 | 久久99中文字幕 | 亚洲精品av中文字幕在线在线 | 精品av在线播放 | 国产99re | 久久亚洲人 | 一区二区精品在线 | 西西大胆免费视频 | 人人干人人上 | 91精品网站在线观看 | 国产精品 日韩 | 四虎在线免费观看 | 国产精品va | 九九免费在线观看 | 亚洲精品女人 | 婷婷在线色 | 久久a v视频 | 99久久精 | 久久理论片 | 999电影免费在线观看 | 伊人影院在线观看 | 超碰在线免费97 | 亚洲国产精品va在线看黑人 | 色94色欧美 | 在线观看日韩专区 | 欧美日韩国产一区二区在线观看 | www.夜夜操.com| 国产一线二线三线性视频 | 在线午夜av | 亚洲综合色视频在线观看 | 97国产一区二区 | 在线视频 一区二区 | 91视频 - 88av | 日韩av在线免费看 | 在线观看视频99 | 国产精品自产拍在线观看桃花 | 丁香激情网 | 最近中文字幕国语免费高清6 | 久久人人干 | 精品免费视频123区 午夜久久成人 | 麻豆91网站| 亚洲国产剧情 | 99精品久久久久久久 | 久久伊人精品天天 | 久久精品一二三区白丝高潮 | 色香天天| 久久综合视频网 | 97操操操 | 欧美日韩国产二区 | 国产色女| 香蕉免费 | 色全色在线资源网 | 免费三及片 | 美女国产精品 | 久久www免费人成看片高清 | 国产中文字幕在线播放 | 国产精品久久久久久久久蜜臀 | 狠狠狠色丁香综合久久天下网 | 久久另类小说 | 97国产在线播放 | 中文字幕丝袜制服 | 国产精品久久久久久久久久白浆 | 日韩有码第一页 | 98涩涩国产露脸精品国产网 | 国产精品网址在线观看 | 国产精品高清一区二区三区 | 日韩欧美精品免费 | 亚洲精品美女久久久 | 亚洲 中文 欧美 日韩vr 在线 | 99精品欧美一区二区 | 成人丝袜| 啪啪肉肉污av国网站 | 国产精品 日韩 | 日韩欧美在线免费观看 | 国产韩国日本高清视频 | 999在线观看视频 | 在线观看av免费 | 欧美亚洲国产精品久久高清浪潮 | 欧美日韩视频免费看 | 亚洲国产无|