3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java后端对接微信支付(微信公众号、PC端扫码)

發布時間:2023/12/29 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java后端对接微信支付(微信公众号、PC端扫码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信流程圖

項目結構

前期準備

復制證書

將證書中名為apiclient_key.pem的文件復制到你的項目中

依賴

<!-- 微信支付SDK--> <dependency><groupId>com.github.wechatpay-apiv3</groupId><artifactId>wechatpay-apache-httpclient</artifactId><version>0.3.0</version> </dependency>

properties文件(yaml也可以自己換一下)

# 微信支付相關參數 # 下面兩個用來標識用戶 # 商戶號 wxpay.mch-id= ****************** # APPID wxpay.appid= ****************** # 接下來兩個用來確保SSL(內容未作任何加密,只做了簽名.) # 商戶API證書序列號 wxpay.mch-serial-no= ******************# 商戶私鑰文件(第一步) wxpay.private-key-path= apiclient_key.pem # APIv3密鑰(在微信支付回調通知和商戶獲取平臺證書使用APIv3密鑰) wxpay.api-v3-key= ******************# 接下來兩個是相關地址 # 微信服務器地址 wxpay.domain= https://api.mch.weixin.qq.com # 接收結果通知地址 # 注意:每次重新啟動ngrok,都需要根據實際情況修改這個配置 wxpay.notify-domain= 填自己的回調地址

寫配置文件WxPayConfig(建議新建一個config文件夾存放配置文件)

package com.leng.paymentdemo.config;import com.wechat.pay.contrib.apache.httpclient.WechatPayHttpClientBuilder; import com.wechat.pay.contrib.apache.httpclient.auth.PrivateKeySigner; import com.wechat.pay.contrib.apache.httpclient.auth.ScheduledUpdateCertificatesVerifier; import com.wechat.pay.contrib.apache.httpclient.auth.WechatPay2Credentials; import com.wechat.pay.contrib.apache.httpclient.auth.WechatPay2Validator; import com.wechat.pay.contrib.apache.httpclient.util.PemUtil; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.http.impl.client.CloseableHttpClient; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.nio.charset.StandardCharsets; import java.security.PrivateKey;/*** 微信支付信息配置* @author Admin*/ @Configuration @PropertySource("classpath:wxpay.properties") //讀取配置文件 @ConfigurationProperties(prefix="wxpay") //讀取wxpay節點 @Data //使用set方法將wxpay節點中的值填充到當前類的屬性中 @Slf4j public class WxPayConfig {// 商戶號private String mchId;// 商戶API證書序列號private String mchSerialNo;// 商戶私鑰文件private String privateKeyPath;// APIv3密鑰private String apiV3Key;// APPIDprivate String appid;// 微信服務器地址private String domain;// 接收結果通知地址private String notifyDomain;//商戶APIv2 keyprivate String partnerKey;/*** 獲取商戶的私鑰文件* @param filename* @return*/public PrivateKey getPrivateKey(String filename){try {return PemUtil.loadPrivateKey(new FileInputStream(filename));} catch (FileNotFoundException e) {throw new RuntimeException("私鑰文件不存在",e);}}/*** 獲取簽名驗證器* @return*/@Beanpublic ScheduledUpdateCertificatesVerifier getVerifier(){log.info("獲取簽名驗證器");//獲取商戶私鑰PrivateKey privateKey = getPrivateKey(privateKeyPath);//私鑰簽名對象PrivateKeySigner privateKeySigner = new PrivateKeySigner(mchSerialNo, privateKey);//身份認證對象WechatPay2Credentials wechatPay2Credentials = new WechatPay2Credentials(mchId, privateKeySigner);// 使用定時更新的簽名驗證器,不需要傳入證書ScheduledUpdateCertificatesVerifier verifier = new ScheduledUpdateCertificatesVerifier(wechatPay2Credentials,apiV3Key.getBytes(StandardCharsets.UTF_8));return verifier;}/*** 獲取http請求對象* @param verifier* @return*/@Bean(name = "wxPayClient")public CloseableHttpClient getWxPayClient(ScheduledUpdateCertificatesVerifier verifier){log.info("獲取httpClient");//獲取商戶私鑰PrivateKey privateKey = getPrivateKey(privateKeyPath);WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create().withMerchant(mchId, mchSerialNo, privateKey).withValidator(new WechatPay2Validator(verifier));// ... 接下來,你仍然可以通過builder設置各種參數,來配置你的HttpClient// 通過WechatPayHttpClientBuilder構造的HttpClient,會自動的處理簽名和驗簽,并進行證書自動更新CloseableHttpClient httpClient = builder.build();return httpClient;}}

自定義統一返回結果(建議創建一個response存放)

CustomizeResultCode

package com.leng.paymentdemo.response;public interface CustomizeResultCode {/*** 獲取錯誤代碼* @return 錯誤狀態碼*/Integer getCode();/*** 獲取錯誤信息* @return 錯誤信息*/String getMessage(); }

Result

package com.leng.paymentdemo.response;import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors;import java.util.HashMap; import java.util.Map;/*** 自定義的統一返回結果類*/ @Data @Accessors(chain = true) //允許當前類進行鏈式操作 public class Result {@ApiModelProperty(value = "是否成功")private Boolean success;@ApiModelProperty(value = "返回碼")private Integer code;@ApiModelProperty(value = "返回消息")private String message;@ApiModelProperty(value = "返回數據")private Map<String, Object> data = new HashMap<>();/*** 構造方法私有化,里面的方法都是靜態方法* 達到保護屬性的作用*/private Result(){}/*** 這里是使用鏈式編程* @return 返回訪問成功后的結果集*/public static Result ok(){Result result=new Result();result.setSuccess(true);result.setCode(ResultCode.SUCCESS.getCode());result.setMessage(ResultCode.SUCCESS.getMessage());return result;}/*** 失敗* @return*/public static Result error(){Result result=new Result();result.setSuccess(false);result.setCode(ResultCode.COMMON_FAIL.getCode());result.setMessage(ResultCode.COMMON_FAIL.getMessage());return result;}/*** 根基錯誤類型返回* @param resultCoe* @return*/public static Result error(ResultCode resultCoe){Result result=new Result();result.setSuccess(false);result.setCode(resultCoe.getCode());result.setMessage(resultCoe.getMessage());return result;}public Result success(Boolean success){this.setSuccess(success);return this;}public Result message(String message){this.setMessage(message);return this;}public Result code(Integer code){this.setCode(code);return this;}public Result data(String key,Object value){this.data.put(key,value);return this;} }

ResultCode

package com.leng.paymentdemo.response; /*** @Author:* @Description: 返回碼定義* 規定:* #200表示成功* #1001~1999 區間表示參數錯誤* #2001~2999 區間表示用戶錯誤* #3001~3999 區間表示接口異常* #后面對什么的操作自己在這里注明就行了*/ public enum ResultCode implements CustomizeResultCode {/* 成功 */SUCCESS(200,"成功"),/* 默認失敗 */COMMON_FAIL(999,"失敗"),/* 參數錯誤:1000~1999 */PARAM_NOT_VALID(1001,"參數無效"),PARAM_IS_BLANK(1002,"參數無效"),PARAM_TYPE_ERROR(1003,"參數類型錯誤"),PARAM_NOT_COMPLETE(1004,"參數缺失"),/* 用戶錯誤 */USER_NOT_LOGIN(2001,"用戶未登錄"),USER_ACCOUNT_EXPIRED(2002,"賬戶已過期"),USER_CREDENTIALS_ERROR(2003,"密碼錯誤"),USER_CREDENTIALS_EXPIRED(2004,"密碼過期"),USER_ACCOUNT_DISABLE(2005,"賬戶不可用"),USER_ACCOUNT_LOCKED(2006,"賬戶被鎖定"),USER_ACCOUNT_NOT_EXIST(2007,"賬戶不存在"),USER_ACCOUNT_ALREADY_EXIST(2008,"賬戶已存在"),USER_ACCOUNT_USE_BY_OTHERS(2009,"賬戶下線"),/* 部門錯誤 */DEPARTMENT_NOT_EXIST(3007,"部門不存在"),DEPARTMENT_ALREADY_EXIST(3008,"部門已存在"),/* 業務錯誤 */NO_PERMISSION(3001,"沒有權限"),BUCKET_IS_EXISTS(3002,"bucket已經存在了"),/* 算數異常 */ARITHMETIC_EXCEPTION(9001,"算數異常"),NULL_POINTER_EXCEPTION(9002,"空指針異常");private Integer code;private String message;ResultCode(Integer code,String message){this.code=code;this.message=message;}@Overridepublic Integer getCode() {return code;}@Overridepublic String getMessage() {return message;} }

定義一個全局異常處理器(exception)

BusinessException

package com.leng.paymentdemo.exception;import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;@Data @AllArgsConstructor @NoArgsConstructor public class BusinessException extends RuntimeException{@ApiModelProperty(value = "狀態碼")private Integer code;@ApiModelProperty(value = "錯誤信息")private String errMsg;}

GlobalExceptionHandler

package com.leng.paymentdemo.exception;import com.leng.paymentdemo.response.Result; import com.leng.paymentdemo.response.ResultCode; import lombok.extern.slf4j.Slf4j; import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.http.HttpStatus; import org.springframework.validation.BindException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import java.util.stream.Collectors;/***@作者: 冷俊杰*@類名: GlobalExceptionHandler類*@創建時間: 2022/8/22 14:21*@描述:*全局異常處理器,它只會處理controller層的異常*@修改原圖*@修改作者*@修改時間*/ @Slf4j @ControllerAdvice public class GlobalExceptionHandler {@ResponseBody@ExceptionHandler(value = ArithmeticException.class)public Result exception(ArithmeticException e) {System.out.println("出現了異常");return Result.error(ResultCode.ARITHMETIC_EXCEPTION);}@ResponseBody@ExceptionHandler(value = NullPointerException.class)public Result exception(NullPointerException e) {System.out.println("出現了異常");return Result.error(ResultCode.NULL_POINTER_EXCEPTION);}/* @ResponseBody@ExceptionHandler(value = BusinessException.class)public Result exception(BusinessException e) {System.out.println("出現了異常");return Result.error().code(e.getCode()).message(e.getErrMsg());}*/@ResponseBody@ExceptionHandler(value = Exception.class)public Result exception(Exception e) {e.printStackTrace();log.error("出現了異常"+e.getMessage()+"-----------");return Result.error();}//處理Get請求中 使用@Valid 驗證路徑中請求實體校驗失敗后拋出的異常@ExceptionHandler(BindException.class)@ResponseBodypublic Result BindExceptionHandler(BindException e) {String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining());return Result.error().message(message);}//處理請求參數格式錯誤 @RequestParam上validate失敗后拋出的異常是javax.validation.ConstraintViolationException /* @ExceptionHandler(ConstraintViolationException.class)@ResponseBodypublic ResponseBean ConstraintViolationExceptionHandler(ConstraintViolationException e) {String message = e.getConstraintViolations().stream().map(ConstraintViolation::getMessage).collect(Collectors.joining());return ResponseBean.error(message);}*///處理請求參數格式錯誤 @RequestBody上validate失敗后拋出的異常是MethodArgumentNotValidException異常。@ExceptionHandler(MethodArgumentNotValidException.class)@ResponseBodypublic Result MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining());return Result.error().message(message);}/*** 處理servlet異常* @param req* @param e* @return*/@ExceptionHandler(value = ServletException.class)@ResponseBodypublic Result servletExceptionHandler(HttpServletRequest req, ServletException e){log.error("web服務器異常 {}",e.getMessage());return Result.error().message(e.getMessage());}/*** 處理自定義的業務異常* @param req* @param e* @return*/@ExceptionHandler(value = BusinessException.class)@ResponseBodypublic Result bizExceptionHandler(HttpServletRequest req, BusinessException e){log.error("業務異常=>{}",e.getMessage());return Result.error().code(e.getCode()).message(e.getErrMsg());}/*** shiro的異常* @param e* @return*/ /* @ExceptionHandler(ShiroException.class)public ResponseBean handle401(ShiroException e) {log.error("shiro異常=>{}",e.getMessage());return new ResponseBean(401, e.getMessage(), null);}*//*** 獲取狀態碼* @param request* @return*/private HttpStatus getStatus(HttpServletRequest request) {Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");if (statusCode == null) {return HttpStatus.INTERNAL_SERVER_ERROR;}return HttpStatus.valueOf(statusCode);} }

返回狀態碼(自定義)

OrderStatus類

package com.leng.paymentdemo.enums;import lombok.AllArgsConstructor; import lombok.Getter;@AllArgsConstructor @Getter public enum OrderStatus {/*** 未支付*/NOTPAY("未支付"),/*** 支付成功*/SUCCESS("支付成功"),/*** 已關閉*/CLOSED("超時已關閉"),/*** 已取消*/CANCEL("用戶已取消"),/*** 退款中*/REFUND_PROCESSING("退款中"),/*** 已退款*/REFUND_SUCCESS("已退款"),/*** 退款異常*/REFUND_ABNORMAL("退款異常");/*** 類型*/private final String type; }

PayType

package com.leng.paymentdemo.enums;import lombok.AllArgsConstructor; import lombok.Getter;@AllArgsConstructor @Getter public enum PayType {/*** 微信*/WXPAY("微信"),/*** 支付寶*/ALIPAY("支付寶");/*** 類型*/private final String type; }

WxApiType

package com.leng.paymentdemo.enums.wxpay;import lombok.AllArgsConstructor; import lombok.Getter;@AllArgsConstructor @Getter public enum WxApiType {/*** Native下單*/NATIVE_PAY("/v3/pay/transactions/native"),/*** Native下單*/NATIVE_PAY_V2("/pay/unifiedorder"),/*** 查詢訂單*/ORDER_QUERY_BY_NO("/v3/pay/transactions/out-trade-no/%s"),/*** 關閉訂單*/CLOSE_ORDER_BY_NO("/v3/pay/transactions/out-trade-no/%s/close"),/*** 申請退款*/DOMESTIC_REFUNDS("/v3/refund/domestic/refunds"),/*** 查詢單筆退款*/DOMESTIC_REFUNDS_QUERY("/v3/refund/domestic/refunds/%s"),/*** 申請交易賬單*/TRADE_BILLS("/v3/bill/tradebill"),/*** 申請資金賬單*/FUND_FLOW_BILLS("/v3/bill/fundflowbill");/*** 類型*/private final String type; }

WxNotifyType

package com.leng.paymentdemo.enums.wxpay;import lombok.AllArgsConstructor; import lombok.Getter;@AllArgsConstructor @Getter public enum WxNotifyType {/*** 支付通知*/NATIVE_NOTIFY("/api/wx-pay/native/notify"),/*** 支付通知*/NATIVE_NOTIFY_V2("/api/wx-pay-v2/native/notify"),/*** 退款結果通知*/REFUND_NOTIFY("/api/wx-pay/refunds/notify");/*** 類型*/private final String type; }

WxRefundStatus

package com.leng.paymentdemo.enums.wxpay;import lombok.AllArgsConstructor; import lombok.Getter;@AllArgsConstructor @Getter public enum WxRefundStatus {/*** 退款成功*/SUCCESS("SUCCESS"),/*** 退款關閉*/CLOSED("CLOSED"),/*** 退款處理中*/PROCESSING("PROCESSING"),/*** 退款異常*/ABNORMAL("ABNORMAL");/*** 類型*/private final String type; }

WxTradeState

package com.leng.paymentdemo.enums.wxpay;import lombok.AllArgsConstructor; import lombok.Getter;@AllArgsConstructor @Getter public enum WxTradeState {/*** 支付成功*/SUCCESS("SUCCESS"),/*** 未支付*/NOTPAY("NOTPAY"),/*** 已關閉*/CLOSED("CLOSED"),/*** 轉入退款*/REFUND("REFUND");/*** 類型*/private final String type; }

utils工具類

HttpClientUtils

package com.leng.paymentdemo.util;import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.*; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.conn.ssl.SSLContextBuilder; import org.apache.http.conn.ssl.TrustStrategy; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils;import javax.net.ssl.SSLContext; import java.io.IOException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.text.ParseException; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map;/*** http請求客戶端*/ public class HttpClientUtils {private String url;private Map<String, String> param;private int statusCode;private String content;private String xmlParam;private boolean isHttps;public boolean isHttps() {return isHttps;}public void setHttps(boolean isHttps) {this.isHttps = isHttps;}public String getXmlParam() {return xmlParam;}public void setXmlParam(String xmlParam) {this.xmlParam = xmlParam;}public HttpClientUtils(String url, Map<String, String> param) {this.url = url;this.param = param;}public HttpClientUtils(String url) {this.url = url;}public void setParameter(Map<String, String> map) {param = map;}public void addParameter(String key, String value) {if (param == null)param = new HashMap<String, String>();param.put(key, value);}public void post() throws ClientProtocolException, IOException {HttpPost http = new HttpPost(url);setEntity(http);execute(http);}public void put() throws ClientProtocolException, IOException {HttpPut http = new HttpPut(url);setEntity(http);execute(http);}public void get() throws ClientProtocolException, IOException {if (param != null) {StringBuilder url = new StringBuilder(this.url);boolean isFirst = true;for (String key : param.keySet()) {if (isFirst) {url.append("?");isFirst = false;}else {url.append("&");}url.append(key).append("=").append(param.get(key));}this.url = url.toString();}HttpGet http = new HttpGet(url);execute(http);}/*** set http post,put param*/private void setEntity(HttpEntityEnclosingRequestBase http) {if (param != null) {List<NameValuePair> nvps = new LinkedList<NameValuePair>();for (String key : param.keySet())nvps.add(new BasicNameValuePair(key, param.get(key))); // 參數http.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8)); // 設置參數}if (xmlParam != null) {http.setEntity(new StringEntity(xmlParam, Consts.UTF_8));}}private void execute(HttpUriRequest http) throws ClientProtocolException,IOException {CloseableHttpClient httpClient = null;try {if (isHttps) {SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {// 信任所有public boolean isTrusted(X509Certificate[] chain,String authType)throws CertificateException {return true;}}).build();SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build();} else {httpClient = HttpClients.createDefault();}CloseableHttpResponse response = httpClient.execute(http);try {if (response != null) {if (response.getStatusLine() != null)statusCode = response.getStatusLine().getStatusCode();HttpEntity entity = response.getEntity();// 響應內容content = EntityUtils.toString(entity, Consts.UTF_8);}} finally {response.close();}} catch (Exception e) {e.printStackTrace();} finally {httpClient.close();}}public int getStatusCode() {return statusCode;}public String getContent() throws ParseException, IOException {return content;}}

HttpUtils

package com.leng.paymentdemo.util;import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.IOException;public class HttpUtils {/*** 將通知參數轉化為字符串* @param request* @return*/public static String readData(HttpServletRequest request) {BufferedReader br = null;try {StringBuilder result = new StringBuilder();br = request.getReader();for (String line; (line = br.readLine()) != null; ) {if (result.length() > 0) {result.append("\n");}result.append(line);}return result.toString();} catch (IOException e) {throw new RuntimeException(e);} finally {if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}}} }

OrderNoUtils

package com.leng.paymentdemo.util;import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random;/*** 訂單號工具類** @author qy* @since 1.0*/ public class OrderNoUtils {/*** 獲取訂單編號* @return*/public static String getOrderNo() {return "ORDER_" + getNo();}/*** 獲取退款單編號* @return*/public static String getRefundNo() {return "REFUND_" + getNo();}/*** 獲取編號* @return*/public static String getNo() {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");String newDate = sdf.format(new Date());String result = "";Random random = new Random();for (int i = 0; i < 3; i++) {result += random.nextInt(10);}return newDate + result;}}

使用

創建支付

官方接口文檔可以參考微信支付-開發者文檔 (qq.com)

新建一個WxPayController類,用來實現對下單,退款等操作

Native下單方法

/*** Native下單* @param productId* @return* @throws Exception*/ @ApiOperation("調用統一下單API,生成支付二維碼") @PostMapping("native/{productId}") public Result nativePay(@PathVariable Long productId) throws Exception {log.info("發起支付請求 v3.....................");//通過map接受返回的支付二維碼鏈接和訂單號Map<String, Object> map = wxPayService.nativePay(productId);return Result.ok().setData(map); }

service層

/*** 創建訂單,調用Native支付接口*/ Map<String, Object> nativePay(Long productId) throws Exception;

service實現層

/*** 創建訂單,調用Native支付接口*/ @Transactional(rollbackFor = Exception.class) @Override public Map<String, Object> nativePay(Long productId) throws Exception {log.info("生成訂單");//生成訂單并存入數據庫OrderInfo orderInfo = orderInfoService.createOrderByProductId(productId);String code_url = orderInfo.getCodeUrl();if (orderInfo != null && !StringUtils.isEmpty(code_url)) {log.info("訂單已存在,二維碼以保存");//創建返回值HashMap<String, Object> map = new HashMap<>();map.put("codeUrl", code_url);map.put("orderNo", orderInfo.getOrderNo());return map;}log.info("調用統一下單API");//調用統一下單APIHttpPost httpPost = new HttpPost(wxPayConfig.getDomain().concat(WxApiType.NATIVE_PAY.getType()));// 請求body參數Gson gson = new Gson();Map paramsMap = new HashMap<>();paramsMap.put("appid", wxPayConfig.getAppid());//應用IDparamsMap.put("mchid", wxPayConfig.getMchId());//直連商戶號paramsMap.put("description", orderInfo.getTitle());//商品描述paramsMap.put("out_trade_no", orderInfo.getOrderNo());//商戶訂單號paramsMap.put("notify_url", wxPayConfig.getNotifyDomain().concat(WxNotifyType.NATIVE_NOTIFY.getType()));//通知地址HashMap<String, Object> amountMap = new HashMap<>();amountMap.put("total", orderInfo.getTotalFee());amountMap.put("currency", "CNY");paramsMap.put("amount", amountMap);//將參數轉換成字符串形式String jsonParams = gson.toJson(paramsMap);log.info("請求參數" + jsonParams);StringEntity entity = new StringEntity(jsonParams,"utf-8");entity.setContentType("application/json");httpPost.setEntity(entity);httpPost.setHeader("Accept", "application/json");//完成簽名并執行請求CloseableHttpResponse response = wxPayClient.execute(httpPost);try {//響應體String bodyAsString = EntityUtils.toString(response.getEntity());//響應狀態碼int statusCode = response.getStatusLine().getStatusCode();//處理成功if (statusCode == 200) {log.info("成功,返回結果y = " + bodyAsString);//處理成功,無返回Body} else if (statusCode == 204) {log.info("成功");} else {log.error("Native下單失敗,響應碼 = " + statusCode + ",返回結果 = " + bodyAsString);throw new IOException("request failed");}//響應結果Map<String, String> resultMap = gson.fromJson(bodyAsString, HashMap.class);//二維碼code_url = resultMap.get("code_url");//保存二維碼String orderNo = orderInfo.getOrderNo();orderInfoService.saveCodeUrl(orderNo, code_url);//創建返回值:二維碼Map<String, Object> map = new HashMap<>();map.put("codeUrl", code_url);map.put("orderNo", orderInfo.getOrderNo());return map;} finally {//釋放資源response.close();} }

生成訂單并存入數據庫

servcie層

/*** 生成訂單并存入數據庫*/ OrderInfo createOrderByProductId(Long productId);

service實現層

/*** 生成訂單并存入數據庫*/ @Override public OrderInfo createOrderByProductId(Long productId) {//查詢已存在但是未支付的訂單OrderInfo orderInfo = this.getNoPayOrderByProductId(productId);if (orderInfo != null) {return orderInfo;}//獲取商品信息Product product = productMapper.selectById(productId);//生成訂單orderInfo = new OrderInfo();orderInfo.setTitle(product.getTitle());//訂單標題orderInfo.setOrderNo(OrderNoUtils.getOrderNo());//訂單號orderInfo.setProductId(productId);//支付產品idorderInfo.setTotalFee(product.getPrice());//商品金額,單位是分orderInfo.setOrderStatus(OrderStatus.NOTPAY.getType());//訂單狀態baseMapper.insert(orderInfo);return orderInfo; }

存儲訂單二維碼

servcie層

/*** 存儲訂單二維碼*/ void saveCodeUrl(String orderNo, String codeUrl);

servcie實現層

/*** 存儲訂單二維碼*/ @Override public void saveCodeUrl(String orderNo, String codeUrl) {QueryWrapper<OrderInfo> queryWrapper = new QueryWrapper<OrderInfo>();queryWrapper.eq("order_no", orderNo);OrderInfo orderInfo = new OrderInfo();orderInfo.setCodeUrl(codeUrl);baseMapper.update(orderInfo, queryWrapper); }

支付通知

官方接口文檔:微信支付-開發者文檔 (qq.com)

支付通知方法

/*** 支付通知* 微信支付通過支付通知接口將用戶支付成功消息通知給商戶*/ @PostMapping("/native/notify") public String nativeNotify(HttpServletRequest request, HttpServletResponse response) {Gson gson = new Gson();//應答對象HashMap<String, String> map = new HashMap<>();try {//處理通知參數String body = HttpUtils.readData(request);log.info("支付通知的參數 ===> {}", body);Map<String, Object> bodyMap = gson.fromJson(body, HashMap.class);String requestId = (String) bodyMap.get("id");log.info("支付通知的id ===> {}", requestId);//簽名的驗證WechatPay2ValidatorForRequest wechatPay2ValidatorForRequest = new WechatPay2ValidatorForRequest(verifier, requestId, body);if (!wechatPay2ValidatorForRequest.validate(request)) {log.error("驗簽失敗");//失敗應答response.setStatus(500);map.put("code", "ERROR");map.put("message", "驗簽失敗");return gson.toJson(map);}log.info("驗簽成功");//處理訂單wxPayService.processOrder(bodyMap);//應答超時//模擬接收微信端的重復通知//TimeUnit.SECONDS.sleep(5);//成功應答response.setStatus(200);map.put("code", "SUCCESS");map.put("message", "成功");return gson.toJson(map);} catch (Exception e) {e.printStackTrace();//失敗應答response.setStatus(500);map.put("code", "ERROR");map.put("message", "失敗");return gson.toJson(map);} }

處理訂單

service層

/*** 處理訂單*/ void processOrder(Map<String, Object> bodyMap) throws GeneralSecurityException;

service實現層

/*** 處理訂單*/ @Transactional(rollbackFor = Exception.class) @Override public void processOrder(Map<String, Object> bodyMap) throws GeneralSecurityException {log.info("處理訂單");//解密報文String plainText = decryptFromResource(bodyMap);//將明文轉換成mapGson gson = new Gson();HashMap hashMap = gson.fromJson(plainText, HashMap.class);String orderNo = (String) hashMap.get("out_trade_no");/*在對業務數據進行狀態檢查和處理之前,要采用數據鎖進行并發控制,以避免函數重入造成的數據混亂*///嘗試獲取鎖:// 成功獲取則立即返回true,獲取失敗則立即返回false。不必一直等待鎖的釋放if (lock.tryLock()) {try {//處理重復通知//保證接口調用的冪等性:無論接口被調用多少次,產生的結果是一致的String orderStatus = orderInfoService.getOrderStatus(orderNo);if (!OrderStatus.NOTPAY.getType().equals(orderStatus)) {return;}//更新訂單狀態orderInfoService.updateStatusByorderNo(orderNo, OrderStatus.SUCCESS);//記錄支付日志paymentInfoService.createPaymentInfo(plainText);} finally {//要主動釋放鎖lock.unlock();}} }

查詢訂單

官方接口文檔:微信支付-開發者文檔 (qq.com)

/*** 查詢訂單** @param orderNo* @return* @throws URISyntaxException* @throws IOException*/ @ApiOperation("查詢訂單:測試訂單狀態用") @GetMapping("query/{orderNo}") public Result queryOrder(@PathVariable String orderNo) throws Exception {log.info("查詢訂單");String result = wxPayService.queryOrder(orderNo);return Result.ok().setMessage("查詢成功").data("result", result); }

service層

/*** 查單接口調用*/ String queryOrder(String orderNo) throws Exception;

service實現層

/*** 根據訂單號查詢微信支付查單接口,核實訂單狀態* 如果訂單已支付,則更新商戶端訂單狀態,并記錄支付日志* 如果訂單未支付,則調用關單接口關閉訂單,并更新商戶端訂單狀態** @param orderNo*/ @Transactional(rollbackFor = Exception.class) @Override public void checkOrderStatus(String orderNo) throws Exception {log.warn("根據訂單號核實訂單狀態 ===> {}", orderNo);//調用微信支付查單接口String result = this.queryOrder(orderNo);Gson gson = new Gson();Map resultMap = gson.fromJson(result, HashMap.class);//獲取微信支付端的訂單狀態Object tradeState = resultMap.get("trade_state");//判斷訂單狀態if(WxTradeState.SUCCESS.getType().equals(tradeState)){log.warn("核實訂單已支付 ===> {}", orderNo);//如果確認訂單已支付則更新本地訂單狀態orderInfoService.updateStatusByorderNo(orderNo, OrderStatus.SUCCESS);//記錄支付日志paymentInfoService.createPaymentInfo(result);}if(WxTradeState.NOTPAY.getType().equals(tradeState)){log.warn("核實訂單未支付 ===> {}", orderNo);//如果訂單未支付,則調用關單接口this.closeOrder(orderNo);//更新本地訂單狀態orderInfoService.updateStatusByorderNo(orderNo, OrderStatus.CLOSED);} }

關單接口

/*** 關單接口的調用** @param orderNo*/ private void closeOrder(String orderNo) throws Exception {log.info("關單接口的調用,訂單號 ===> {}", orderNo);//創建遠程請求對象String url = String.format(WxApiType.CLOSE_ORDER_BY_NO.getType(), orderNo);url = wxPayConfig.getDomain().concat(url);HttpPost httpPost = new HttpPost(url);//組裝json請求體Gson gson = new Gson();Map<String, String> paramsMap = new HashMap<>();paramsMap.put("mchid", wxPayConfig.getMchId());String jsonParams = gson.toJson(paramsMap);log.info("請求參數 ===> {}", jsonParams);//將請求參數設置到請求對象中StringEntity entity = new StringEntity(jsonParams, "utf-8");entity.setContentType("application/json");httpPost.setEntity(entity);httpPost.setHeader("Accept", "application/json");//完成簽名并執行請求CloseableHttpResponse response = wxPayClient.execute(httpPost);try {int statusCode = response.getStatusLine().getStatusCode();//響應狀態碼if (statusCode == 200) { //處理成功log.info("成功200");} else if (statusCode == 204) { //處理成功,無返回Bodylog.info("成功204");} else {log.info("Native下單失敗,響應碼 = " + statusCode);throw new IOException("request failed");}} finally {response.close();} }

申請退款

/*** 申請退款*/@ApiOperation("申請退款")@PostMapping("/refunds/{orderNo}/{reason}")public Result refunds(@PathVariable String orderNo, @PathVariable String reason)throws Exception {log.info("申請退款");wxPayService.refund(orderNo, reason);return Result.ok();}

service層

/*** 退款*/ void refund(String orderNo, String reason) throws Exception;

service實現層

* 退款** @param orderNo* @param reason*/ @Transactional(rollbackFor = Exception.class) @Override public void refund(String orderNo, String reason) throws Exception {log.info("創建退款單記錄");//根據訂單編號創建退款單RefundInfo refundsInfo = refundsInfoService.createRefundByOrderNo(orderNo,reason);log.info("調用退款API");//調用統一下單APIString url =wxPayConfig.getDomain().concat(WxApiType.DOMESTIC_REFUNDS.getType());HttpPost httpPost = new HttpPost(url);// 請求body參數Gson gson = new Gson();Map paramsMap = new HashMap();paramsMap.put("out_trade_no", orderNo);//訂單編號paramsMap.put("out_refund_no", refundsInfo.getRefundNo());//退款單編號paramsMap.put("reason", reason);//退款原因paramsMap.put("notify_url",wxPayConfig.getNotifyDomain().concat(WxNotifyType.REFUND_NOTIFY.getType()));//退款通知地址Map amountMap = new HashMap();amountMap.put("refund", refundsInfo.getRefund());//退款金額amountMap.put("total", refundsInfo.getTotalFee());//原訂單金額amountMap.put("currency", "CNY");//退款幣種paramsMap.put("amount", amountMap);//將參數轉換成json字符串String jsonParams = gson.toJson(paramsMap);log.info("請求參數 ===> {}" + jsonParams);StringEntity entity = new StringEntity(jsonParams, "utf-8");entity.setContentType("application/json");//設置請求報文格式httpPost.setEntity(entity);//將請求報文放入請求對象httpPost.setHeader("Accept", "application/json");//設置響應報文格式//完成簽名并執行請求,并完成驗簽CloseableHttpResponse response = wxPayClient.execute(httpPost);try {//解析響應結果String bodyAsString = EntityUtils.toString(response.getEntity());int statusCode = response.getStatusLine().getStatusCode();if (statusCode == 200) {log.info("成功, 退款返回結果 = " + bodyAsString);} else if (statusCode == 204) {log.info("成功");} else {throw new RuntimeException("退款異常, 響應碼 = " + statusCode + ", 退款返回結果 = " + bodyAsString);}//更新訂單狀態orderInfoService.updateStatusByorderNo(orderNo,OrderStatus.REFUND_PROCESSING);//更新退款單refundsInfoService.updateRefund(bodyAsString);} finally {response.close();} }

創建退款訂單

service層

/*** 根據訂單號創建退款訂單*/ RefundInfo createRefundByOrderNo(String orderNo, String reason);

service實現層

/*** 根據訂單號創建退款訂單** @param orderNo* @param reason*/ @Override public RefundInfo createRefundByOrderNo(String orderNo, String reason) {//根據訂單號獲取訂單信息OrderInfo orderInfo = orderInfoService.getOrderByOrderNo(orderNo);//根據訂單號生成退款訂單RefundInfo refundInfo = new RefundInfo();refundInfo.setOrderNo(orderNo);//訂單編號refundInfo.setRefundNo(OrderNoUtils.getRefundNo());//退款單編號refundInfo.setTotalFee(orderInfo.getTotalFee());//原訂單金額(分)refundInfo.setRefund(orderInfo.getTotalFee());//退款金額(分)refundInfo.setReason(reason);//退款原因//保存退款訂單baseMapper.insert(refundInfo);return refundInfo; }

獲取訂單狀態

/*** 根據訂單號獲取訂單*/ OrderInfo getOrderByOrderNo(String orderNo); /*** 根據訂單號獲取訂單** @param orderNo*/ @Override public OrderInfo getOrderByOrderNo(String orderNo) {QueryWrapper<OrderInfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("order_no", orderNo);OrderInfo orderInfo = baseMapper.selectOne(queryWrapper);return orderInfo; }

根據退款單號核實退款單狀態

service層

/*** 根據退款單號核實退款單狀態*/ void checkRefundStatus(String refundNo) throws Exception;

service實現層

/*** 根據退款單號核實退款單狀態** @param refundNo*/ @Transactional(rollbackFor = Exception.class) @Override public void checkRefundStatus(String refundNo) throws Exception {log.warn("根據退款單號核實退款單狀態 ===> {}", refundNo);//調用查詢退款單接口String result = this.queryRefund(refundNo);//組裝json請求體字符串Gson gson = new Gson();Map<String, String> resultMap = gson.fromJson(result, HashMap.class);//獲取微信支付端退款狀態String status = resultMap.get("status");String orderNo = resultMap.get("out_trade_no");if (WxRefundStatus.SUCCESS.getType().equals(status)) {log.warn("核實訂單已退款成功 ===> {}", refundNo);//如果確認退款成功,則更新訂單狀態orderInfoService.updateStatusByorderNo(orderNo,OrderStatus.REFUND_SUCCESS);//更新退款單refundsInfoService.updateRefund(result);}if (WxRefundStatus.ABNORMAL.getType().equals(status)) {log.warn("核實訂單退款異常 ===> {}", refundNo);//如果確認退款成功,則更新訂單狀態orderInfoService.updateStatusByorderNo(orderNo,OrderStatus.REFUND_ABNORMAL);//更新退款單refundsInfoService.updateRefund(result);} }

更新退款狀態

service層

/*** 記錄退款記錄*/ void updateRefund(String content);

service實現層

/*** 記錄退款記錄** @param content*/ @Override public void updateRefund(String content) {//將json字符串轉換成MapGson gson = new Gson();Map<String, String> resultMap = gson.fromJson(content, HashMap.class);//根據退款單編號修改退款單QueryWrapper<RefundInfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("refund_no", resultMap.get("out_refund_no"));//設置要修改的字段RefundInfo refundInfo = new RefundInfo();refundInfo.setRefundId(resultMap.get("refund_id"));//微信支付退款單號//查詢退款和申請退款中的返回參數if(resultMap.get("status") != null){refundInfo.setRefundStatus(resultMap.get("status"));//退款狀態refundInfo.setContentReturn(content);//將全部響應結果存入數據庫的content字段}//退款回調中的回調參數if(resultMap.get("refund_status") != null){refundInfo.setRefundStatus(resultMap.get("refund_status"));//退款狀態refundInfo.setContentNotify(content);//將全部響應結果存入數據庫的content字段}//更新退款單baseMapper.update(refundInfo, queryWrapper); }

處理退款

service層

/*** 處理退款單*/ void processRefund(Map<String, Object> bodyMap) throws Exception;

service實現層

/*** 處理退款單** @param bodyMap*/ @Transactional(rollbackFor = Exception.class) @Override public void processRefund(Map<String, Object> bodyMap) throws Exception {log.info("退款單");//解密報文String plainText = decryptFromResource(bodyMap);//將明文轉換成mapGson gson = new Gson();HashMap plainTextMap = gson.fromJson(plainText, HashMap.class);String orderNo = (String) plainTextMap.get("out_trade_no");if (lock.tryLock()) {try {String orderStatus = orderInfoService.getOrderStatus(orderNo);if (!OrderStatus.REFUND_PROCESSING.getType().equals(orderStatus)) {return;}//更新訂單狀態orderInfoService.updateStatusByorderNo(orderNo,OrderStatus.REFUND_SUCCESS);//更新退款單refundsInfoService.updateRefund(plainText);} finally {//要主動釋放鎖lock.unlock();}} }

源碼

GitHub

Gitee

總結

以上是生活随笔為你收集整理的Java后端对接微信支付(微信公众号、PC端扫码)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

男人扒开女人内裤强吻桶进去 | 午夜嘿嘿嘿影院 | 少妇邻居内射在线 | 爽爽影院免费观看 | 欧美人与物videos另类 | 国产激情综合五月久久 | 亚洲va中文字幕无码久久不卡 | 日本xxxx色视频在线观看免费 | 日日天日日夜日日摸 | 欧美性猛交内射兽交老熟妇 | 我要看www免费看插插视频 | 久久这里只有精品视频9 | 成人av无码一区二区三区 | 精品无码国产自产拍在线观看蜜 | 伊人色综合久久天天小片 | 久久精品国产日本波多野结衣 | 黑人玩弄人妻中文在线 | 波多野结衣av一区二区全免费观看 | 女人色极品影院 | 女人色极品影院 | 国产亚洲日韩欧美另类第八页 | 久久精品女人的天堂av | 久久亚洲精品成人无码 | 亚洲а∨天堂久久精品2021 | 久精品国产欧美亚洲色aⅴ大片 | 蜜桃无码一区二区三区 | 亚洲s码欧洲m码国产av | 日日躁夜夜躁狠狠躁 | 亚洲天堂2017无码中文 | 久久久久久a亚洲欧洲av冫 | 乱人伦中文视频在线观看 | 人人妻人人澡人人爽欧美精品 | 国产精品人妻一区二区三区四 | 捆绑白丝粉色jk震动捧喷白浆 | 欧美猛少妇色xxxxx | 国产亚洲精品久久久久久国模美 | 中文精品无码中文字幕无码专区 | 免费国产成人高清在线观看网站 | 男女性色大片免费网站 | 扒开双腿疯狂进出爽爽爽视频 | 午夜理论片yy44880影院 | 精品国产成人一区二区三区 | 亚洲日本va午夜在线电影 | 亚洲中文字幕va福利 | 色偷偷人人澡人人爽人人模 | 丰满少妇熟乱xxxxx视频 | 一本加勒比波多野结衣 | 亚洲一区二区三区偷拍女厕 | 亚洲精品国产品国语在线观看 | 女人被男人躁得好爽免费视频 | 免费无码肉片在线观看 | 久9re热视频这里只有精品 | 成人免费视频在线观看 | 亚洲 激情 小说 另类 欧美 | 老太婆性杂交欧美肥老太 | 亚洲精品国产第一综合99久久 | 国产激情精品一区二区三区 | 精品国产一区二区三区av 性色 | 久激情内射婷内射蜜桃人妖 | 国产精品久久久久9999小说 | 国产精品亚洲综合色区韩国 | 久久精品国产99久久6动漫 | 日本大香伊一区二区三区 | 88国产精品欧美一区二区三区 | 国产人妻大战黑人第1集 | 亚洲中文字幕无码中字 | 亚洲国产精品一区二区美利坚 | 亚洲精品一区三区三区在线观看 | 国产精品亚洲五月天高清 | 亚洲人成网站色7799 | 98国产精品综合一区二区三区 | 清纯唯美经典一区二区 | 无码国产激情在线观看 | 久久精品一区二区三区四区 | 亚洲午夜无码久久 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美大屁股xxxxhd黑色 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产精品久久久久久久影院 | 狠狠色色综合网站 | 久久精品一区二区三区四区 | 国产精品无套呻吟在线 | 亚洲日韩精品欧美一区二区 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美日本日韩 | 国产国产精品人在线视 | 无遮挡啪啪摇乳动态图 | 性欧美牲交在线视频 | 日本护士xxxxhd少妇 | 青草视频在线播放 | 任你躁国产自任一区二区三区 | 大地资源网第二页免费观看 | 国产偷国产偷精品高清尤物 | 亚洲色大成网站www国产 | 久久国内精品自在自线 | 国产情侣作爱视频免费观看 | 欧美35页视频在线观看 | 久久精品中文闷骚内射 | 成人精品视频一区二区 | 欧美三级不卡在线观看 | 色婷婷久久一区二区三区麻豆 | 熟女体下毛毛黑森林 | 国产网红无码精品视频 | 精品无人区无码乱码毛片国产 | 人妻夜夜爽天天爽三区 | 97se亚洲精品一区 | 人妻少妇精品视频专区 | 久久无码中文字幕免费影院蜜桃 | 亚洲人成人无码网www国产 | 丝袜足控一区二区三区 | 日本护士xxxxhd少妇 | 俄罗斯老熟妇色xxxx | 国产成人无码av一区二区 | 国产精品久免费的黄网站 | 国产精品久久久久9999小说 | 奇米影视7777久久精品 | 全黄性性激高免费视频 | 亚洲 另类 在线 欧美 制服 | 欧美精品一区二区精品久久 | 亚洲国产午夜精品理论片 | 国产性生交xxxxx无码 | 色老头在线一区二区三区 | 黑人粗大猛烈进出高潮视频 | 精品午夜福利在线观看 | 中文字幕无码免费久久9一区9 | 少妇性俱乐部纵欲狂欢电影 | 亚洲成av人片在线观看无码不卡 | 人人妻人人澡人人爽人人精品浪潮 | 人人爽人人澡人人人妻 | 国产两女互慰高潮视频在线观看 | 老司机亚洲精品影院无码 | 久久久久免费看成人影片 | 亚洲小说图区综合在线 | 国产小呦泬泬99精品 | 成年美女黄网站色大免费视频 | 婷婷五月综合缴情在线视频 | 熟妇女人妻丰满少妇中文字幕 | 在线精品国产一区二区三区 | 精品久久久久久人妻无码中文字幕 | 国产激情艳情在线看视频 | 国精产品一区二区三区 | 蜜臀av在线播放 久久综合激激的五月天 | 国产午夜亚洲精品不卡 | 国产精品.xx视频.xxtv | 国产亚洲精品久久久久久久久动漫 | 国产精品无码永久免费888 | 亚洲综合在线一区二区三区 | 国产亚洲日韩欧美另类第八页 | 精品人妻人人做人人爽夜夜爽 | 人人超人人超碰超国产 | 老太婆性杂交欧美肥老太 | 欧美日韩亚洲国产精品 | 无码帝国www无码专区色综合 | 无码国产乱人伦偷精品视频 | 青青草原综合久久大伊人精品 | 欧美日韩色另类综合 | 激情国产av做激情国产爱 | 又大又硬又爽免费视频 | 日韩精品无码一区二区中文字幕 | 亚洲国产精品毛片av不卡在线 | 亚洲成av人片天堂网无码】 | 亚洲精品久久久久久久久久久 | 荫蒂添的好舒服视频囗交 | 久久99久久99精品中文字幕 | 久久精品国产一区二区三区肥胖 | 最近的中文字幕在线看视频 | 日本爽爽爽爽爽爽在线观看免 | 漂亮人妻洗澡被公强 日日躁 | 亚洲区小说区激情区图片区 | 国产成人综合色在线观看网站 | 欧美真人作爱免费视频 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲精品成人av在线 | 国产成人无码av一区二区 | 久久久久久久女国产乱让韩 | 欧美日韩精品 | 久久zyz资源站无码中文动漫 | 九九久久精品国产免费看小说 | 久久国产精品精品国产色婷婷 | 乱人伦人妻中文字幕无码 | 高潮毛片无遮挡高清免费视频 | 日韩精品无码免费一区二区三区 | 国精产品一品二品国精品69xx | 老司机亚洲精品影院无码 | 日韩人妻无码中文字幕视频 | 精品欧洲av无码一区二区三区 | 国产精品福利视频导航 | 欧美丰满熟妇xxxx | 中文字幕人成乱码熟女app | 午夜精品一区二区三区的区别 | 天天综合网天天综合色 | 国内丰满熟女出轨videos | 欧美日韩视频无码一区二区三 | 亚洲 高清 成人 动漫 | 亚洲色欲色欲欲www在线 | 亚洲成a人片在线观看无码3d | 精品无码av一区二区三区 | 少妇的肉体aa片免费 | 久久午夜无码鲁丝片秋霞 | 无码中文字幕色专区 | 日本精品高清一区二区 | 国产69精品久久久久app下载 | 欧美第一黄网免费网站 | 一个人看的www免费视频在线观看 | 无码人妻精品一区二区三区下载 | 久久久中文久久久无码 | 欧美成人午夜精品久久久 | 国产区女主播在线观看 | 最新国产乱人伦偷精品免费网站 | 国产成人无码一二三区视频 | 狠狠色丁香久久婷婷综合五月 | 欧美人妻一区二区三区 | 亚洲狠狠色丁香婷婷综合 | 少妇性荡欲午夜性开放视频剧场 | 麻豆人妻少妇精品无码专区 | 少妇无码av无码专区在线观看 | 人妻体内射精一区二区三四 | 久久国内精品自在自线 | 野狼第一精品社区 | а√资源新版在线天堂 | 国产午夜福利100集发布 | 麻豆av传媒蜜桃天美传媒 | 色偷偷人人澡人人爽人人模 | 99精品久久毛片a片 | 精品国产精品久久一区免费式 | 又大又硬又黄的免费视频 | 久久综合色之久久综合 | 久久国产精品萌白酱免费 | 国产成人无码av片在线观看不卡 | 国内精品人妻无码久久久影院蜜桃 | 国精产品一品二品国精品69xx | 亚洲の无码国产の无码影院 | 亚洲爆乳精品无码一区二区三区 | 久久97精品久久久久久久不卡 | 久久久中文字幕日本无吗 | 精品国产精品久久一区免费式 | 欧美老熟妇乱xxxxx | 国内精品九九久久久精品 | 97资源共享在线视频 | 亚洲一区二区三区四区 | 色欲av亚洲一区无码少妇 | 人妻少妇被猛烈进入中文字幕 | 亚洲熟熟妇xxxx | 国产小呦泬泬99精品 | 露脸叫床粗话东北少妇 | 日日碰狠狠躁久久躁蜜桃 | 午夜福利不卡在线视频 | 亚洲日韩精品欧美一区二区 | 免费无码av一区二区 | 亚洲日本va中文字幕 | 亚洲成av人片在线观看无码不卡 | 亚洲精品鲁一鲁一区二区三区 | 久热国产vs视频在线观看 | 亚洲精品国产第一综合99久久 | 无码人妻久久一区二区三区不卡 | 亚洲欧洲日本无在线码 | 窝窝午夜理论片影院 | 久久综合久久自在自线精品自 | 婷婷六月久久综合丁香 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲精品一区二区三区在线 | 日本高清一区免费中文视频 | 亚洲欧美色中文字幕在线 | 女人被男人躁得好爽免费视频 | 天天拍夜夜添久久精品 | 又色又爽又黄的美女裸体网站 | 蜜桃臀无码内射一区二区三区 | 亚洲の无码国产の无码影院 | 久久久精品欧美一区二区免费 | 亚洲成a人片在线观看无码3d | 国产乱码精品一品二品 | 国产99久久精品一区二区 | 亚洲精品久久久久中文第一幕 | 粗大的内捧猛烈进出视频 | 免费播放一区二区三区 | 亚洲日本一区二区三区在线 | 亚洲男人av天堂午夜在 | 国产精品99久久精品爆乳 | 亚洲大尺度无码无码专区 | 人妻中文无码久热丝袜 | 国产精品久久久久影院嫩草 | 无码人妻av免费一区二区三区 | 香蕉久久久久久av成人 | 亚洲精品一区二区三区婷婷月 | 乱中年女人伦av三区 | 国内精品九九久久久精品 | 国产色视频一区二区三区 | 精品无码国产一区二区三区av | 无码人妻少妇伦在线电影 | 中文字幕 亚洲精品 第1页 | 久热国产vs视频在线观看 | 丰满妇女强制高潮18xxxx | 日韩av激情在线观看 | 亚洲一区二区三区在线观看网站 | 国产黄在线观看免费观看不卡 | 乱人伦人妻中文字幕无码久久网 | 国产成人av免费观看 | 婷婷五月综合缴情在线视频 | 久久久久国色av免费观看性色 | 人妻有码中文字幕在线 | 亚洲精品国产第一综合99久久 | 国产熟女一区二区三区四区五区 | 国产精品内射视频免费 | 国产乱人偷精品人妻a片 | 亚洲а∨天堂久久精品2021 | 国产色xx群视频射精 | 在线播放免费人成毛片乱码 | 久久熟妇人妻午夜寂寞影院 | 国产手机在线αⅴ片无码观看 | 亚洲男人av香蕉爽爽爽爽 | 高清无码午夜福利视频 | 少妇愉情理伦片bd | 男女下面进入的视频免费午夜 | 日日橹狠狠爱欧美视频 | 亚洲理论电影在线观看 | 久久熟妇人妻午夜寂寞影院 | 欧美老妇交乱视频在线观看 | 欧洲欧美人成视频在线 | 福利一区二区三区视频在线观看 | 97夜夜澡人人爽人人喊中国片 | 亚洲一区二区三区无码久久 | 无码国产色欲xxxxx视频 | 狠狠色丁香久久婷婷综合五月 | √天堂资源地址中文在线 | 无码人妻少妇伦在线电影 | 77777熟女视频在线观看 а天堂中文在线官网 | 性做久久久久久久久 | 一本久道高清无码视频 | 国产高潮视频在线观看 | 日韩欧美成人免费观看 | 日本一区二区更新不卡 | 久久99久久99精品中文字幕 | 又粗又大又硬又长又爽 | 97精品人妻一区二区三区香蕉 | 熟女俱乐部五十路六十路av | 日日干夜夜干 | 乱码av麻豆丝袜熟女系列 | 精品一区二区三区波多野结衣 | 国产成人精品久久亚洲高清不卡 | 亚洲色www成人永久网址 | 国产美女极度色诱视频www | 丰满人妻精品国产99aⅴ | 精品国产麻豆免费人成网站 | 亚洲狠狠婷婷综合久久 | 色偷偷人人澡人人爽人人模 | 欧美日韩一区二区综合 | 两性色午夜免费视频 | 精品国产aⅴ无码一区二区 | 日本大乳高潮视频在线观看 | 无码中文字幕色专区 | 亚洲 a v无 码免 费 成 人 a v | 一本大道伊人av久久综合 | 99国产精品白浆在线观看免费 | 国产成人无码区免费内射一片色欲 | 初尝人妻少妇中文字幕 | 丰满少妇熟乱xxxxx视频 | 日韩精品乱码av一区二区 | 日本xxxx色视频在线观看免费 | 久久伊人色av天堂九九小黄鸭 | 亚洲天堂2017无码中文 | 欧美刺激性大交 | 无码午夜成人1000部免费视频 | 超碰97人人做人人爱少妇 | 最近中文2019字幕第二页 | 国产成人无码av一区二区 | 领导边摸边吃奶边做爽在线观看 | 久久99精品久久久久久动态图 | 精品国偷自产在线视频 | 国产亚洲精品久久久久久久久动漫 | 99视频精品全部免费免费观看 | 少妇久久久久久人妻无码 | 亚洲s色大片在线观看 | 日本熟妇人妻xxxxx人hd | 欧美xxxx黑人又粗又长 | 人妻少妇精品久久 | 国产精品久久久一区二区三区 | 亚洲天堂2017无码中文 | 亚洲中文字幕av在天堂 | 四虎国产精品免费久久 | 国产精品人人妻人人爽 | 精品乱子伦一区二区三区 | 久久午夜无码鲁丝片秋霞 | 亚洲色大成网站www | 亚洲春色在线视频 | 成人精品视频一区二区三区尤物 | 欧美日韩在线亚洲综合国产人 | 午夜理论片yy44880影院 | 最近中文2019字幕第二页 | 国产精品久久久久无码av色戒 | 俺去俺来也www色官网 | 伊人久久大香线焦av综合影院 | 中文字幕精品av一区二区五区 | 国产精品99久久精品爆乳 | 精品日本一区二区三区在线观看 | 日韩人妻无码一区二区三区久久99 | 鲁大师影院在线观看 | 伊在人天堂亚洲香蕉精品区 | 日本一卡二卡不卡视频查询 | 亚洲色无码一区二区三区 | 天天躁日日躁狠狠躁免费麻豆 | 丁香花在线影院观看在线播放 | 精品久久久无码人妻字幂 | 动漫av一区二区在线观看 | 亚洲成熟女人毛毛耸耸多 | 国产美女精品一区二区三区 | 久久精品视频在线看15 | 5858s亚洲色大成网站www | 精品国产一区二区三区四区 | 亚洲中文字幕在线无码一区二区 | 男人扒开女人内裤强吻桶进去 | 日韩视频 中文字幕 视频一区 | 女人被爽到呻吟gif动态图视看 | 夫妻免费无码v看片 | 欧美人与牲动交xxxx | 国内精品久久久久久中文字幕 | 熟女少妇人妻中文字幕 | 精品人妻人人做人人爽夜夜爽 | 7777奇米四色成人眼影 | 国产尤物精品视频 | 欧美国产日韩久久mv | 亚洲国产av美女网站 | 强辱丰满人妻hd中文字幕 | 97精品国产97久久久久久免费 | 日日橹狠狠爱欧美视频 | 色 综合 欧美 亚洲 国产 | 人妻互换免费中文字幕 | 国产精品美女久久久久av爽李琼 | 图片区 小说区 区 亚洲五月 | 中国女人内谢69xxxx | 乌克兰少妇性做爰 | 久久久久久久女国产乱让韩 | 欧美人与物videos另类 | 丰满少妇弄高潮了www | 扒开双腿疯狂进出爽爽爽视频 | 精品无人国产偷自产在线 | 兔费看少妇性l交大片免费 | 日韩精品无码一区二区中文字幕 | 国产免费无码一区二区视频 | 国产av久久久久精东av | 中文字幕久久久久人妻 | 亚洲人交乣女bbw | 一本大道久久东京热无码av | 精品日本一区二区三区在线观看 | 东京热一精品无码av | 日韩精品成人一区二区三区 | 欧美老妇交乱视频在线观看 | 天天做天天爱天天爽综合网 | 无码人妻黑人中文字幕 | 久久综合久久自在自线精品自 | 亚洲 日韩 欧美 成人 在线观看 | 久久精品国产精品国产精品污 | 人人妻人人澡人人爽欧美一区九九 | 欧美野外疯狂做受xxxx高潮 | 天天躁夜夜躁狠狠是什么心态 | 国产美女精品一区二区三区 | 午夜精品久久久久久久久 | 欧美日本日韩 | 欧美人妻一区二区三区 | 鲁鲁鲁爽爽爽在线视频观看 | 午夜无码区在线观看 | а天堂中文在线官网 | 2019午夜福利不卡片在线 | 人妻有码中文字幕在线 | 麻豆国产丝袜白领秘书在线观看 | 亚洲国产精品美女久久久久 | 国产精品亚洲一区二区三区喷水 | 亚洲色欲久久久综合网东京热 | 丰满岳乱妇在线观看中字无码 | 久青草影院在线观看国产 | 午夜福利电影 | 欧美国产亚洲日韩在线二区 | 亚洲伊人久久精品影院 | 亚洲成a人一区二区三区 | 精品aⅴ一区二区三区 | 日本大香伊一区二区三区 | 国产精品久久久久久久9999 | 久久久国产一区二区三区 | 少妇性俱乐部纵欲狂欢电影 | 国产精品无码久久av | 亚洲精品www久久久 | 精品人妻人人做人人爽夜夜爽 | 国产成人综合在线女婷五月99播放 | 娇妻被黑人粗大高潮白浆 | 久久久婷婷五月亚洲97号色 | 国内丰满熟女出轨videos | 男人的天堂2018无码 | 97夜夜澡人人爽人人喊中国片 | 国产情侣作爱视频免费观看 | 麻豆md0077饥渴少妇 | 人人妻人人澡人人爽人人精品 | 领导边摸边吃奶边做爽在线观看 | 鲁大师影院在线观看 | 特级做a爰片毛片免费69 | 国产网红无码精品视频 | 色妞www精品免费视频 | 少妇性荡欲午夜性开放视频剧场 | 少妇无码av无码专区在线观看 | 强奷人妻日本中文字幕 | 亚洲精品一区二区三区大桥未久 | 十八禁真人啪啪免费网站 | 中文字幕乱码人妻无码久久 | 狠狠色丁香久久婷婷综合五月 | 少妇的肉体aa片免费 | 性生交大片免费看女人按摩摩 | av人摸人人人澡人人超碰下载 | 日韩av激情在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 久久久久久国产精品无码下载 | 亚洲经典千人经典日产 | 少妇愉情理伦片bd | 99精品无人区乱码1区2区3区 | 色婷婷欧美在线播放内射 | 美女扒开屁股让男人桶 | 国产香蕉尹人视频在线 | 国内精品人妻无码久久久影院蜜桃 | 亚洲精品美女久久久久久久 | 日日天干夜夜狠狠爱 | 老熟女重囗味hdxx69 | 中文字幕无码免费久久9一区9 | 精品一区二区不卡无码av | 亚洲精品一区国产 | 美女扒开屁股让男人桶 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产在热线精品视频 | 亚洲欧洲中文日韩av乱码 | 久久精品丝袜高跟鞋 | 久久成人a毛片免费观看网站 | 中文字幕中文有码在线 | 狠狠色噜噜狠狠狠7777奇米 | 丰满人妻一区二区三区免费视频 | 熟妇人妻无乱码中文字幕 | 午夜时刻免费入口 | 久久人人爽人人爽人人片av高清 | 日本在线高清不卡免费播放 | 国产精品亚洲а∨无码播放麻豆 | 国产午夜视频在线观看 | 色 综合 欧美 亚洲 国产 | 国产午夜福利亚洲第一 | 一本久久伊人热热精品中文字幕 | 亚洲乱码国产乱码精品精 | 国产特级毛片aaaaaa高潮流水 | 少妇的肉体aa片免费 | 55夜色66夜色国产精品视频 | 午夜福利电影 | 色综合视频一区二区三区 | 久久精品国产一区二区三区肥胖 | 成人免费视频在线观看 | 久热国产vs视频在线观看 | 婷婷综合久久中文字幕蜜桃三电影 | 久久人人爽人人爽人人片ⅴ | 国产精品国产三级国产专播 | 丰满护士巨好爽好大乳 | 男人扒开女人内裤强吻桶进去 | 97久久国产亚洲精品超碰热 | 熟女俱乐部五十路六十路av | 亚洲 日韩 欧美 成人 在线观看 | 欧美午夜特黄aaaaaa片 | 呦交小u女精品视频 | 亚洲国产高清在线观看视频 | 中文字幕精品av一区二区五区 | 最新国产乱人伦偷精品免费网站 | 伊人久久大香线蕉午夜 | 午夜福利一区二区三区在线观看 | а√资源新版在线天堂 | 99久久无码一区人妻 | 欧美 日韩 人妻 高清 中文 | 午夜无码人妻av大片色欲 | 真人与拘做受免费视频一 | ass日本丰满熟妇pics | 亚洲一区二区三区在线观看网站 | 久久国产36精品色熟妇 | 色噜噜亚洲男人的天堂 | 人妻与老人中文字幕 | 国产精品人人爽人人做我的可爱 | 久久综合久久自在自线精品自 | 国产午夜无码视频在线观看 | 欧美成人高清在线播放 | 中文字幕无码免费久久99 | 亚洲七七久久桃花影院 | 18禁黄网站男男禁片免费观看 | 2020最新国产自产精品 | 性做久久久久久久免费看 | 亚洲成av人片在线观看无码不卡 | 精品厕所偷拍各类美女tp嘘嘘 | 两性色午夜视频免费播放 | 亚洲自偷自偷在线制服 | 国产乱人偷精品人妻a片 | 色婷婷综合中文久久一本 | 久久久婷婷五月亚洲97号色 | 国产人妻人伦精品1国产丝袜 | 欧美阿v高清资源不卡在线播放 | 人妻无码αv中文字幕久久琪琪布 | 亚洲区小说区激情区图片区 | 国产精品国产三级国产专播 | 1000部啪啪未满十八勿入下载 | 人人妻人人澡人人爽欧美一区 | 日韩精品久久久肉伦网站 | 国产sm调教视频在线观看 | 久久久国产精品无码免费专区 | 97精品人妻一区二区三区香蕉 | 色婷婷香蕉在线一区二区 | www国产亚洲精品久久久日本 | 日韩av无码中文无码电影 | 日本成熟视频免费视频 | 亚洲欧美精品伊人久久 | 国产精品无码久久av | 高中生自慰www网站 | 一本久久a久久精品vr综合 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美精品免费观看二区 | 国产精品怡红院永久免费 | 久久精品国产一区二区三区肥胖 | www国产亚洲精品久久网站 | 蜜桃无码一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 国产超碰人人爽人人做人人添 | 大胆欧美熟妇xx | 精品国产乱码久久久久乱码 | 波多野结衣av一区二区全免费观看 | 亚洲日本在线电影 | 欧美兽交xxxx×视频 | 亚洲国产高清在线观看视频 | 精品国产乱码久久久久乱码 | 中文字幕无线码免费人妻 | 曰韩少妇内射免费播放 | 国产高清av在线播放 | 未满成年国产在线观看 | 亚洲一区二区观看播放 | 国产三级久久久精品麻豆三级 | 精品亚洲成av人在线观看 | 欧洲欧美人成视频在线 | 久久99精品国产麻豆蜜芽 | 国产精品自产拍在线观看 | 成人性做爰aaa片免费看 | 一本久久伊人热热精品中文字幕 | 午夜福利试看120秒体验区 | 蜜臀av无码人妻精品 | 欧洲vodafone精品性 | 中文字幕av伊人av无码av | 老太婆性杂交欧美肥老太 | 又大又黄又粗又爽的免费视频 | 国产精品香蕉在线观看 | 丰满岳乱妇在线观看中字无码 | 国产一区二区三区四区五区加勒比 | 国产成人一区二区三区别 | 久久久久久久女国产乱让韩 | 国产精品福利视频导航 | 国产精品第一国产精品 | 小鲜肉自慰网站xnxx | 亚洲春色在线视频 | 欧美35页视频在线观看 | 久热国产vs视频在线观看 | 欧美高清在线精品一区 | 国产亚洲精品久久久久久国模美 | 精品一区二区三区波多野结衣 | 特黄特色大片免费播放器图片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 欧美午夜特黄aaaaaa片 | 精品无码av一区二区三区 | 日日摸日日碰夜夜爽av | 国产三级久久久精品麻豆三级 | 欧美精品免费观看二区 | 成人精品视频一区二区 | 无码人妻av免费一区二区三区 | 熟妇人妻激情偷爽文 | 亚欧洲精品在线视频免费观看 | 偷窥日本少妇撒尿chinese | 欧美兽交xxxx×视频 | 人人澡人人透人人爽 | 国产精品久久久久无码av色戒 | 亚洲国产欧美在线成人 | 白嫩日本少妇做爰 | 欧美人与禽zoz0性伦交 | 荫蒂被男人添的好舒服爽免费视频 | 久久熟妇人妻午夜寂寞影院 | 国产97色在线 | 免 | 98国产精品综合一区二区三区 | 亚洲欧洲无卡二区视頻 | 国产亚洲精品久久久久久国模美 | 少妇高潮一区二区三区99 | 任你躁在线精品免费 | 小sao货水好多真紧h无码视频 | 国产成人av免费观看 | 婷婷六月久久综合丁香 | 久久综合香蕉国产蜜臀av | 中文字幕无码热在线视频 | 无码午夜成人1000部免费视频 | 国产精品高潮呻吟av久久4虎 | 帮老师解开蕾丝奶罩吸乳网站 | 丰满妇女强制高潮18xxxx | 国产午夜视频在线观看 | 国产色视频一区二区三区 | 亚洲高清偷拍一区二区三区 | 少妇高潮喷潮久久久影院 | 亚洲 另类 在线 欧美 制服 | 一本大道伊人av久久综合 | 亚洲人亚洲人成电影网站色 | 又大又紧又粉嫩18p少妇 | 99久久婷婷国产综合精品青草免费 | 白嫩日本少妇做爰 | 日韩亚洲欧美精品综合 | 日韩精品久久久肉伦网站 | 亚洲色www成人永久网址 | 久久国产精品精品国产色婷婷 | 亚洲性无码av中文字幕 | 粗大的内捧猛烈进出视频 | 欧美熟妇另类久久久久久不卡 | 粉嫩少妇内射浓精videos | 国产亚洲精品久久久ai换 | 无码国模国产在线观看 | 麻花豆传媒剧国产免费mv在线 | av无码久久久久不卡免费网站 | 国产激情无码一区二区app | 亚洲精品一区二区三区婷婷月 | 成人无码视频在线观看网站 | 网友自拍区视频精品 | 激情人妻另类人妻伦 | 色综合久久中文娱乐网 | 国产极品美女高潮无套在线观看 | 久久久久久av无码免费看大片 | 小sao货水好多真紧h无码视频 | 久久99久久99精品中文字幕 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 最近的中文字幕在线看视频 | 欧美刺激性大交 | 精品国产一区av天美传媒 | 国产av久久久久精东av | 亚洲 另类 在线 欧美 制服 | 蜜桃视频韩日免费播放 | 国产精品永久免费视频 | 欧美精品一区二区精品久久 | 人妻人人添人妻人人爱 | 国产亚av手机在线观看 | 日本又色又爽又黄的a片18禁 | 免费播放一区二区三区 | 人妻插b视频一区二区三区 | 四虎国产精品一区二区 | 亚洲中文字幕无码一久久区 | 中文字幕乱码人妻二区三区 | 丰满少妇人妻久久久久久 | 又粗又大又硬毛片免费看 | 成人精品视频一区二区 | 99久久99久久免费精品蜜桃 | 一本大道伊人av久久综合 | 精品偷自拍另类在线观看 | 欧美xxxxx精品 | 亚洲中文字幕在线无码一区二区 | 亚洲午夜无码久久 | 无遮无挡爽爽免费视频 | 高清国产亚洲精品自在久久 | 国产亚洲精品久久久闺蜜 | 在教室伦流澡到高潮hnp视频 | 国产女主播喷水视频在线观看 | 无码人中文字幕 | 无码帝国www无码专区色综合 | 伊在人天堂亚洲香蕉精品区 | 日韩人妻系列无码专区 | 国产亚洲精品久久久ai换 | 欧美亚洲国产一区二区三区 | 国产绳艺sm调教室论坛 | 少妇一晚三次一区二区三区 | 日本护士毛茸茸高潮 | 欧美黑人性暴力猛交喷水 | 美女黄网站人色视频免费国产 | 东京无码熟妇人妻av在线网址 | 东京热一精品无码av | 国产欧美精品一区二区三区 | 日韩精品成人一区二区三区 | 国产精品a成v人在线播放 | 国产人妻精品一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 天天综合网天天综合色 | 少妇太爽了在线观看 | 三级4级全黄60分钟 | 永久免费观看美女裸体的网站 | 成人欧美一区二区三区黑人免费 | 又色又爽又黄的美女裸体网站 | 少妇厨房愉情理9仑片视频 | 少妇无套内谢久久久久 | 亚洲色无码一区二区三区 | 午夜时刻免费入口 | 夜精品a片一区二区三区无码白浆 | 中文字幕人妻无码一夲道 | 无码精品国产va在线观看dvd | 色 综合 欧美 亚洲 国产 | 国产特级毛片aaaaaa高潮流水 | 人妻互换免费中文字幕 | 成人精品一区二区三区中文字幕 | 国产综合在线观看 | 欧美老妇与禽交 | 欧美老妇交乱视频在线观看 | 熟妇人妻无乱码中文字幕 | 国产激情一区二区三区 | 波多野结衣乳巨码无在线观看 | 狠狠综合久久久久综合网 | 西西人体www44rt大胆高清 | 国产真实乱对白精彩久久 | 中文字幕乱码人妻无码久久 | 极品嫩模高潮叫床 | 欧美日韩一区二区三区自拍 | 午夜性刺激在线视频免费 | 国产精品久久久久久亚洲影视内衣 | 国产真实乱对白精彩久久 | 亚洲成色在线综合网站 | 全黄性性激高免费视频 | 成人一区二区免费视频 | 国产成人一区二区三区别 | 亚洲爆乳大丰满无码专区 | 熟女少妇在线视频播放 | 乱人伦人妻中文字幕无码 | 丝袜足控一区二区三区 | 国产成人无码av片在线观看不卡 | 人妻少妇精品无码专区二区 | 女人被爽到呻吟gif动态图视看 | 97久久精品无码一区二区 | 亚洲伊人久久精品影院 | 欧美freesex黑人又粗又大 | 波多野结衣 黑人 | 亚洲国产av美女网站 | 精品亚洲成av人在线观看 | 国产又爽又猛又粗的视频a片 | 亚洲欧美国产精品久久 | 鲁鲁鲁爽爽爽在线视频观看 | 人人澡人摸人人添 | 国产激情艳情在线看视频 | 日本在线高清不卡免费播放 | 激情内射日本一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产一区二区三区四区五区加勒比 | 四虎影视成人永久免费观看视频 | 国产熟女一区二区三区四区五区 | 亚洲熟妇色xxxxx欧美老妇y | 精品人妻中文字幕有码在线 | 黑人大群体交免费视频 | 久久天天躁狠狠躁夜夜免费观看 | 国产猛烈高潮尖叫视频免费 | 综合激情五月综合激情五月激情1 | 欧美国产日产一区二区 | 成人无码影片精品久久久 | 国产亚av手机在线观看 | 欧美刺激性大交 | 国产人成高清在线视频99最全资源 | 亚洲精品国偷拍自产在线观看蜜桃 | 人人爽人人澡人人高潮 | 又色又爽又黄的美女裸体网站 | 人人爽人人澡人人人妻 | 国产精品毛多多水多 | 国产又粗又硬又大爽黄老大爷视 | 人妻天天爽夜夜爽一区二区 | 亚洲国产高清在线观看视频 | 久久精品国产一区二区三区肥胖 | 久久精品国产精品国产精品污 | 99麻豆久久久国产精品免费 | aa片在线观看视频在线播放 | 波多野结衣aⅴ在线 | 欧美日本精品一区二区三区 | 美女毛片一区二区三区四区 | 国内精品人妻无码久久久影院 | 成 人 免费观看网站 | 亚洲男女内射在线播放 | 国产亚洲精品精品国产亚洲综合 | 日本爽爽爽爽爽爽在线观看免 | 日本成熟视频免费视频 | 国产成人无码一二三区视频 | 欧美阿v高清资源不卡在线播放 | 色综合久久久久综合一本到桃花网 | а√资源新版在线天堂 | 久久99久久99精品中文字幕 | 一本一道久久综合久久 | 久久综合激激的五月天 | 日韩精品一区二区av在线 | 无码任你躁久久久久久久 | 国产精品亚洲专区无码不卡 | 日本一区二区三区免费播放 | 国产超级va在线观看视频 | 亚洲gv猛男gv无码男同 | 亚洲人亚洲人成电影网站色 | 久久午夜夜伦鲁鲁片无码免费 | 国产无av码在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 久久熟妇人妻午夜寂寞影院 | 香港三级日本三级妇三级 | 国产激情精品一区二区三区 | 精品少妇爆乳无码av无码专区 | 人妻少妇精品无码专区动漫 | 亚洲爆乳大丰满无码专区 | 久久99精品久久久久久动态图 | 波多野结衣高清一区二区三区 | 国产无av码在线观看 | 国产午夜无码视频在线观看 | 色综合视频一区二区三区 | 77777熟女视频在线观看 а天堂中文在线官网 | 鲁大师影院在线观看 | 国产一区二区三区日韩精品 | 成人精品视频一区二区 | 一本无码人妻在中文字幕免费 | 久久天天躁狠狠躁夜夜免费观看 | 成年女人永久免费看片 | 国产精品a成v人在线播放 | 中国女人内谢69xxxx | 亚洲熟妇色xxxxx欧美老妇 | 国产日产欧产精品精品app | 国产精品美女久久久网av | 国产免费观看黄av片 | 天堂а√在线中文在线 | 激情综合激情五月俺也去 | 欧美日本精品一区二区三区 | 一个人看的www免费视频在线观看 | 免费男性肉肉影院 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲综合无码一区二区三区 | 日韩av无码一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 偷窥村妇洗澡毛毛多 | 亚洲狠狠色丁香婷婷综合 | 久久综合久久自在自线精品自 | 国产国语老龄妇女a片 | 精品国产成人一区二区三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 学生妹亚洲一区二区 | 欧美xxxxx精品 | 最近的中文字幕在线看视频 | 中文字幕无码热在线视频 | 国产亚洲美女精品久久久2020 | 女人高潮内射99精品 | av无码不卡在线观看免费 | 日韩av无码一区二区三区不卡 | 精品欧洲av无码一区二区三区 | 久久久精品成人免费观看 | 国产成人综合在线女婷五月99播放 | 国产两女互慰高潮视频在线观看 | 少妇无码av无码专区在线观看 | 黑人玩弄人妻中文在线 | 色 综合 欧美 亚洲 国产 | 日本一本二本三区免费 | 久久www免费人成人片 | 网友自拍区视频精品 | 亚洲国产av精品一区二区蜜芽 | 国产特级毛片aaaaaa高潮流水 | 久久视频在线观看精品 | 亚洲精品美女久久久久久久 | 好屌草这里只有精品 | 午夜福利试看120秒体验区 | 免费国产成人高清在线观看网站 | 亚洲精品国产a久久久久久 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲成av人片在线观看无码不卡 | 樱花草在线社区www | 少妇太爽了在线观看 | 精品人妻人人做人人爽夜夜爽 | 无码免费一区二区三区 | 久久亚洲中文字幕无码 | 丰满少妇人妻久久久久久 | 奇米影视888欧美在线观看 | 国产精品国产自线拍免费软件 | 久久久久久久人妻无码中文字幕爆 | 国产97人人超碰caoprom | 中文字幕日韩精品一区二区三区 | 日日躁夜夜躁狠狠躁 | 国产99久久精品一区二区 | 国产成人无码区免费内射一片色欲 | 亚洲无人区午夜福利码高清完整版 | 风流少妇按摩来高潮 | 2019午夜福利不卡片在线 | 青青青爽视频在线观看 | 四虎永久在线精品免费网址 | 六十路熟妇乱子伦 | 99久久精品午夜一区二区 | 精品亚洲成av人在线观看 | 亚洲色欲久久久综合网东京热 | 亚洲乱码日产精品bd | 亚洲欧美日韩综合久久久 | 久久国产精品萌白酱免费 | 久久99精品国产.久久久久 | 亚洲成a人片在线观看无码3d | 98国产精品综合一区二区三区 | 欧美成人高清在线播放 | 久9re热视频这里只有精品 | 国产人妻精品一区二区三区不卡 | 亚洲午夜福利在线观看 | 性生交片免费无码看人 | 成人毛片一区二区 | 东京一本一道一二三区 | 无码纯肉视频在线观看 | 麻豆蜜桃av蜜臀av色欲av | 国产精品人人妻人人爽 | 99久久99久久免费精品蜜桃 | 久久久久av无码免费网 | 国内少妇偷人精品视频 | 无遮挡国产高潮视频免费观看 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲 高清 成人 动漫 | 久久国产自偷自偷免费一区调 | 人妻少妇被猛烈进入中文字幕 | 久9re热视频这里只有精品 | 波多野42部无码喷潮在线 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲精品一区二区三区在线 | 一本色道久久综合亚洲精品不卡 | 在线a亚洲视频播放在线观看 | 亚洲中文字幕av在天堂 | 丰满少妇女裸体bbw | 九九热爱视频精品 | 国产人妻精品午夜福利免费 | 99久久婷婷国产综合精品青草免费 | 日日躁夜夜躁狠狠躁 | 女人高潮内射99精品 | 久久国产精品_国产精品 | 国产综合色产在线精品 | 欧美性猛交内射兽交老熟妇 | 日日夜夜撸啊撸 | 天堂亚洲免费视频 | 亚洲区欧美区综合区自拍区 | 人妻少妇被猛烈进入中文字幕 | 日本成熟视频免费视频 | 国产成人综合色在线观看网站 | 亚洲中文无码av永久不收费 | 在线 国产 欧美 亚洲 天堂 | 久久久精品欧美一区二区免费 | 中文字幕乱码人妻无码久久 | 台湾无码一区二区 | 激情内射日本一区二区三区 | 蜜臀av无码人妻精品 | 亚洲综合精品香蕉久久网 | 久久国产36精品色熟妇 | 亚洲а∨天堂久久精品2021 | 日本免费一区二区三区最新 | 国产精品美女久久久久av爽李琼 | 人人澡人人妻人人爽人人蜜桃 | 免费无码一区二区三区蜜桃大 | 久久99热只有频精品8 | 欧美第一黄网免费网站 | 无码人妻久久一区二区三区不卡 | 性生交大片免费看女人按摩摩 | 一本久久伊人热热精品中文字幕 | 88国产精品欧美一区二区三区 | 国产免费无码一区二区视频 | 国产精品多人p群无码 | 成人女人看片免费视频放人 | 麻豆国产97在线 | 欧洲 | 无码人妻精品一区二区三区下载 | 99精品国产综合久久久久五月天 | 在线精品亚洲一区二区 | 精品欧洲av无码一区二区三区 | 麻豆精产国品 | 国产av无码专区亚洲a∨毛片 | 4hu四虎永久在线观看 | 男人扒开女人内裤强吻桶进去 | 日韩精品一区二区av在线 | 国精产品一品二品国精品69xx | 兔费看少妇性l交大片免费 | 欧美日本免费一区二区三区 | 免费观看黄网站 | 无码人妻出轨黑人中文字幕 | 无码人妻久久一区二区三区不卡 | 精品aⅴ一区二区三区 | 人人妻人人藻人人爽欧美一区 | 老熟女重囗味hdxx69 | 国产内射爽爽大片视频社区在线 | 夜精品a片一区二区三区无码白浆 | 成人免费视频一区二区 | 乱码午夜-极国产极内射 | 久久人人爽人人爽人人片ⅴ | 色欲人妻aaaaaaa无码 | 久久精品国产99精品亚洲 | 中文字幕+乱码+中文字幕一区 | 色综合久久久无码中文字幕 | 国产精品多人p群无码 | 国产两女互慰高潮视频在线观看 | 国产av一区二区三区最新精品 | 丰满少妇女裸体bbw | 宝宝好涨水快流出来免费视频 | 大地资源中文第3页 | 无码人妻出轨黑人中文字幕 | 国产69精品久久久久app下载 | 日本丰满护士爆乳xxxx | 欧美人妻一区二区三区 | 色综合久久88色综合天天 | 亚洲精品久久久久avwww潮水 | 中文无码精品a∨在线观看不卡 | 日本一卡二卡不卡视频查询 | 午夜不卡av免费 一本久久a久久精品vr综合 | 午夜精品一区二区三区在线观看 | 国产成人亚洲综合无码 | 国产乱人伦偷精品视频 | 熟妇女人妻丰满少妇中文字幕 | 亚洲人成人无码网www国产 | 麻豆蜜桃av蜜臀av色欲av | 欧美熟妇另类久久久久久不卡 | 又大又硬又爽免费视频 | 亚洲人成网站色7799 | 午夜熟女插插xx免费视频 | 欧洲精品码一区二区三区免费看 | 东北女人啪啪对白 | 日本乱人伦片中文三区 | 欧美野外疯狂做受xxxx高潮 | 久久精品中文字幕大胸 | 99久久精品无码一区二区毛片 | 99精品久久毛片a片 | 中文字幕亚洲情99在线 | 人妻夜夜爽天天爽三区 | 中文无码精品a∨在线观看不卡 | 一二三四社区在线中文视频 | 午夜福利一区二区三区在线观看 | 亚洲精品一区二区三区在线观看 | 精品无码国产自产拍在线观看蜜 | 激情内射亚州一区二区三区爱妻 | 久久精品国产一区二区三区 | 亚洲综合无码一区二区三区 | 亚洲国产精品美女久久久久 | 日本护士xxxxhd少妇 | 亚洲中文字幕va福利 | 国产人妻久久精品二区三区老狼 | 国产精品无码一区二区桃花视频 | 一本一道久久综合久久 | 俄罗斯老熟妇色xxxx | 国产肉丝袜在线观看 | 国产高潮视频在线观看 | 狠狠躁日日躁夜夜躁2020 | 牛和人交xxxx欧美 | 中文字幕无码日韩欧毛 | 亚洲啪av永久无码精品放毛片 | 色一情一乱一伦 | 无码人妻丰满熟妇区五十路百度 | 丁香花在线影院观看在线播放 | 18无码粉嫩小泬无套在线观看 | 中文毛片无遮挡高清免费 | 美女黄网站人色视频免费国产 | 熟妇人妻无码xxx视频 | 台湾无码一区二区 | 精品久久久久久人妻无码中文字幕 | 精品少妇爆乳无码av无码专区 | 日韩 欧美 动漫 国产 制服 | 亚洲va欧美va天堂v国产综合 | 特级做a爰片毛片免费69 | 国产精品久久久久7777 | 亚洲综合无码一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 无码国产激情在线观看 | 国产97在线 | 亚洲 | 中文字幕无码视频专区 | 熟女俱乐部五十路六十路av | 久久亚洲中文字幕精品一区 | 婷婷丁香五月天综合东京热 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲s码欧洲m码国产av | 四虎国产精品免费久久 | 国产人妖乱国产精品人妖 | 午夜精品久久久内射近拍高清 | 中文字幕av日韩精品一区二区 | 日日天干夜夜狠狠爱 | 女人和拘做爰正片视频 | 高清国产亚洲精品自在久久 | 成人性做爰aaa片免费看不忠 | 色爱情人网站 | 成人av无码一区二区三区 | 国产精品无码mv在线观看 | 激情综合激情五月俺也去 | 自拍偷自拍亚洲精品被多人伦好爽 | 久久久国产一区二区三区 | 在线观看国产午夜福利片 | 国产激情艳情在线看视频 | 亚洲精品久久久久avwww潮水 | 99久久婷婷国产综合精品青草免费 | 亚洲色欲色欲欲www在线 | 人人妻人人澡人人爽欧美精品 | 国产亚洲精品久久久闺蜜 | 啦啦啦www在线观看免费视频 | 久久久久久久女国产乱让韩 | 午夜无码区在线观看 | 午夜福利不卡在线视频 | 99久久精品无码一区二区毛片 | 伊在人天堂亚洲香蕉精品区 | a在线亚洲男人的天堂 | 国产亚洲精品久久久久久国模美 | 成人毛片一区二区 | 久久99精品久久久久婷婷 | 真人与拘做受免费视频 | 桃花色综合影院 | 一区二区三区乱码在线 | 欧洲 | 国产在线一区二区三区四区五区 | 国产精品无码久久av | 中文字幕av无码一区二区三区电影 | 久久视频在线观看精品 | 久久亚洲日韩精品一区二区三区 | 77777熟女视频在线观看 а天堂中文在线官网 | 中文字幕无码免费久久99 | 无码国模国产在线观看 | 国产精品久久久久久亚洲影视内衣 | 亚洲人交乣女bbw | 久久www免费人成人片 | 四虎影视成人永久免费观看视频 | 欧美激情内射喷水高潮 | 国产精品99爱免费视频 | 女人被男人躁得好爽免费视频 | 成人免费视频在线观看 | 熟妇激情内射com | 大地资源中文第3页 | 99国产精品白浆在线观看免费 | 亚洲欧洲中文日韩av乱码 | √天堂资源地址中文在线 | 18禁黄网站男男禁片免费观看 | 精品国产成人一区二区三区 | 激情内射亚州一区二区三区爱妻 | 国产情侣作爱视频免费观看 | 色综合久久中文娱乐网 | 国产又爽又黄又刺激的视频 | 在线看片无码永久免费视频 | 亚洲 日韩 欧美 成人 在线观看 | 中文字幕日韩精品一区二区三区 | 久久久久99精品国产片 | 熟女体下毛毛黑森林 | 亚洲国产av美女网站 | 波多野结衣一区二区三区av免费 | 欧美怡红院免费全部视频 | 粗大的内捧猛烈进出视频 | 无码人妻出轨黑人中文字幕 | 国产精品人人妻人人爽 | 国产激情综合五月久久 | 亚洲人成网站色7799 | 国内揄拍国内精品少妇国语 | 国产人妻精品一区二区三区 | 日产精品99久久久久久 | 免费人成在线观看网站 | 国产亚洲精品久久久闺蜜 | 99国产精品白浆在线观看免费 | 九月婷婷人人澡人人添人人爽 | 波多野结衣乳巨码无在线观看 | 国产另类ts人妖一区二区 | 亚洲娇小与黑人巨大交 | 2019nv天堂香蕉在线观看 | 色一情一乱一伦一区二区三欧美 | 精品熟女少妇av免费观看 | 99国产欧美久久久精品 | 日本乱人伦片中文三区 | 99麻豆久久久国产精品免费 | 性欧美牲交xxxxx视频 | 欧美 亚洲 国产 另类 | 日本熟妇乱子伦xxxx | 婷婷丁香六月激情综合啪 | 日韩无码专区 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 亚洲 欧美 激情 小说 另类 | 免费观看又污又黄的网站 | 大肉大捧一进一出好爽视频 | 日韩欧美中文字幕公布 | 青春草在线视频免费观看 | 波多野42部无码喷潮在线 | 国精产品一品二品国精品69xx | 丁香啪啪综合成人亚洲 | 高潮毛片无遮挡高清免费 | 婷婷色婷婷开心五月四房播播 | 欧美大屁股xxxxhd黑色 | 伊人久久大香线蕉亚洲 | 欧美刺激性大交 | 成人精品视频一区二区三区尤物 | 波多野结衣乳巨码无在线观看 | 精品一区二区不卡无码av | 国产疯狂伦交大片 | 国产亚洲欧美在线专区 | 国产精品美女久久久 | 久久综合香蕉国产蜜臀av | 熟妇激情内射com | 精品久久久无码中文字幕 | 红桃av一区二区三区在线无码av | 国产亚av手机在线观看 | 午夜精品一区二区三区在线观看 | a在线亚洲男人的天堂 | 99精品视频在线观看免费 | 亚洲综合色区中文字幕 | 午夜成人1000部免费视频 | 午夜成人1000部免费视频 | 国产精品va在线观看无码 | 西西人体www44rt大胆高清 | 一本无码人妻在中文字幕免费 | 女高中生第一次破苞av | 国产精品多人p群无码 | 久久久中文字幕日本无吗 | 亚洲国产成人av在线观看 | 亚洲国产精华液网站w | 乌克兰少妇xxxx做受 | 麻豆精品国产精华精华液好用吗 | 亚洲日韩一区二区 | 日韩人妻少妇一区二区三区 | 国产偷自视频区视频 | 中文无码伦av中文字幕 | 久久精品一区二区三区四区 | 国产精品久久久久久亚洲影视内衣 | 人人澡人摸人人添 | 扒开双腿吃奶呻吟做受视频 | 久久精品99久久香蕉国产色戒 | 疯狂三人交性欧美 | 亚洲国产精品久久久久久 | 超碰97人人射妻 | 久久午夜夜伦鲁鲁片无码免费 | 激情爆乳一区二区三区 | 成人精品天堂一区二区三区 | 国产黑色丝袜在线播放 | 18精品久久久无码午夜福利 | 99麻豆久久久国产精品免费 | 亚洲精品成a人在线观看 | 亚洲一区二区三区在线观看网站 | 中文字幕av日韩精品一区二区 | 午夜福利不卡在线视频 | 亚洲国产精品一区二区美利坚 | 欧洲美熟女乱又伦 | 97无码免费人妻超级碰碰夜夜 | ass日本丰满熟妇pics | 亚洲色偷偷偷综合网 | 欧美日韩综合一区二区三区 | 国产成人精品无码播放 | а天堂中文在线官网 | 久久成人a毛片免费观看网站 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲欧洲中文日韩av乱码 | 国模大胆一区二区三区 | 亚洲中文字幕乱码av波多ji | 狠狠色噜噜狠狠狠狠7777米奇 | 精品久久久无码人妻字幂 | 久久zyz资源站无码中文动漫 | 国产av无码专区亚洲awww | 妺妺窝人体色www婷婷 | 乱人伦中文视频在线观看 | 国产精品va在线播放 | 在教室伦流澡到高潮hnp视频 | 亚洲中文无码av永久不收费 | 2019午夜福利不卡片在线 | 中文字幕乱码亚洲无线三区 | 激情综合激情五月俺也去 | 丰满人妻翻云覆雨呻吟视频 | 国语精品一区二区三区 | 牲欲强的熟妇农村老妇女 | 国产精品a成v人在线播放 | 精品国产一区av天美传媒 | 色欲人妻aaaaaaa无码 | 欧美日韩久久久精品a片 | 国产激情综合五月久久 | 国产免费观看黄av片 | 成人动漫在线观看 | 无码人妻久久一区二区三区不卡 | 强奷人妻日本中文字幕 | 国产精品99久久精品爆乳 | 国产三级久久久精品麻豆三级 | 国产综合色产在线精品 | 国产精品久久国产精品99 | 99精品无人区乱码1区2区3区 | 亚洲中文字幕在线无码一区二区 | 婷婷五月综合缴情在线视频 | 少妇的肉体aa片免费 | 亚洲 欧美 激情 小说 另类 | 天堂亚洲免费视频 | 久久99精品国产麻豆 | 无码一区二区三区在线 | 强开小婷嫩苞又嫩又紧视频 | 精品一区二区不卡无码av | 一区二区传媒有限公司 | 国产成人无码av在线影院 | 欧美刺激性大交 | 青青久在线视频免费观看 | 天下第一社区视频www日本 | 2020最新国产自产精品 | 少妇人妻偷人精品无码视频 | 波多野结衣一区二区三区av免费 | 色综合久久中文娱乐网 | 日本大乳高潮视频在线观看 | 人妻有码中文字幕在线 | 亚洲人交乣女bbw | 国产真实伦对白全集 | 亚洲a无码综合a国产av中文 | 亚洲中文字幕无码中文字在线 | 亚洲 欧美 激情 小说 另类 | 国产97在线 | 亚洲 | 亚洲熟妇色xxxxx亚洲 | 玩弄中年熟妇正在播放 | 欧美xxxx黑人又粗又长 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产无套粉嫩白浆在线 | 欧美一区二区三区 | 九九在线中文字幕无码 | 色婷婷综合激情综在线播放 | 丝袜 中出 制服 人妻 美腿 | 精品无码一区二区三区的天堂 | 午夜精品一区二区三区在线观看 | 小鲜肉自慰网站xnxx | 日韩精品久久久肉伦网站 | 亚洲成熟女人毛毛耸耸多 | 综合人妻久久一区二区精品 | 久久99精品久久久久久动态图 | 丰满人妻翻云覆雨呻吟视频 | 在线а√天堂中文官网 | 欧洲熟妇精品视频 | 无码纯肉视频在线观看 | 国产 精品 自在自线 | 欧美 亚洲 国产 另类 | 久久99精品久久久久久 | 人人妻人人澡人人爽欧美一区九九 | 久久久久久久人妻无码中文字幕爆 | 色欲久久久天天天综合网精品 | 国产手机在线αⅴ片无码观看 | 亚洲色大成网站www国产 | 欧美精品国产综合久久 | 亚洲欧洲日本无在线码 | 国产精品人人妻人人爽 | 97精品国产97久久久久久免费 | 免费国产成人高清在线观看网站 | 色爱情人网站 | 纯爱无遮挡h肉动漫在线播放 | 久久久久免费精品国产 | 国产精品久久久久影院嫩草 | 少妇愉情理伦片bd | 国产亲子乱弄免费视频 | 亚洲精品国产精品乱码视色 | 99精品视频在线观看免费 | 精品国产精品久久一区免费式 | 一区二区三区乱码在线 | 欧洲 | 久久精品人人做人人综合 | 真人与拘做受免费视频 | 内射巨臀欧美在线视频 | 亚洲精品一区二区三区四区五区 | 国产亚洲精品精品国产亚洲综合 | 狠狠躁日日躁夜夜躁2020 | 国产农村乱对白刺激视频 | 色欲久久久天天天综合网精品 | 老子影院午夜伦不卡 | 国产美女极度色诱视频www | 亚洲精品一区二区三区四区五区 | 中文字幕无码免费久久9一区9 | 国产精品国产三级国产专播 | 欧美精品免费观看二区 | 日韩精品无码免费一区二区三区 | 成人无码精品1区2区3区免费看 | 久久久www成人免费毛片 | 黄网在线观看免费网站 | 国产亚洲tv在线观看 | 在线а√天堂中文官网 | 亚洲日韩中文字幕在线播放 | 亚洲欧美日韩国产精品一区二区 | 久久精品中文字幕大胸 | 国产精品久久久久影院嫩草 | 精品久久久久久人妻无码中文字幕 | 蜜桃臀无码内射一区二区三区 | 领导边摸边吃奶边做爽在线观看 | 7777奇米四色成人眼影 | 欧美丰满老熟妇xxxxx性 | 亚洲国产精品无码一区二区三区 | 精品无码一区二区三区爱欲 | 亚洲精品久久久久久久久久久 | 色欲av亚洲一区无码少妇 | 高潮喷水的毛片 | 亚洲精品国产第一综合99久久 | 伊人久久大香线蕉av一区二区 | 波多野结衣高清一区二区三区 | 久久国语露脸国产精品电影 | 少妇太爽了在线观看 | 九月婷婷人人澡人人添人人爽 | 亚洲国产精品久久久久久 | 久久这里只有精品视频9 | 成人av无码一区二区三区 | 无码人妻精品一区二区三区下载 | 亚洲欧美国产精品专区久久 | 久久久精品人妻久久影视 | 人妻天天爽夜夜爽一区二区 | 少妇无码一区二区二三区 | 久久精品视频在线看15 | 日本大香伊一区二区三区 | 欧美熟妇另类久久久久久多毛 | 亚洲国产欧美日韩精品一区二区三区 | www一区二区www免费 | 爽爽影院免费观看 | 999久久久国产精品消防器材 | 成熟女人特级毛片www免费 | 久久久av男人的天堂 | 色综合久久网 | 国产人妻人伦精品1国产丝袜 | 欧美日韩一区二区三区自拍 | 国产suv精品一区二区五 | 国产一区二区三区四区五区加勒比 | 激情内射亚州一区二区三区爱妻 | 欧美三级不卡在线观看 | 熟妇人妻激情偷爽文 | 亚洲色欲色欲欲www在线 | 亚洲一区二区三区播放 | 亚洲国产午夜精品理论片 | 性色欲情网站iwww九文堂 | 精品欧美一区二区三区久久久 | 蜜桃视频韩日免费播放 | 99麻豆久久久国产精品免费 | 免费无码午夜福利片69 | 啦啦啦www在线观看免费视频 | 日本熟妇乱子伦xxxx | 玩弄少妇高潮ⅹxxxyw | 色综合久久久无码网中文 | 大胆欧美熟妇xx | 亚洲成a人片在线观看无码3d | 国产在线精品一区二区三区直播 | 久久久久久久人妻无码中文字幕爆 | 国内丰满熟女出轨videos | 乱人伦人妻中文字幕无码 | 精品无码一区二区三区爱欲 | 国产人妻人伦精品1国产丝袜 | 日本护士毛茸茸高潮 | 亚洲中文字幕无码中文字在线 | 男女性色大片免费网站 | 天下第一社区视频www日本 | 国产精品久久久久久久影院 | 国产成人无码av片在线观看不卡 | 奇米影视7777久久精品 | 国产在线精品一区二区三区直播 | 色综合久久88色综合天天 | 性做久久久久久久久 | 又湿又紧又大又爽a视频国产 | 国产一区二区三区日韩精品 | 97色伦图片97综合影院 | 粉嫩少妇内射浓精videos | 久久精品99久久香蕉国产色戒 | 亚洲一区二区三区含羞草 | 久久天天躁夜夜躁狠狠 | 亚洲一区av无码专区在线观看 | 亚洲成av人片天堂网无码】 | 久久综合九色综合欧美狠狠 | 内射白嫩少妇超碰 | 欧洲精品码一区二区三区免费看 | 精品人人妻人人澡人人爽人人 | 一本加勒比波多野结衣 | 亚洲中文字幕在线无码一区二区 | 国产乱人无码伦av在线a | 性欧美牲交在线视频 | 久久婷婷五月综合色国产香蕉 | 国产亚洲精品久久久久久 | 国产精品美女久久久网av | 欧美人与牲动交xxxx | 亚洲色欲色欲天天天www | 极品嫩模高潮叫床 | 国产色在线 | 国产 | 国产精品毛多多水多 | 亚洲精品中文字幕乱码 | 久久国产精品萌白酱免费 | 少女韩国电视剧在线观看完整 | 国产三级精品三级男人的天堂 | 人人妻人人澡人人爽精品欧美 | 国产人妻精品一区二区三区 | 欧美高清在线精品一区 | 久久精品中文字幕一区 | 正在播放老肥熟妇露脸 | 国产亚洲欧美日韩亚洲中文色 | 日本www一道久久久免费榴莲 | 欧美日本精品一区二区三区 | 欧美一区二区三区 | 国产成人午夜福利在线播放 | 国产综合久久久久鬼色 | 色综合视频一区二区三区 | 亚洲精品一区二区三区在线观看 | 国产精品久久久午夜夜伦鲁鲁 | 欧美激情综合亚洲一二区 | 久久五月精品中文字幕 | 一本久道久久综合狠狠爱 | 亚洲成av人影院在线观看 | 久久午夜无码鲁丝片 | 人妻少妇被猛烈进入中文字幕 | 色爱情人网站 | 亚洲人成影院在线观看 | 久热国产vs视频在线观看 | 国内精品人妻无码久久久影院蜜桃 | 日韩欧美中文字幕在线三区 | 亚洲熟悉妇女xxx妇女av | 玩弄中年熟妇正在播放 | 国产精品国产自线拍免费软件 | 亚洲精品中文字幕 | 国产精品国产自线拍免费软件 | 欧美老熟妇乱xxxxx | 永久免费精品精品永久-夜色 | 一本一道久久综合久久 | 亚洲国产精华液网站w | 荡女精品导航 | 风流少妇按摩来高潮 | 亚洲啪av永久无码精品放毛片 | 久久成人a毛片免费观看网站 | 国产精品办公室沙发 | 亚洲精品国产精品乱码不卡 | 国产97人人超碰caoprom | 亚洲一区二区三区香蕉 | 久久国产精品_国产精品 | 色五月丁香五月综合五月 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 无码精品国产va在线观看dvd | 成熟人妻av无码专区 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲日本一区二区三区在线 | 无码纯肉视频在线观看 | 久久精品国产日本波多野结衣 | 国产精品美女久久久网av | 久久人人97超碰a片精品 | 久久亚洲中文字幕无码 | 午夜不卡av免费 一本久久a久久精品vr综合 | 高清国产亚洲精品自在久久 | 久久综合给久久狠狠97色 | 国产福利视频一区二区 | 高中生自慰www网站 | 99re在线播放 | 国产成人无码专区 | 蜜桃无码一区二区三区 | 中文字幕无码热在线视频 | 成人精品视频一区二区 | 美女扒开屁股让男人桶 | 亚洲 a v无 码免 费 成 人 a v | 激情五月综合色婷婷一区二区 | 中文字幕人妻丝袜二区 | 成人性做爰aaa片免费看不忠 | 日本护士xxxxhd少妇 | 一本久道久久综合婷婷五月 | 日韩精品无码一区二区中文字幕 | 亚洲欧洲中文日韩av乱码 | 亚洲日韩中文字幕在线播放 | 国产亚洲精品久久久久久久久动漫 | 久久天天躁狠狠躁夜夜免费观看 | 性色欲情网站iwww九文堂 | 荫蒂被男人添的好舒服爽免费视频 | 欧美人与物videos另类 | 天干天干啦夜天干天2017 | 久久久国产一区二区三区 | 国产成人综合美国十次 | 熟女俱乐部五十路六十路av | 大屁股大乳丰满人妻 | 久久国产精品二国产精品 | 久久午夜无码鲁丝片秋霞 | 色窝窝无码一区二区三区色欲 | 日本爽爽爽爽爽爽在线观看免 | 十八禁视频网站在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 夜精品a片一区二区三区无码白浆 | 51国偷自产一区二区三区 | 亚洲精品一区二区三区在线观看 | 天天爽夜夜爽夜夜爽 | 免费播放一区二区三区 | 性生交大片免费看女人按摩摩 | 色一情一乱一伦 | 乱人伦人妻中文字幕无码久久网 | 无码国产激情在线观看 | 老太婆性杂交欧美肥老太 | 精品国产一区二区三区四区在线看 | 婷婷丁香五月天综合东京热 | 国产无遮挡又黄又爽免费视频 | 亚洲精品欧美二区三区中文字幕 | 欧美熟妇另类久久久久久多毛 | 亚洲精品鲁一鲁一区二区三区 | 娇妻被黑人粗大高潮白浆 | 国产精品久久国产精品99 | 成 人 免费观看网站 | 精品乱码久久久久久久 | 老子影院午夜伦不卡 | 亚洲男人av天堂午夜在 | 丰满妇女强制高潮18xxxx | 东京无码熟妇人妻av在线网址 | 成人三级无码视频在线观看 | 国产欧美精品一区二区三区 | 国产精品亚洲lv粉色 | 国产午夜福利亚洲第一 | 波多野结衣一区二区三区av免费 | 亚洲国产精品无码一区二区三区 | 欧美zoozzooz性欧美 | 欧美三级不卡在线观看 | 一区二区三区乱码在线 | 欧洲 | 麻豆国产丝袜白领秘书在线观看 | 国产精品亚洲五月天高清 | 欧美性黑人极品hd | 国产精品人人妻人人爽 | 无套内谢的新婚少妇国语播放 | 日本精品少妇一区二区三区 | 成人av无码一区二区三区 | 亚洲一区二区观看播放 | 亚欧洲精品在线视频免费观看 | 国产在线无码精品电影网 | 国产乱人伦av在线无码 | 欧美国产日产一区二区 | 无码人妻av免费一区二区三区 |