• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于activiti多實例任務(wù)回退方案的研究與實現(xiàn)

    2018-11-01 03:04張超王萌任女爾
    電腦知識與技術(shù) 2018年19期
    關(guān)鍵詞:工作流

    張超 王萌 任女爾

    摘要:近年來,工作流技術(shù)日益成熟,會簽在流程系統(tǒng)中的出現(xiàn)也越來越頻繁。各大流程引擎也對會簽做了默認(rèn)支持。Activiti作為現(xiàn)今十分流行的開源流程引擎,通過多實例任務(wù)節(jié)點也對會簽做了支持,但是對多實例的回退卻沒做支持。為解決上述問題,該文通過Activiti提供的服務(wù)接口,并結(jié)合一定的算法,實現(xiàn)多實例任務(wù)的回退。

    關(guān)鍵詞:工作流;Activiti;多實例;回退

    中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)19-0113-03

    伴隨著信息化技術(shù)的高速發(fā)展,企業(yè)信息化也得以逐漸深入,普通的辦公自動化系統(tǒng)已經(jīng)無法滿足日漸增多的企業(yè)流程需求。會簽作為工作流程中的一種常見的場景,可以讓多個人相互協(xié)同,共同完成某一個任務(wù),因而在流程的信息傳遞上更加自動化,在流程的信息處理上更加高效,在任務(wù)的完成上更加直觀。所以會簽使用的時間成本更低,安全性、封閉性更高,相應(yīng)的,效率也就更高。

    Activiti通過使用多實例任務(wù)節(jié)點,在業(yè)務(wù)流程中定義重復(fù)環(huán)節(jié),從而實現(xiàn)對會簽的支持。多實例任務(wù)節(jié)點通過給定的集合,對集合中的每一個元素執(zhí)行一次任務(wù),既可以順序同步執(zhí)行,也可以并發(fā)同時執(zhí)行這些任務(wù)。然后通過設(shè)置完成多實例任務(wù)的條件,決定會簽的后續(xù)走向。但是對于某些業(yè)務(wù)場景,多實例任務(wù)節(jié)點并不能滿足需求。比如:會簽中的某個參與者發(fā)現(xiàn)自己沒有參與會簽的資格,造成該現(xiàn)象的原因可能是在選擇會簽人員時的疏忽。

    針對該業(yè)務(wù)場景,本文對Activiti的多實例任務(wù)進行了擴展和延伸,使得會簽任務(wù)中的某一個子任務(wù)得以有修正的機會,從而降低出錯率,避免整個會簽任務(wù)的失敗。

    1 技術(shù)簡介

    1.1 Workflow

    1993年工作流管理聯(lián)盟(Workflow Management Coalition,WfMC)成立,作為工作流管理的標(biāo)準(zhǔn)化組織,對工作流給出了定義:工作流是指一類能夠完全自動執(zhí)行的經(jīng)營過程,根據(jù)一系列過程規(guī)則,將文檔、信息或任務(wù)在不同的執(zhí)行者之間進行傳遞與執(zhí)行。通俗點將,工作流是將一組任務(wù)以及任務(wù)相關(guān)的人組織起來以共同完成某一個業(yè)務(wù)過程。它定義了任務(wù)的順序以及后續(xù)任務(wù)的出發(fā)條件,每個任務(wù)可以由一個人來完成,也可以由多個人協(xié)同完成。

    工作流引擎指的是Workflow應(yīng)該作為應(yīng)用系統(tǒng)的一部分,并為之提供解決方案,這些方案包括:根據(jù)分工和條件的不同以及角色來決定信息傳遞路由、內(nèi)容等級等核心解決方案。工作流引擎包含了流程圖的繪制、流程節(jié)點的管理、流程流向的控制以及流程實例的管理等。目前市面上常見的流程引擎主要包含:JBPM、Activiti、SWF等。

    1.2 Activiti

    Activiti項目是一個開源的BPM平臺,提供了對BPMN2.0標(biāo)準(zhǔn)的支持。Activiti是一種BPM引擎,它輕量,并且可嵌入。為了可以被廣泛使用,Activiti提供了寬松的Apache許可2.0。同時,為了促進和BPMN2.0標(biāo)準(zhǔn)的匹配,該項目由OMG通過標(biāo)準(zhǔn)審定。

    Activiti項目的創(chuàng)始人之一Tom Baeyens,原先是JBoss jBPM的項目架構(gòu)師,因此,Activiti是基于JBPM4開發(fā)的,同時支持流程虛擬機技術(shù),并且對外提供了清洗的服務(wù)接口,可以很好地集成外部服務(wù)。關(guān)于Activiti的優(yōu)勢,Tom Baeyens曾說:“Activiti有非常大的影響力來改變目前BPM的生態(tài)。Activiti的Apache授權(quán),完整的功能,將使Activiti到達一個新的水平。Activiti將推動業(yè)界的創(chuàng)新,因為BPM技術(shù)可以廣泛而自由地被應(yīng)用。通過實現(xiàn)這些想法以及開源社區(qū)的努力,也讓Activiti成為事實上的 BPM和BPMN標(biāo)準(zhǔn)執(zhí)行”。SpringSource的首席技術(shù)官Adrian Coyler也說道:“這是一個對Spring開發(fā)人員和Java社區(qū)總體的發(fā)展非常令人興奮的事情,長期以來一直需要一個Apache許可的流程引擎,這對許多應(yīng)用系統(tǒng)非常實用的需求。我們認(rèn)為,Activiti作為新的應(yīng)用領(lǐng)域擴展到的Java和開源的發(fā)展,特別是在云架構(gòu)上”。

    2 系統(tǒng)架構(gòu)

    本課題涉及項目的軟件技術(shù)架構(gòu)使用JAVA語言,采用B/S架構(gòu),綜合SpringBoot、Hibernate、Shiro等框架進行業(yè)務(wù)邏輯開發(fā),采用Activiti工作流引擎處理業(yè)務(wù)流程,頁面則采用Html、Bootstrap、Ajax開發(fā)。整體系統(tǒng)架構(gòu)如下所示:

    本系統(tǒng)底層操作系統(tǒng)支持Windows、linux、Solaris等操作系統(tǒng),數(shù)據(jù)庫采用Oracle;在此基礎(chǔ)之上,通過JDBC與數(shù)據(jù)庫交互,通過XML和properties文件進行緩存、日志等的配置;上層數(shù)據(jù)層采用Hibernate和Spring提供的方法設(shè)計數(shù)據(jù)庫相關(guān)操作;業(yè)務(wù)層在數(shù)據(jù)庫操作的基礎(chǔ)之上對業(yè)務(wù)邏輯進行處理;控制層通過SpringMVC使得業(yè)務(wù)邏輯與前端UI系統(tǒng)進行交互,前端UI系統(tǒng)由html和jQuery, bootstrap,進行表現(xiàn)層的展示。系統(tǒng)嚴(yán)格按照MVC架構(gòu)模式進行設(shè)計和開發(fā),如下圖所示:

    2.1 多實例任務(wù)回退的設(shè)計與實現(xiàn)

    2.1.1 設(shè)計思想

    多實例任務(wù)回退的設(shè)計思想是當(dāng)多實例任務(wù)中的某個子任務(wù)要回退時,首先將該任務(wù)的處理人置空,這樣要回退的任務(wù)就不會出現(xiàn)在待辦列表里,也就不會被某個人完成,流程就會停留在多實例節(jié)點處,再通過利用Activiti提供的服務(wù)接口TaskService中的兩個方法:TaskService.newTask()和TaskService.saveTask()來創(chuàng)建回退的任務(wù)并保存到數(shù)據(jù)庫,由于創(chuàng)建的新任務(wù)不能關(guān)聯(lián)到某個具體的流程,所以這里采用一種折中的辦法:在任務(wù)的本地變量里設(shè)置相關(guān)的信息,同時添加兩個變量:MULTI_INSTANCE_ROLLBACK_和INSTANCE_ROLLBACK_ID_,分別表示新任務(wù)是一個多實例的回退任務(wù)以及原始任務(wù)ID,這樣,新任務(wù)就和原始任務(wù)有了關(guān)聯(lián),完成任務(wù)時,就可以重新指定子任務(wù)的處理人了。

    2.1.2 具體實現(xiàn)過程及相關(guān)代碼

    1) 流程設(shè)計圖

    在IDEA開發(fā)工具中,使用流程繪制插件按照BPMN2.0規(guī)范繪制流程圖,流程圖中包含一個多實例任務(wù)節(jié)點,流程文件部分代碼如下:

    2) 將設(shè)計好的流程部署,因為使用的springboot,將流程定義文件放置到src/main/resources/processes目錄下,項目啟動時會自動部署。

    3) 部署后就可以使用流程了。首先要發(fā)起一個流程實例,并設(shè)置流程發(fā)起人,代碼如下:

    ProcessInstance processInstance = null;

    try {

    identityService.setAuthenticatedUserId("user1");

    processInstance = runtimeService.startProcessInstanceByKey("MyMultiInstanceRollbackProcess");

    }finally {

    identityService.setAuthenticatedUserId(null);

    }

    發(fā)起流程后,就可以獲取相應(yīng)的待辦,并完成任務(wù)。首先,我們獲取用戶user1的待辦任務(wù),并完成,在完成的時候指定下一個多實例任務(wù)的集合,代碼如下:

    Task user1Task = taskService.createTaskQuery().taskAssignee("user1").singleResult();

    Map variables = new HashMap<>();

    String[] assignees = {"user21","user22","user23"};

    variables.put("assigneeCollection",Arrays.asList(assignees));

    taskService.complete(user1Task.getId(),variables);

    4) 簽收并完成任務(wù)。先讓use22和user23完成任務(wù),代碼如下:

    Task user22Task = taskService.createTaskQuery().taskAssignee("user22").singleResult();

    taskService.complete(user22Task.getId());

    Task user23Task = taskService.createTaskQuery().taskAssignee("user23").singleResult();

    taskService.complete(user23Task.getId());

    5) 回退多實例任務(wù)。user21查看到待辦任務(wù)后,發(fā)現(xiàn)該任務(wù)不應(yīng)該是自己處理的,于是回退給user1,代碼如下:

    Task user21Task = taskService.createTaskQuery().taskAssignee("user21").singleResult();

    taskService.setAssignee(user21Task.getId(),null);

    Task rollbackTask = taskService.newTask();

    rollbackTask.setAssignee("user1");

    Map rollbackTaskVariablesLocal = new HashMap<>();

    rollbackTaskVariablesLocal.put("MULTI_INSTANCE_ROLLBACK_",true);

    rollbackTaskVariablesLocal.put("INSTANCE_ROLLBACK_ID_",user21Task.getId());

    taskService.saveTask(rollbackTask);

    taskService.setVariablesLocal(rollbackTask.getId(),rollbackTaskVariablesLocal);

    6) user1重新分配任務(wù)

    user1Task = taskService.createTaskQuery().taskAssignee("user1").singleResult();

    Map user1TaskVariablesLocal = taskService.getVariablesLocal(user1Task.getId());

    if(user1TaskVariablesLocal.containsKey("MULTI_INSTANCE_ROLLBACK_")){

    boolean isRollbackTask = (boolean)user1TaskVariablesLocal.get("MULTI_INSTANCE_ROLLBACK_");

    if(isRollbackTask){

    String originalTaskId = (String)user1TaskVariablesLocal.get("INSTANCE_ROLLBACK_ID_");

    if(StringUtils.isEmpty(originalTaskId)){

    throw new Exception("the multi instance rollback task has no original task");}

    taskService.setAssignee(originalTaskId,"user24"); }}

    7) 新分配的用戶查看待辦并完成任務(wù),代碼如下:

    Task user24Task = taskService.createTaskQuery().taskAssignee("user24").singleResult();

    taskService.complete(originalTaskId);

    historyService.deleteHistoricTaskInstance(originalTaskId);

    8) 會簽任務(wù)結(jié)束,流程繼續(xù)

    3 結(jié)論

    本文利用Activiti技術(shù)并結(jié)合一定的算法實現(xiàn)了多實例會簽任務(wù)的回退,為多實例任務(wù)分發(fā)錯誤的情況提供了解決方案。這個方案通過使用Activiti自身提供的API,并結(jié)合任務(wù)的本地變量,從而擴展了Activiti的多實例任務(wù),讓分發(fā)錯誤的子實例得以修正,同時還不影響其他正確的子實例。但是由于時間、精力、知識水平的制約,本設(shè)計也有需要提高的地方,例如由于使用了變量,導(dǎo)致變量表的快速增加,對查詢性能存在影響。后續(xù)可以考慮將這些變量的內(nèi)容單獨存在一張表中。

    參考文獻:

    [1] 范玉順.工作流管理技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2001.

    [2] 閆洪磊.Activiti實戰(zhàn)[M].北京:機械工業(yè)出版社,2014.

    [3] 顧大明.基于JBPM的工作流會簽設(shè)計[J].民營科技,2010(12).

    [4] 羅海濱,范玉順,吳澄.工作流技術(shù)綜述[J].軟件學(xué)報,2000,11(7):899-907.

    [5] 梅峰,于洋,衛(wèi)青延,等.基于開源工作流 Activiti的企業(yè)協(xié)同信息平臺研究[J].福建電腦,2012(11):125-127.

    [6] 張利君,馬駿,楊濤,等.基于工作流的動態(tài)任務(wù)調(diào)度研究與實現(xiàn)[J].計算機工程與設(shè)計,2009(10):2533-2537.

    [7] 王安慧,孫長銀.管理信息系統(tǒng)會簽管理模塊的設(shè)計與應(yīng)用[J].三峽大學(xué)學(xué)報,2001,23(5):454-457.

    [8] 馮天佑,梁立宇,李成華,等.基于Activiti工作流引擎技術(shù)的電力行業(yè)業(yè)務(wù)流程管理系統(tǒng)[J].信息通信,2013(8):57-59.

    [9] Chen W.Enterprise information management system basedon J2EE and MVC mode[C]//Proceedings of the 9th In-ternational Symposium on Linear Drives for Industry Appli-cations.2014,3:427-433.

    [10] 薛華成.管理信息系統(tǒng)[M].北京:清華大學(xué)出版社,1993.

    [11] WFMC-TC-1025,工作流過程定義接口———XML 過程定義語言[S].

    [12] 阿斯特.作流管理:模型、方法和系統(tǒng)[M].王建民,譯.北京:清華大學(xué)出版社,2004.

    [13] 葉小路,錢真坤.基于 Activiti5 的水司OA系統(tǒng)設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2013,12(6):93-95.

    [14] Alexander Grosskopf,Gero Decker,Mathias Weske. The Process Business Process Modeling Using BPMN[M].Meghan-Kiffer Press,2009.

    猜你喜歡
    工作流
    支持節(jié)點協(xié)同的工作流模型構(gòu)建方法研究
    基于工作流2.0的智慧教室設(shè)計與研究
    工作流在電力生產(chǎn)管理信息系統(tǒng)中的設(shè)計和應(yīng)用
    基于J2EE的電子政務(wù)系統(tǒng)研究與應(yīng)用
    基于J2EE的電子政務(wù)系統(tǒng)研究與應(yīng)用
    成人av一区二区三区在线看| 在线播放国产精品三级| 成熟少妇高潮喷水视频| 欧美日韩国产mv在线观看视频| 黄网站色视频无遮挡免费观看| 亚洲 国产 在线| 婷婷精品国产亚洲av在线 | 精品人妻在线不人妻| 村上凉子中文字幕在线| 亚洲av美国av| 成年人免费黄色播放视频| 人人妻人人澡人人爽人人夜夜| 精品久久久久久久毛片微露脸| 日韩熟女老妇一区二区性免费视频| 中文字幕另类日韩欧美亚洲嫩草| 中国美女看黄片| 操出白浆在线播放| 可以免费在线观看a视频的电影网站| 欧洲精品卡2卡3卡4卡5卡区| 成人精品一区二区免费| 午夜两性在线视频| 精品久久久久久,| 人妻 亚洲 视频| www.999成人在线观看| 久久国产精品大桥未久av| 亚洲av欧美aⅴ国产| 久久精品亚洲av国产电影网| 狂野欧美激情性xxxx| 多毛熟女@视频| 国产精品一区二区免费欧美| 老司机亚洲免费影院| 激情视频va一区二区三区| 极品少妇高潮喷水抽搐| 精品国产一区二区三区四区第35| 午夜福利,免费看| 午夜福利免费观看在线| 久久亚洲真实| 无人区码免费观看不卡| 国产精品 欧美亚洲| 久久午夜综合久久蜜桃| 中文字幕精品免费在线观看视频| 成人av一区二区三区在线看| 不卡一级毛片| 精品一区二区三卡| 亚洲精品粉嫩美女一区| av超薄肉色丝袜交足视频| 国产熟女午夜一区二区三区| 黑人猛操日本美女一级片| 丁香六月欧美| 又紧又爽又黄一区二区| 精品亚洲成国产av| 中文字幕人妻丝袜一区二区| 交换朋友夫妻互换小说| 国产极品粉嫩免费观看在线| www.精华液| 国产激情欧美一区二区| 一级黄色大片毛片| 国产亚洲精品久久久久久毛片 | 女人被躁到高潮嗷嗷叫费观| 人妻 亚洲 视频| 欧美日本中文国产一区发布| 久久国产乱子伦精品免费另类| 久久精品人人爽人人爽视色| 午夜老司机福利片| 高清在线国产一区| 国产日韩一区二区三区精品不卡| 多毛熟女@视频| 国产99久久九九免费精品| 午夜日韩欧美国产| 丰满饥渴人妻一区二区三| 久久国产精品影院| 下体分泌物呈黄色| 亚洲精品在线观看二区| 俄罗斯特黄特色一大片| 欧美日韩亚洲综合一区二区三区_| 又大又爽又粗| 50天的宝宝边吃奶边哭怎么回事| 国产欧美日韩一区二区三区在线| 叶爱在线成人免费视频播放| 欧美一级毛片孕妇| 亚洲精品一卡2卡三卡4卡5卡| 亚洲片人在线观看| 男女下面插进去视频免费观看| 亚洲精品乱久久久久久| 美女国产高潮福利片在线看| 在线永久观看黄色视频| 国产精品成人在线| 欧美最黄视频在线播放免费 | 悠悠久久av| 91精品三级在线观看| 麻豆国产av国片精品| 国产成人av激情在线播放| 国产亚洲一区二区精品| 国产午夜精品久久久久久| 久99久视频精品免费| 日日夜夜操网爽| 久久婷婷成人综合色麻豆| 日本精品一区二区三区蜜桃| 热99re8久久精品国产| 热re99久久国产66热| 99久久人妻综合| 99精国产麻豆久久婷婷| 精品午夜福利视频在线观看一区| 国产精品国产高清国产av | 50天的宝宝边吃奶边哭怎么回事| 国产精品影院久久| 亚洲九九香蕉| 人妻久久中文字幕网| 国产精品乱码一区二三区的特点 | www.自偷自拍.com| 国产伦人伦偷精品视频| 成熟少妇高潮喷水视频| 精品国产超薄肉色丝袜足j| www.999成人在线观看| 波多野结衣一区麻豆| 久久青草综合色| 国产精品久久久久久精品古装| 亚洲,欧美精品.| 99riav亚洲国产免费| 久久国产精品人妻蜜桃| 飞空精品影院首页| 性色av乱码一区二区三区2| 老司机午夜福利在线观看视频| 在线十欧美十亚洲十日本专区| 日韩 欧美 亚洲 中文字幕| 又大又爽又粗| 色综合婷婷激情| av中文乱码字幕在线| 国产有黄有色有爽视频| 中出人妻视频一区二区| 精品一区二区三区视频在线观看免费 | 久热爱精品视频在线9| 久久天堂一区二区三区四区| 女警被强在线播放| 国产精品乱码一区二三区的特点 | 国产一区在线观看成人免费| 国产黄色免费在线视频| 黄色毛片三级朝国网站| 日本欧美视频一区| 91国产中文字幕| 免费在线观看日本一区| 色在线成人网| 最新的欧美精品一区二区| xxx96com| 国产男靠女视频免费网站| 少妇裸体淫交视频免费看高清 | 亚洲在线自拍视频| av天堂在线播放| 免费女性裸体啪啪无遮挡网站| 色综合欧美亚洲国产小说| 一边摸一边抽搐一进一出视频| 80岁老熟妇乱子伦牲交| 麻豆国产av国片精品| 搡老熟女国产l中国老女人| 国产日韩欧美亚洲二区| 免费看十八禁软件| 日日夜夜操网爽| 午夜免费成人在线视频| 啪啪无遮挡十八禁网站| 久久ye,这里只有精品| 不卡一级毛片| 精品国产乱码久久久久久男人| 精品欧美一区二区三区在线| 黄色 视频免费看| 90打野战视频偷拍视频| 多毛熟女@视频| 天堂俺去俺来也www色官网| 中文字幕人妻丝袜一区二区| 精品国产一区二区久久| 一边摸一边抽搐一进一出视频| 三上悠亚av全集在线观看| 亚洲熟妇熟女久久| 大码成人一级视频| 午夜激情av网站| 国产精品免费一区二区三区在线 | 国产精品99久久99久久久不卡| 18禁国产床啪视频网站| 操美女的视频在线观看| 在线观看www视频免费| 久久香蕉国产精品| 欧美一级毛片孕妇| 午夜精品国产一区二区电影| 交换朋友夫妻互换小说| 韩国av一区二区三区四区| 日韩欧美一区视频在线观看| 免费在线观看黄色视频的| 国产成+人综合+亚洲专区| 日韩精品免费视频一区二区三区| 国产国语露脸激情在线看| 天天躁日日躁夜夜躁夜夜| 一a级毛片在线观看| av不卡在线播放| av视频免费观看在线观看| 午夜精品久久久久久毛片777| 午夜福利影视在线免费观看| 国产欧美日韩一区二区三| 久9热在线精品视频| 日韩免费高清中文字幕av| 国产免费av片在线观看野外av| 亚洲熟女精品中文字幕| 757午夜福利合集在线观看| 人人妻人人爽人人添夜夜欢视频| 美女扒开内裤让男人捅视频| 久久人人97超碰香蕉20202| 国产免费现黄频在线看| 国产日韩一区二区三区精品不卡| 巨乳人妻的诱惑在线观看| 久久久久国内视频| netflix在线观看网站| 在线观看免费视频网站a站| 久久九九热精品免费| 99久久99久久久精品蜜桃| 亚洲精品久久成人aⅴ小说| 欧美精品一区二区免费开放| 亚洲av片天天在线观看| 亚洲第一青青草原| 国产亚洲欧美98| 久久国产精品影院| 欧美日韩乱码在线| 人人澡人人妻人| 日本五十路高清| 日本a在线网址| 成人18禁高潮啪啪吃奶动态图| 三上悠亚av全集在线观看| 69av精品久久久久久| 黄色怎么调成土黄色| 亚洲美女黄片视频| 男人操女人黄网站| 亚洲欧美精品综合一区二区三区| 国产成人精品在线电影| 国产日韩一区二区三区精品不卡| 久久国产精品男人的天堂亚洲| 国产精品偷伦视频观看了| 女人爽到高潮嗷嗷叫在线视频| 宅男免费午夜| 久久草成人影院| 精品国产亚洲在线| 母亲3免费完整高清在线观看| av国产精品久久久久影院| 在线观看一区二区三区激情| 波多野结衣一区麻豆| 女性被躁到高潮视频| 91精品三级在线观看| 中文字幕色久视频| 18禁观看日本| 超色免费av| 在线十欧美十亚洲十日本专区| 日韩三级视频一区二区三区| 最新美女视频免费是黄的| 婷婷精品国产亚洲av在线 | 男人舔女人的私密视频| 国产成人影院久久av| 精品国产国语对白av| 在线永久观看黄色视频| 婷婷丁香在线五月| 精品久久久久久,| 成人黄色视频免费在线看| a级毛片黄视频| 亚洲精品粉嫩美女一区| 黑人欧美特级aaaaaa片| 久久久精品免费免费高清| 黄色片一级片一级黄色片| 欧美日韩精品网址| 久久人妻福利社区极品人妻图片| 亚洲 欧美一区二区三区| 一区二区日韩欧美中文字幕| 欧美黄色淫秽网站| av线在线观看网站| 国产av又大| 亚洲色图av天堂| 国产精品一区二区在线观看99| 制服人妻中文乱码| 精品电影一区二区在线| 国产一区二区三区在线臀色熟女 | 欧美亚洲日本最大视频资源| 一区福利在线观看| 久久久久久久精品吃奶| 成人国语在线视频| 成年人午夜在线观看视频| 国产精品免费一区二区三区在线 | 人人妻人人添人人爽欧美一区卜| 久久久久久久国产电影| cao死你这个sao货| 国产精品亚洲av一区麻豆| 高清欧美精品videossex| av欧美777| 欧美色视频一区免费| 午夜日韩欧美国产| av欧美777| 午夜精品在线福利| 看片在线看免费视频| 亚洲国产毛片av蜜桃av| 国产成人影院久久av| 9191精品国产免费久久| 精品视频人人做人人爽| 欧美亚洲 丝袜 人妻 在线| 亚洲欧美一区二区三区久久| 啦啦啦免费观看视频1| 亚洲国产欧美一区二区综合| 国产熟女午夜一区二区三区| 日日爽夜夜爽网站| 伊人久久大香线蕉亚洲五| videosex国产| 日本一区二区免费在线视频| 国产欧美日韩一区二区精品| 久久国产精品人妻蜜桃| 国产亚洲精品一区二区www | 天堂中文最新版在线下载| 人人妻人人澡人人看| 精品国内亚洲2022精品成人 | 女人久久www免费人成看片| 精品无人区乱码1区二区| 欧美人与性动交α欧美软件| 精品一品国产午夜福利视频| 18禁裸乳无遮挡免费网站照片 | 日韩欧美在线二视频 | 中文欧美无线码| 黑人欧美特级aaaaaa片| 欧美 日韩 精品 国产| 狠狠婷婷综合久久久久久88av| 多毛熟女@视频| 精品国产超薄肉色丝袜足j| 国产亚洲精品久久久久5区| av天堂久久9| 每晚都被弄得嗷嗷叫到高潮| 国产一区二区三区综合在线观看| 欧美日本中文国产一区发布| 欧美成狂野欧美在线观看| 成人精品一区二区免费| 精品电影一区二区在线| 精品一区二区三区视频在线观看免费 | 国产成人一区二区三区免费视频网站| 中文字幕精品免费在线观看视频| 精品人妻在线不人妻| 69精品国产乱码久久久| 久久精品亚洲精品国产色婷小说| 久久精品aⅴ一区二区三区四区| 制服诱惑二区| 91九色精品人成在线观看| 亚洲国产看品久久| 亚洲七黄色美女视频| 91老司机精品| 亚洲成人免费电影在线观看| 黑丝袜美女国产一区| 亚洲综合色网址| 天堂俺去俺来也www色官网| 午夜福利在线免费观看网站| 国产aⅴ精品一区二区三区波| 麻豆成人av在线观看| 少妇裸体淫交视频免费看高清 | 色94色欧美一区二区| 国内久久婷婷六月综合欲色啪| 身体一侧抽搐| 免费观看人在逋| 国产男女内射视频| 建设人人有责人人尽责人人享有的| 国产三级黄色录像| 大片电影免费在线观看免费| 亚洲精品成人av观看孕妇| 人人妻人人澡人人爽人人夜夜| 国产精品 欧美亚洲| 女人被躁到高潮嗷嗷叫费观| 天天操日日干夜夜撸| 免费一级毛片在线播放高清视频 | 大香蕉久久网| 桃红色精品国产亚洲av| 亚洲在线自拍视频| 国产xxxxx性猛交| 别揉我奶头~嗯~啊~动态视频| 高清欧美精品videossex| 欧美黑人欧美精品刺激| 精品午夜福利视频在线观看一区| 老熟女久久久| 在线观看午夜福利视频| 91九色精品人成在线观看| 国产91精品成人一区二区三区| 性少妇av在线| 亚洲五月色婷婷综合| 午夜福利在线免费观看网站| 免费av中文字幕在线| 国产精品影院久久| a在线观看视频网站| 无限看片的www在线观看| 久久精品国产清高在天天线| 欧美色视频一区免费| 好看av亚洲va欧美ⅴa在| 丰满的人妻完整版| 免费在线观看亚洲国产| 国产精品98久久久久久宅男小说| 国产精品.久久久| 在线播放国产精品三级| 精品人妻1区二区| 日韩大码丰满熟妇| 搡老熟女国产l中国老女人| 99热只有精品国产| 中文字幕色久视频| 女人被躁到高潮嗷嗷叫费观| 高清黄色对白视频在线免费看| 91老司机精品| 国产又爽黄色视频| 黄色片一级片一级黄色片| 国产精品综合久久久久久久免费 | 宅男免费午夜| 国产精品一区二区免费欧美| 天堂动漫精品| 99国产精品99久久久久| 大陆偷拍与自拍| 美国免费a级毛片| 99精国产麻豆久久婷婷| 热99国产精品久久久久久7| 亚洲av日韩在线播放| 久久精品亚洲熟妇少妇任你| 91av网站免费观看| 老司机亚洲免费影院| 久久精品国产亚洲av高清一级| av不卡在线播放| 天堂中文最新版在线下载| 老司机深夜福利视频在线观看| а√天堂www在线а√下载 | 亚洲色图 男人天堂 中文字幕| 久久久精品区二区三区| 亚洲熟女精品中文字幕| 纯流量卡能插随身wifi吗| 国产欧美日韩综合在线一区二区| 老熟女久久久| 在线av久久热| 国产精品久久久av美女十八| 夫妻午夜视频| 欧美激情 高清一区二区三区| 国产日韩一区二区三区精品不卡| 精品国产一区二区三区四区第35| 一进一出抽搐动态| 少妇 在线观看| 免费女性裸体啪啪无遮挡网站| 精品国产乱子伦一区二区三区| 欧美在线黄色| 午夜成年电影在线免费观看| 国产不卡av网站在线观看| 在线播放国产精品三级| 欧美乱妇无乱码| 在线观看免费视频日本深夜| 欧美日韩成人在线一区二区| 中文字幕制服av| 99热国产这里只有精品6| 婷婷成人精品国产| 精品熟女少妇八av免费久了| 涩涩av久久男人的天堂| 久久久国产成人精品二区 | 久久国产精品大桥未久av| 丝袜美足系列| 中文字幕人妻丝袜制服| 欧美不卡视频在线免费观看 | 丰满迷人的少妇在线观看| 天堂√8在线中文| 精品高清国产在线一区| 日本a在线网址| 亚洲精品成人av观看孕妇| 制服诱惑二区| 午夜免费成人在线视频| 国产精品免费大片| 99精品欧美一区二区三区四区| 久久青草综合色| 黄色视频,在线免费观看| 午夜福利影视在线免费观看| 亚洲精华国产精华精| 亚洲色图av天堂| 亚洲精品中文字幕一二三四区| 91在线观看av| 美女高潮到喷水免费观看| 国产精品一区二区在线不卡| 精品久久久久久,| 精品国产一区二区久久| 免费观看精品视频网站| 涩涩av久久男人的天堂| 亚洲人成电影免费在线| 精品国产亚洲在线| 亚洲欧美一区二区三区黑人| 久久国产亚洲av麻豆专区| 欧美午夜高清在线| 高清av免费在线| 国产xxxxx性猛交| 很黄的视频免费| 丰满饥渴人妻一区二区三| 免费看十八禁软件| 9热在线视频观看99| 国产av精品麻豆| 男男h啪啪无遮挡| 国产精品久久久人人做人人爽| 可以免费在线观看a视频的电影网站| 99久久人妻综合| 精品免费久久久久久久清纯 | 两个人免费观看高清视频| 一区二区三区精品91| 女人爽到高潮嗷嗷叫在线视频| 久久久久久久午夜电影 | 男男h啪啪无遮挡| 欧美日本中文国产一区发布| 人人澡人人妻人| 宅男免费午夜| 正在播放国产对白刺激| 国产精品香港三级国产av潘金莲| 夜夜夜夜夜久久久久| 人人妻,人人澡人人爽秒播| 国产精品美女特级片免费视频播放器 | 日韩精品免费视频一区二区三区| 欧美丝袜亚洲另类 | 亚洲人成77777在线视频| 亚洲 欧美一区二区三区| 捣出白浆h1v1| 看免费av毛片| 亚洲熟妇熟女久久| av国产精品久久久久影院| 日本黄色日本黄色录像| 国产精品一区二区免费欧美| 欧美老熟妇乱子伦牲交| 制服人妻中文乱码| 1024香蕉在线观看| 国产片内射在线| 国产精品久久久人人做人人爽| 免费久久久久久久精品成人欧美视频| 美女午夜性视频免费| 精品午夜福利视频在线观看一区| 国产成人系列免费观看| 国产成人欧美在线观看 | 久久精品国产99精品国产亚洲性色 | 99热只有精品国产| 9色porny在线观看| 一二三四社区在线视频社区8| 在线观看免费高清a一片| 极品教师在线免费播放| 老司机深夜福利视频在线观看| 国产精品久久久久久人妻精品电影| 在线十欧美十亚洲十日本专区| 亚洲一码二码三码区别大吗| 久久久久国产精品人妻aⅴ院 | 欧美日韩精品网址| 国产精品久久视频播放| 麻豆成人av在线观看| 黄片大片在线免费观看| 美女视频免费永久观看网站| 欧美成狂野欧美在线观看| 悠悠久久av| 黄色片一级片一级黄色片| 午夜免费成人在线视频| 成人国语在线视频| 欧美在线黄色| 欧美国产精品一级二级三级| 国产一卡二卡三卡精品| 精品一区二区三区av网在线观看| 天堂√8在线中文| 男男h啪啪无遮挡| 亚洲九九香蕉| 又黄又爽又免费观看的视频| 一级,二级,三级黄色视频| 亚洲成人免费电影在线观看| 午夜精品在线福利| 涩涩av久久男人的天堂| 丰满人妻熟妇乱又伦精品不卡| 欧美日本中文国产一区发布| 咕卡用的链子| av网站免费在线观看视频| 久久国产精品影院| 欧美乱妇无乱码| 999久久久国产精品视频| 日本vs欧美在线观看视频| 国产一区有黄有色的免费视频| 亚洲综合色网址| 久久中文看片网| 一级毛片精品| 日韩视频一区二区在线观看| 亚洲va日本ⅴa欧美va伊人久久| 老鸭窝网址在线观看| 一边摸一边做爽爽视频免费| 两性夫妻黄色片| 日韩制服丝袜自拍偷拍| 久久久久视频综合| 日韩精品免费视频一区二区三区| 中文字幕最新亚洲高清| 黄色视频不卡| 咕卡用的链子| cao死你这个sao货| 午夜两性在线视频| 中文字幕人妻熟女乱码| 免费看a级黄色片| 777米奇影视久久| 亚洲视频免费观看视频| 夜夜躁狠狠躁天天躁| 亚洲人成77777在线视频| 757午夜福利合集在线观看| 在线观看午夜福利视频| 12—13女人毛片做爰片一| 久久久精品国产亚洲av高清涩受| 国产精品久久久av美女十八| 黄色丝袜av网址大全| 亚洲精品粉嫩美女一区| 两性午夜刺激爽爽歪歪视频在线观看 | 老司机靠b影院| 老司机午夜十八禁免费视频| 精品国产一区二区三区四区第35| √禁漫天堂资源中文www| 国产蜜桃级精品一区二区三区 | 最近最新中文字幕大全免费视频| 国产精品.久久久| 国产精品秋霞免费鲁丝片| 亚洲 国产 在线| 老司机午夜十八禁免费视频| 新久久久久国产一级毛片| 久99久视频精品免费| 国产日韩欧美亚洲二区| av网站在线播放免费| 伊人久久大香线蕉亚洲五| 国产男女超爽视频在线观看| 欧美国产精品va在线观看不卡| 麻豆av在线久日| 亚洲中文字幕日韩|