久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

SpringBoot 簽到獎勵實現方案的示例代碼

瀏覽:65日期:2023-04-29 11:36:33

前言

最近在做社交業務,用戶進入APP后有簽到功能,簽到成功后獲取相應的獎勵:

項目狀況:前期嘗試業務階段;

特點:

快速實現(不需要做太重,滿足初期推廣運營即可) 快速投入市場去運營

用戶簽到:

用戶在每次啟動時查詢簽到記錄(規則:連續7日簽到從0開始,簽到過程中有斷簽從0開始) 如果今日未簽到則提示用戶可以進行簽到 用戶簽到獲取相應的獎勵

提到簽到,腦海中首先浮現特點:

需要記錄每位用戶每天的簽到情況 查詢時根據規則進行簽到記錄情況

需求&流程設計&技術實現方案

需求原型圖

SpringBoot 簽到獎勵實現方案的示例代碼

查詢簽到記錄

SpringBoot 簽到獎勵實現方案的示例代碼

進行簽到

SpringBoot 簽到獎勵實現方案的示例代碼

技術實現方案

SpringBoot MySQL

數據庫表結構

簽到記錄最新表

CREATE TABLE `zh_sign_in` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `bu_no` varchar(32) DEFAULT NULL COMMENT ’業務編碼’, `customer_id` varchar(32) DEFAULT NULL COMMENT ’簽到用戶編碼’, `sign_in_date` datetime DEFAULT NULL COMMENT ’簽到日期(單位精確到日)’, `reward_money` int(11) DEFAULT NULL COMMENT ’本次簽到獎勵金幣個數’, `continuite_day` int(2) DEFAULT ’1’ COMMENT ’連續簽到天數(A:7天內如果有斷簽從0開始 B:7天簽滿從0開始)’, `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ’創建時間’, `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ’更新時間’, `param1` int(2) DEFAULT NULL COMMENT ’預留字段1’, `param2` int(4) DEFAULT NULL COMMENT ’預留字段2’, `param3` int(11) DEFAULT NULL COMMENT ’預留字段3’, `param4` varchar(20) DEFAULT NULL COMMENT ’預留字段4’, `param5` varchar(32) DEFAULT NULL COMMENT ’預留字段5’, `param6` varchar(64) DEFAULT NULL COMMENT ’預留字段6’, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `uk_zh_sign_in_buno` (`bu_no`), UNIQUE KEY `uk_zh_sign_in_cid_signindate` (`customer_id`,`sign_in_date`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=’用戶簽到表’;

簽到記錄歷史表

CREATE TABLE `zh_sign_in_hist` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `bu_no` varchar(32) DEFAULT NULL COMMENT ’業務編碼’, `customer_id` varchar(32) DEFAULT NULL COMMENT ’簽到用戶編碼’, `sign_in_date` datetime NULL DEFAULT NULL COMMENT ’簽到日期(單位精確到日)’, `reward_money` int(11) DEFAULT NULL COMMENT ’本次簽到獎勵金幣個數’, `continuite_day` int(2) DEFAULT ’1’ COMMENT ’連續簽到天數(A:7天內如果有斷簽從0開始 B:7天簽滿從0開始)’, `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ’創建時間’, `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ’更新時間’, `param1` int(2) DEFAULT NULL COMMENT ’預留字段1’, `param2` int(4) DEFAULT NULL COMMENT ’預留字段2’, `param3` int(11) DEFAULT NULL COMMENT ’預留字段3’, `param4` varchar(20) DEFAULT NULL COMMENT ’預留字段4’, `param5` varchar(32) DEFAULT NULL COMMENT ’預留字段5’, `param6` varchar(64) DEFAULT NULL COMMENT ’預留字段6’, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `uk_zh_sign_in_hist_cid_signindate` (`customer_id`,`sign_in_date`) USING BTREE, KEY `key_zh_sign_in_hist_buno` (`bu_no`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=’用戶簽到歷史表’;

代碼實現

完整代碼(GitHub,歡迎大家Star,Fork,Watch)

https://github.com/dangnianchuntian/springboot

主要代碼展示

Controller

/* * Copyright (c) 2020. zhanghan_java@163.com All Rights Reserved. * 項目名稱:Spring Boot實戰:簽到獎勵實現方案 * 類名稱:SignInController.java * 創建人:張晗 * 聯系方式:zhanghan_java@163.com * 開源地址: https://github.com/dangnianchuntian/springboot * 博客地址: https://zhanghan.blog.csdn.net */package com.zhanghan.zhsignin.controller;import com.zhanghan.zhsignin.controller.request.PostSignInRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.validation.annotation.Validated;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import com.zhanghan.zhsignin.controller.request.ListSignInDetailRequest;import com.zhanghan.zhsignin.service.SignInService;@RestControllerpublic class SignInController { @Autowired private SignInService signInService; /** * 查詢簽到記錄 */ @RequestMapping(value = '/list/sign/in/detail', method = RequestMethod.POST) public Object listSignInDetail(@RequestBody @Validated ListSignInDetailRequest listSignInDetailRequest) { return signInService.listSignInDetail(listSignInDetailRequest); } /** * 用戶進行簽到 */ @RequestMapping(value = '/post/sign/in', method = RequestMethod.POST) public Object postSignIn(@RequestBody @Validated PostSignInRequest postSignInRequest) { return signInService.postSignIn(postSignInRequest); }}

service

/* * Copyright (c) 2020. zhanghan_java@163.com All Rights Reserved. * 項目名稱:Spring Boot實戰:簽到獎勵實現方案 * 類名稱:SignInServiceImpl.java * 創建人:張晗 * 聯系方式:zhanghan_java@163.com * 開源地址: https://github.com/dangnianchuntian/springboot * 博客地址: https://zhanghan.blog.csdn.net */package com.zhanghan.zhsignin.service.impl;import cn.hutool.core.util.IdUtil;import com.zhanghan.zhsignin.config.SignInRewardMoneyListConfig;import com.zhanghan.zhsignin.constant.SignInConstant;import com.zhanghan.zhsignin.controller.request.ListSignInDetailRequest;import com.zhanghan.zhsignin.controller.request.PostSignInRequest;import com.zhanghan.zhsignin.controller.response.ListSignInDetailResponse;import com.zhanghan.zhsignin.mybatis.entity.XZhSignInEntity;import com.zhanghan.zhsignin.mybatis.entity.XZhSignInHistEntity;import com.zhanghan.zhsignin.mybatis.mapper.XZhSignInHistMapper;import com.zhanghan.zhsignin.mybatis.mapper.XZhSignInMapper;import com.zhanghan.zhsignin.service.SignInService;import com.zhanghan.zhsignin.util.DateUtils;import com.zhanghan.zhsignin.util.wrapper.WrapMapper;import org.springframework.beans.BeanUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Service;import org.springframework.util.CollectionUtils;import java.util.Date;import java.util.List;import java.util.stream.Collectors;import static com.zhanghan.zhsignin.constant.SignInConstant.*;@Servicepublic class SignInServiceImpl implements SignInService { @Autowired private XZhSignInMapper xZhSignInMapper; @Autowired private XZhSignInHistMapper xZhSignInHistMapper; //校驗連續天數是否為7 @Value('#{T(java.lang.Integer).parseInt(’${zh.sign.in.continuite.day.threshold:7}’)}') public Integer continuiteDayThreshold; //簽到獎勵金幣集合配置 @Autowired public SignInRewardMoneyListConfig signInRewardMoneyListConfig; /** * 查詢用戶簽到記錄 */ @Override public Object listSignInDetail(ListSignInDetailRequest listSignInDetailRequest) { //若配置文件中未配置簽到獎勵則不展示簽到記錄 List<Integer> signInRewardMoneyListConfigList = signInRewardMoneyListConfig.getList(); if (CollectionUtils.isEmpty(signInRewardMoneyListConfigList)) { return WrapMapper.ok(new ListSignInDetailResponse(false)); } String customerId = listSignInDetailRequest.getCustomerId(); XZhSignInEntity xZhSignInEntity = xZhSignInMapper.findByCustomerId(customerId); List<ListSignInDetailResponse.SignInDetail> signInDetailList = signInRewardMoneyListConfigList.stream().map(aa -> new ListSignInDetailResponse.SignInDetail(0, aa)).collect(Collectors.toList()); //該用戶之前未簽到過 if (null == xZhSignInEntity) { return WrapMapper.ok(new ListSignInDetailResponse(TODAY_NOT_SIGN_IN, SignInConstant.CONTINUITE_DAY_ZERO, signInDetailList)); } long signInDateTime = xZhSignInEntity.getSignInDate().getTime(); //最近一次簽到是否為昨日之前 if (signInDateTime < DateUtils.getYesterdayDateTime()) { return WrapMapper.ok(new ListSignInDetailResponse(TODAY_NOT_SIGN_IN, SignInConstant.CONTINUITE_DAY_ZERO, signInDetailList)); } //最近一次簽到是否為昨日 Integer todaySignStatus = TODAY_YES_SIGN_IN; Integer continuiteDay = xZhSignInEntity.getContinuiteDay(); if (signInDateTime < DateUtils.getTodayDateTime()) { //最近一次簽到是昨日且之前已連續簽到7日 if (continuiteDay >= continuiteDayThreshold) {return WrapMapper.ok(new ListSignInDetailResponse(TODAY_NOT_SIGN_IN, SignInConstant.CONTINUITE_DAY_ZERO, signInDetailList)); } //最近一次簽到是昨日且之前連續未超7日 todaySignStatus = TODAY_NOT_SIGN_IN; } //查詢用戶簽到歷史記錄 List<XZhSignInHistEntity> xZhSignInHistEntitieList = xZhSignInHistMapper.listByCustomerIdAndLimit(customerId, continuiteDay); for (XZhSignInHistEntity xZhSignInHistEntity : xZhSignInHistEntitieList) { ListSignInDetailResponse.SignInDetail signInDetail = new ListSignInDetailResponse.SignInDetail(TODAY_YES_SIGN_IN, xZhSignInHistEntity.getRewardMoney()); signInDetailList.remove(xZhSignInHistEntity.getContinuiteDay() - 1); signInDetailList.add(xZhSignInHistEntity.getContinuiteDay() - 1, signInDetail); } return WrapMapper.ok(new ListSignInDetailResponse(todaySignStatus, continuiteDay, signInDetailList)); } /** * 進行簽到 */ @Override public Object postSignIn(PostSignInRequest postSignInRequest) { //若配置文件中未配置簽到獎勵則不展示簽到記錄 List<Integer> signInRewardMoneyListConfigList = signInRewardMoneyListConfig.getList(); if (CollectionUtils.isEmpty(signInRewardMoneyListConfigList)) { return WrapMapper.ok(); } //獲取session用戶對象 String customerId = postSignInRequest.getCustomerId(); //根據customerId查詢用戶簽到記錄 XZhSignInEntity xZhSignInEntityByCustomerId = xZhSignInMapper.findByCustomerId(customerId); //簽到記錄是否為空 if (null == xZhSignInEntityByCustomerId) { XZhSignInEntity xZhSignInEntity = new XZhSignInEntity(); xZhSignInEntity.setBuNo(IdUtil.simpleUUID()); xZhSignInEntity.setCustomerId(customerId); xZhSignInEntity.setContinuiteDay(CONTINUITE_DAY_ONE); xZhSignInEntity.setRewardMoney(signInRewardMoneyListConfigList.get(0)); xZhSignInEntity.setSignInDate(DateUtils.getTodayDate()); insertSigninAndHist(xZhSignInEntity); return WrapMapper.ok(); } long signInDateTime = xZhSignInEntityByCustomerId.getSignInDate().getTime(); if (signInDateTime == DateUtils.getTodayDateTime()) { return WrapMapper.error('今天已經簽到'); } //獲取連續簽到天數 Integer continuiteDay = continuiteDay(xZhSignInEntityByCustomerId.getContinuiteDay(), signInDateTime); xZhSignInEntityByCustomerId.setSignInDate(DateUtils.getTodayDate()); xZhSignInEntityByCustomerId.setContinuiteDay(continuiteDay); xZhSignInEntityByCustomerId.setRewardMoney(signInRewardMoneyListConfigList.get(continuiteDay - 1)); xZhSignInEntityByCustomerId.setUpdateTime(new Date()); xZhSignInEntityByCustomerId.setBuNo(IdUtil.simpleUUID()); updateSignInAndInsertHist(xZhSignInEntityByCustomerId); return WrapMapper.ok(); } private Integer continuiteDay(Integer continuiteDay, Long signInDateTime) { if (signInDateTime < DateUtils.getYesterdayDateTime()) { return CONTINUITE_DAY_ONE; } if (continuiteDay >= continuiteDayThreshold) { return CONTINUITE_DAY_ONE; } return continuiteDay + 1; } private void insertSigninAndHist(XZhSignInEntity xZhSignInEntity) { xZhSignInMapper.insertSelective(xZhSignInEntity); XZhSignInHistEntity xZhSignInHistEntity = new XZhSignInHistEntity(); BeanUtils.copyProperties(xZhSignInEntity, xZhSignInHistEntity); xZhSignInHistEntity.setId(null); xZhSignInHistMapper.insertSelective(xZhSignInHistEntity); } private void updateSignInAndInsertHist(XZhSignInEntity xZhSignInEntity) { xZhSignInMapper.updateByPrimaryKeySelective(xZhSignInEntity); XZhSignInHistEntity xZhSignInHistEntity = new XZhSignInHistEntity(); BeanUtils.copyProperties(xZhSignInEntity, xZhSignInHistEntity); xZhSignInHistEntity.setId(null); xZhSignInHistMapper.insertSelective(xZhSignInHistEntity); }}

測試

模擬用戶進行簽到

進行請求

SpringBoot 簽到獎勵實現方案的示例代碼

查看數據庫結果

SpringBoot 簽到獎勵實現方案的示例代碼

模擬用戶查詢簽到記錄

進行請求

SpringBoot 簽到獎勵實現方案的示例代碼

總結

亮點:實現業務連續簽到,斷簽以及獎勵的業務 注意點:基于數據庫查詢做的,在進行簽到接口需要用redis鎖防止并發操作 后續會持續分享更多業務中的亮點

到此這篇關于SpringBoot 簽到獎勵實現方案的示例代碼的文章就介紹到這了,更多相關SpringBoot 簽到獎勵內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 欧美日韩精品一区二区三区在线观看 | 亚州成人| 亚洲人免费 | 黑人精品视频 | 久久久久无码国产精品一区 | 欧美视频一区二区三区在线观看 | 国产成人精品久久久 | 国产国拍亚洲精品av | 久久综合九色综合欧美狠狠 | 91免费视频| 国产午夜精品一区二区三区视频 | 久久综合伊人 | 在线观看亚洲精品视频 | 精品久| 亚洲精品一区二区三区蜜桃久 | 久久黄色片 | 久久久国产精品免费 | 欧美精品一区二区三区在线四季 | 久久91久久久久麻豆精品 | 天堂中文av在线 | av片在线观看 | 一级电影免费在线观看 | 国产成人午夜高潮毛片 | 久久久综合网 | 国产精品久久精品 | 亚洲一区成人 | 久久久久久国产精品 | 欧美精品一区二区三区手机在线 | 日韩在线视频一区 | 久久国产精品99久久久久久老狼 | 成人在线视频免费观看 | 国产精品久久久久久久久福交 | 久久精品亚洲精品 | 国产欧美高清在线观看 | 成人av免费在线观看 | 91精品国产日韩91久久久久久 | 国产激情在线观看 | 精精国产| 特黄特黄a级毛片免费专区 av网站免费在线观看 | 91精品国产高清一区二区三区 | 国产在线色 | 99精品国产高清在线观看 | 欧美日韩国产精品一区二区亚洲 | 中文字幕亚洲欧美日韩在线不卡 | h网站在线观看 | 国产精品一区二区三区四区 | 成人欧美一区二区三区白人 | 中文字幕在线三区 | 五月婷婷综合激情 | 北条麻妃一区二区三区在线观看 | 91在线视频播放 | 午夜爽 | 天天射欧美 | 日韩成人在线网 | 欧洲免费视频 | 97精品国产97久久久久久免费 | 依人久久 | 国产在线网站 | 午夜精品久久久久久久久久久久久 | 亚洲 中文 欧美 日韩 在线观看 | 视频一区 中文字幕 | 亚洲日韩中文字幕一区 | 久久国产一区二区 | 日韩精品网站在线观看 | 久久精品国产精品青草 | 久久久久久久久久久九 | 亚洲午夜av| 亚洲a网 | 国产成人综合av | 欧美一区二区三区视频 | 久免费视频 | 国产成人99 | 亚洲精彩视频 | 男女午夜 | 午夜a v电影 | 国产成人99 | 精品国产一区二区三区久久久久久 | 国产精品久久久久久久久久久久久久 | 日韩精品一区二区三区视频播放 | 精品国产91乱码一区二区三区 | 欧美成年黄网站色视频 | 欧美天天 | 中文字幕第一页在线视频 | 欧美极品在线 | 国产人成精品一区二区三 | 欧美一区二区三区免费 | 欧美一区2区三区4区公司二百 | a亚洲精品| 黑人精品xxx一区一二区 | 2019中文字幕在线观看 | 免费看片一区二区三区 | 91影库| 超碰人人艹 | 欧美日韩激情一区二区三区 | 国产精品成人一区二区 | 犬夜叉在线观看 | 亚洲精选久久 | 久久九 | 午夜免费 | 狠狠的干 | 黄毛片| 欧美精品一区二区三区四区五区 | 免费午夜电影 | 中文字幕精品一区 | 久久久91精品国产一区二区三区 | 视频在线一区 | 精品一区免费 | 精品久久久av | 欧美日韩一区二区中文字幕 | 日韩精品一区二区三区免费观看视频 | 日韩成人不卡 | 日韩欧美在线观看一区二区 | 亚洲精色 | 韩国精品免费视频 | 国产精品久久电影观看 | а_天堂中文最新版地址 | 国产成人一级片 | 日韩一级 | 中文字幕亚洲欧美精品一区四区 | 亚洲欧美国产毛片在线 | 亚洲一区成人 | 我看午夜视频 | 成人久久久精品国产乱码一区二区 | 女男羞羞视频网站免费 | 国产精品毛片久久久久久 | 日本黄色片免费 | 日韩成人 | 高清视频一区 | 久久久一区二区三区 | av一二三区 | 亚洲国产婷婷香蕉久久久久久99 | 国产毛片精品 | 亚洲最新av| 久久久国产精品入口麻豆 | 国产不卡在线 | 不卡的免费av | 日韩视频在线一区 | 国产精品二区三区 | 日韩在线免费 | 一区二区三区国产精品 | 国产精品久久久久aaaa | 国产精品毛片一区二区在线看 | 日韩激情免费视频 | 日本黄色三级网站 | 久久精品1区| 亚洲黄色片免费 | 日韩性视频| 日韩av免费在线观看 | www国产高清 | 精品日韩一区 | 日韩成人高清视频 | 亚洲36d大奶网 | 国产美女高潮一区二区三区 | 韩国xxxx性hd极品 | 99精品欧美一区二区三区综合在线 | 伊人夜夜躁av伊人久久 | 欧美精品第一页 | 国产干干干| 成人免费视频观看视频 | 中文字幕在线观看免费视频 | 视频一区二| 男女羞羞视频网站 | 亚州视频在线 | 神马午夜 | 中文字幕久久精品 | 黄色av毛片| 欧美一区二区三区在线视频 | 国产精品亚洲成人 | 天堂久久久久 | 日本一区二区三区免费观看 | 99热在线观看免费 | 欧美精品一区二区三区四区 | a级在线观看免费 | 欧美午夜在线观看 | 天天爱天天操 | 欧美精品成人 | 欧美成人精品一区二区男人看 | 亚洲国产精品久久久久秋霞蜜臀 | 免费视频一区二区 | 搜索黄色毛片 | 日本久久精品一区二区 | 亚洲艹 | 在线免费av观看 | 制服 丝袜 激情 欧洲 亚洲 | 北条麻妃一区二区三区在线观看 | 一级特黄aaa大片在线观看 | 婷婷在线视频 | www久| 欧美一区二区久久久 | 成人观看免费视频 | 国产成人在线一区二区 | 欧美中文字幕在线 | 国产精品久久久久久吹潮 | 欧美一区二区免费 | 99riav在线| 国产精品久久久久久久久久久久 | 国内成人精品2018免费看 | 精品av| 日本99精品 | www.久久精品| 天堂中文视频在线观看 | 久久久久久国产精品高清 | 久久99精品久久久 | 亚洲一区视频 | 午夜影院免费视频 | 亚洲aⅴ天堂av在线电影软件 | 亚洲精品美女在线观看 | 久久亚洲国产精品 | 国产伦精品一区二区三区四区视频 | 亚洲精品视频一区 | 欧美久久免费观看 | 欧美中文字幕在线 | 久久99国产一区二区三区 | 91综合网| 久久久国产精品入口麻豆 | 综合伊人 | 在线观看欧美一区 | 亚洲综合影院 | 中文字幕在线视频免费观看 | 成人在线片 | 午夜大片在线观看 | 亚洲高清电影 | 亚洲国产精品福利 | 亚洲一区二区三区免费看 | 一区二区三区播放 | 欧美视频成人 | 欧美日韩国产在线观看 | 成人精品久久久 | 国产一区二区h | 国产精品一区二区三区在线 | 精品无码久久久久国产 | 欧美一区二区三区免费 | 日韩9999 | 国产在线第一页 | 波多野结衣一区二 | 91精品久久久久久久 | 精品国产999 | 亚洲成人一区二区三区 | 国产精品久久久久久久毛片 | 中文字幕视频三区 | 成人黄色片在线观看 | 伊人一区 | 午夜精品久久久久 | 成人免费一区二区三区视频网站 | 91高清在线观看 | 91视频精选 | 国产精品一区二区无线 | 粉嫩国产精品一区二区在线观看 | 日本欧美一区二区 | 一区二区中文 | www嫩草 | 欧美a级成人淫片免费看 | 一区二区三区欧美在线 | 伊人手机在线视频 | 一级黄色爱爱视频 | 国产精品18 | 亚洲成a| 黄色av网站免费 | 久久一二三四 | 美日韩精品视频 | 超碰导航| 不卡一区 | 精品国产一区二区 | 欧美一区二区三区在线 | 久久久av | av一二三区| 91一区二区 | 亚洲成人一区二区三区 | 99热欧美 | av超碰| 欧美成人激情视频 | 天天天干天天天操 | 99视频免费| 欧美日韩一区二区电影 | 黄在线看 | 日韩综合网 | 91夜夜操| 欧美不卡 | 国产网站在线播放 | 国产一区二区三区久久久 | 国产成人一区 | 久久精品中文字幕 | 久久av资源 | 久久国产精品91 | 日韩在线观看一区 | 中文字幕久久久 | 欧美精品一区二区三区四区在线 | 欧美日韩一区二区电影 | 男女黄色免费网站 | 精品国产乱码久久久久夜 | 欧美日韩精品一区二区 | 女人夜夜春高潮爽a∨片传媒 | 午夜精品久久久久久久久久久久久 | 波多野结衣一二三区 | 日韩性猛交 | 国产精品久久久久久久竹霞 | 欧美猛交ⅹxxx乱大交视频 | 老牛嫩草一区二区三区眼镜 | 成人精品久久久 | 99精品久久久 | 亚洲精品成人a8198a | av高清在线看 | 国产欧美精品一区二区三区四区 | 国产一级特黄aaa大片评分 | 99亚洲 | 精品久久久久久国产 | 99在线看 | 国色天香成人网 | 可以在线观看的黄色 | 国产精品久久久久久吹潮 | 在线亚洲不卡 | 欧美一区二区三区在线观看视频 | 国产精品久久久久久久久久99 | 久久亚洲精品视频 | 日韩中文字幕免费在线播放 | 中文成人在线 | 国产一级特黄 | 久久草视频 | 求av网站| 91在线观看视频 | 正在播放国产精品 | 一区二区三区无码高清视频 | 国产伦精品一区二区三区四区视频_ | 中文字幕一区二区三区不卡 | 嫩草网站入口 | 国产成人久久精品一区二区三区 | 欧洲亚洲视频 | 精品久久一二三区 | 国产二区视频 | 色小妹三区| 亚洲tv国产| 在线免费观看黄 | av免费在线观看网站 | 超碰在线看| 国产日韩av在线 | 日日想日日干 | 看真人视频a级毛片 | 亚洲国产精品第一区二区 | 久久1区 | 97伦理电影院 | 91久久精品日日躁夜夜躁国产 | www日韩 | 国产浪潮av色综合久久超碰 | 电影91久久久 | 精品一区二区久久久久久久网站 | 国产精品爱久久久久久久 | 亚洲高清在线视频 | 欧美狠狠操 | 国产精品夜色一区二区三区 | 国产成人精品免高潮在线观看 | 成人精品一区二区三区中文字幕 | 日韩在线观看视频一区二区三区 | 午夜精品久久久久 | 欧美激情综合五月色丁香小说 | 久久精品国产一区二区三区不卡 | 国产美女精品 | 久久久久久网址 | 欧美精品久久久 | 亚洲 欧美 日韩在线 | 国产一级免费视频 | 天天澡天天狠天天天做 | 欧美日韩一区二区三区在线观看 | 人人操日日干 | 精品国产精品 | 91av在| 国产精品九九九 | 精品免费视频 | 日韩成人在线一区 | 日产久久 | 999精品视频 | 欧美日韩国产一区二区三区在线观看 | 久久福利电影 | 99热精品在线 | 综合99| 日韩三级电影在线免费观看 | 久久精品久久久久久久久久16 | 狠狠爱天天干 | 在线观看av国产一区二区 | 三级黄色视频毛片 | 国产区在线 | 成人小视频在线观看 | 精品国产一区二区三区性色av | 视频一区 日韩 | 韩日免费视频 | 天天天操操操 | 日韩免费一区 | 久久1区 | 成人三级免费 | 在线一区观看 | 久久99热精品免费观看牛牛 | 一区二区av | 日韩一区二区黄色片 | av在线免费网址 | 免费观看一区二区三区 | 中文字幕第一页在线 | 天天摸天天操 | 一区二区三区影院 | av一级在线 | 日本久久久久久 | 青青久久北条麻妃 | 日韩三级在线免费 | 亚洲日本欧美 | 久久午夜电影 | 日日夜夜狠狠 | 日韩视频一区二区三区 | 毛片网站在线 | 国产高清一区二区 | 男人的天堂亚洲 | 久久国产精品久久久久久电车 | 青青草草| 69久久99精品久久久久婷婷 | 婷婷综合五月 | 国产h视频在线观看 | 国产成人精品午夜视频' | 一级黄色录像毛片 | 高清免费av| 欧美精品成人一区二区三区四区 | av在线毛片 | 国产精品久久影院 | 成人久久久久久久久 | 中文字幕 亚洲一区 | 午夜精品一区二区三区免费视频 | 色婷婷亚洲 | 一区二区三区在线播放 | 久草视频免费在线播放 | 国产日韩精品视频 | 成人免费视频网站在线观看 | 国产成人久久精品一区二区三区 | 综合久久国产九一剧情麻豆 | 日本三级中文在线电影 | 在线免费黄色小视频 | 91在线看 | 在线播放亚洲 | 欧美久久久久久久久久伊人 | 精品国产一区一区二区三亚瑟 | 久久久.com | 在线中文字幕第一页 | 午夜小电影 | 99久久婷婷国产综合精品 | 亚洲高清视频一区 | 亚洲日韩欧美一区二区在线 | 亚洲成人精品久久 | 91影院| 国产欧美日韩综合精品一区二区 | 在线日韩欧美 | 西西做爰免费视频 | 亚洲精品一区二区三区蜜桃久 | 岛国a视频 | 久久九 | 美女天堂 | 伦乱视频 | 91福利影院在线观看 | 激情一区| 欧美成视频 | 一级黄色国产 | 亚洲专区欧美 | 国产精品视频网站 | 精品久久久中文字幕 | 精品国产一区二区三区久久久蜜 | 欧美不卡一区二区三区 | 91污在线| 日韩一区免费观看 | theporn国产在线精品 | 欧美日韩福利 | 草视频在线 | 一区二区三区回区在观看免费视频 | 精品一二三四区 | 成人情趣视频 | 国产精品久久久久久久7电影 | 国产精品日产欧美久久久久 | 九九久久久 | 91精品国产综合久久婷婷香蕉 | 第一色视频 | 欧美日韩国产在线观看 | 久久天堂 | 中文字幕久久久 | 欧美一区二区三区在线观看 | 久久三区| av在线播放免费 | 久久精品久久久久久久久久16 | 亚洲精品一区二三区不卡 | 国产真实乱全部视频 | 久久久久国产一区 | 欧美日韩国产在线 | 成人免费久久 | 欧美激情欧美激情在线五月 | 黄色一级视频 | 欧美性猛交一区二区三区精品 | 日韩视频精品 | 免费成人在线观看视频 | 亚洲精品久久久久久久久久久 | 成人免费视频网址 | 免费激情小视频 | 国产女人和拘做受视频 | 91在线视频免费观看 | 日本色综合 | 国产高清一区二区 | 精品国产一区二区三区日日嗨 | 激情五月综合网 | 国产精品久久久久久久久 | 日日干夜夜操 | 国产精品一二 | 久久久国产精品免费 | 欧美在线观看视频 | 在线国v免费看 | 色爱区综合 | 亚洲最黄视频 | 久久a视频 | 国产一区二 | 中国电影黄色一级片免费观看 | a级网站在线观看 | 1000部精品久久久久久久久 | 国产精彩视频 | 国产精品一区人伦免视频播放 | 免费福利视频一区二区三区 | 免费在线一区二区三区 | 国产精品成人在线观看 | 欧美一级电影免费观看 | av官网 | 香蕉av777xxx色综合一区 | 国产精品成人一区二区 | 亚洲av毛片 | 免费成人在线网站 | 精品国产一区二区三区性色av | 毛片免费观看视频 | 亚洲视频在线观看 | 成人欧美一区二区三区黑人孕妇 | 精品国产一级片 | 欧美一区2区三区4区公司二百 | 亚洲三级在线 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产成人亚洲综合 | 99精品国产热久久91蜜凸 | 成人片网址 | 亚洲综合首页 | 91在线精品秘密一区二区 | 91看片淫黄大片一级在线观看 | 天堂久久久久 | 97精品国产97久久久久久粉红 | 日韩视频网 | 亚洲免费影院 | 国产精品高潮呻吟久久av野狼 | 97久久精品午夜一区二区 | 久久爱综合网 | 91尤物网站网红尤物福利 | 亚洲成av人片一区二区梦乃 | 亚洲国产精品精华液com | 91亚洲精品乱码久久久久久蜜桃 | 伊人色综合久久久天天蜜桃 | 99久久99热这里只有精品 | 国产a免费 | 国产精品视频久久久 | 亚洲欧洲在线观看 | 日韩另类 | 欧美午夜视频在线观看 | 91精品国产99久久久久久红楼 | 精品精品久久 | 一区二区三区四区在线播放 | 久久精品久久久久电影 | www久久精品 | www久久久久久久 | 日韩三级在线免费观看 | 亚洲一区欧美一区 | 91午夜精品一区二区三区 | 欧美视频精品在线观看 | 欧美全黄 | 欧美一级毛片免费看 | 亚洲国产精品视频 | 四季久久免费一区二区三区四区 | 国产永久免费 | 国产最新视频 | 91久久久久久久久久久久久 | 国产精品美女久久久久久免费 | 久久伊99综合婷婷久久伊 | 亚洲一区二区中文字幕 | 超碰天堂 | 日韩在线色 | 青青草一区 | 国产日韩精品一区二区在线观看播放 | 久久黄色 | 九一亚洲精品 | 黄色成人在线网站 | 日日久 | 国产视频久久久久久 | 国产一区二区av | 午夜精品网站 | 自拍偷拍视频网站 | 成人在线视频免费观看 | 久久久久久亚洲精品视频 | 天堂在线网 | 中文字幕国产一区 | 一片毛片 | 国产精品久久久久无码av | 亚洲a网站 | 日韩欧美一区二区视频 | 91社区在线观看高清 | 中文av在线播放 | 久久国产精品久久久久久 | 日韩在线短视频 | www.日韩| 成人看片网 | 日韩久久久久久 | 99久久夜色精品国产亚洲1000部 | 成人美女免费网站视频 | 国产精品永久免费视频 | 国产色在线| 国产一区二区三区在线免费观看 | www.一区 | 精品1区| 91视频网址 | av动漫一区二区 | 中文字幕一区二区三区不卡 | 91亚洲免费视频 | 欧美精品一区二区在线观看 | 欧美.com|