99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

基于SpringBoot的農(nóng)產(chǎn)品溯源系統(tǒng)設(shè)計(jì)與防偽溯源碼生成實(shí)戰(zhàn)

基于SpringBoot的農(nóng)產(chǎn)品溯源系統(tǒng)設(shè)計(jì)與防偽溯源碼生成實(shí)戰(zhàn) 眼下做農(nóng)產(chǎn)品這塊最頭疼的一件事就是“自賣(mài)自夸”。你說(shuō)你的大米是有機(jī)種植消費(fèi)者掃碼看到一個(gè)網(wǎng)頁(yè)寫(xiě)著“綠色無(wú)公害”心里其實(shí)犯嘀咕這頁(yè)面誰(shuí)做的數(shù)據(jù)哪來(lái)的是不是隨便找個(gè)人開(kāi)發(fā)個(gè)網(wǎng)站就能編我在接過(guò)不少溯源項(xiàng)目后發(fā)現(xiàn)農(nóng)產(chǎn)品溯源系統(tǒng)的本質(zhì)不是“做一個(gè)網(wǎng)站”而是把農(nóng)產(chǎn)品從種子到餐桌的全鏈路數(shù)據(jù)變成一條消費(fèi)者愿意相信的證據(jù)鏈。這篇就來(lái)說(shuō)說(shuō)怎么用SpringBoot從零搭一套真正能落地、能應(yīng)對(duì)掃碼并發(fā)、能防數(shù)據(jù)造假的農(nóng)產(chǎn)品溯源系統(tǒng)包括我實(shí)際項(xiàng)目里的表設(shè)計(jì)、溯源碼生成策略和踩過(guò)的坑。這套系統(tǒng)適合誰(shuí)準(zhǔn)備做農(nóng)產(chǎn)品品牌化的種植基地、做食品供應(yīng)鏈的技術(shù)團(tuán)隊(duì)、以及接農(nóng)產(chǎn)品類目外包項(xiàng)目的開(kāi)發(fā)者??赐昴隳苣米咭惶讓?shí)打?qū)嵉谋斫Y(jié)構(gòu)和核心代碼思路而不是一個(gè)概念性的“大架構(gòu)圖”。1. 農(nóng)產(chǎn)品的“身份證”從哪里來(lái)溯源系統(tǒng)要解決的真實(shí)問(wèn)題1.1 產(chǎn)地、批次、流通環(huán)節(jié)三者的數(shù)據(jù)關(guān)系先理清很多第一版溯源系統(tǒng)之所以做成“假大空”是因?yàn)橹蛔隽艘粋€(gè)靜態(tài)頁(yè)面加一個(gè)二維碼——掃碼進(jìn)去是一段不變的文字描述比如“產(chǎn)自山東某基地2023年10月采收”。這種系統(tǒng)本質(zhì)上是電子宣傳冊(cè)不是溯源。真正的溯源要求每個(gè)最小銷售單元一箱蘋(píng)果、一袋米、一盒茶葉都能對(duì)應(yīng)到具體的批次、具體的產(chǎn)地環(huán)境記錄、具體的檢測(cè)報(bào)告和流通軌跡。這就引出溯源系統(tǒng)里最核心的概念溯源單元Traceability Unit。它不是商品SPU同一個(gè)商品也不是庫(kù)存SKU某個(gè)規(guī)格而是“同一時(shí)間、同一產(chǎn)地、同一生產(chǎn)批次的一批貨”。比如同一個(gè)果園同一天采摘的同一品種蘋(píng)果做成一箱5kg的規(guī)格這500箱就是一個(gè)溯源批次。消費(fèi)者買(mǎi)到的是這500箱里的某一箱掃包裝上的碼看到的是這整整一個(gè)批次的完整數(shù)據(jù)。所以第一個(gè)要理清的架構(gòu)關(guān)系是商品Product比如“紅富士蘋(píng)果”只是基礎(chǔ)信息。批次Batch一次種植/采收/加工的過(guò)程記錄帶唯一批次號(hào)。溯源單元TraceUnit批次下的最小追溯單位通常一個(gè)溯源單元對(duì)應(yīng)一個(gè)唯一的溯源碼。流轉(zhuǎn)記錄TraceLog這個(gè)批次從種植、施肥、采收、檢測(cè)、倉(cāng)儲(chǔ)、運(yùn)輸?shù)戒N售各環(huán)節(jié)的事件流。我在項(xiàng)目里用的簡(jiǎn)化模型是Product 1 : N Batch 1 : N TraceUnit 1 : N TraceLog。業(yè)務(wù)上操作的是批次消費(fèi)者掃的是TraceUnit的碼掃碼后通過(guò)TraceUnit找到Batch再拉出整條TraceLog鏈條。這個(gè)模型的好處是消費(fèi)者感知到的是唯一碼我們存儲(chǔ)和管理的最小開(kāi)口卻是批次數(shù)據(jù)量可控不至于每個(gè)蘋(píng)果都單獨(dú)建一份生長(zhǎng)記錄的副本。1.2 一個(gè)合格的溯源碼掃碼后到底該展示什么消費(fèi)者掃碼的典型心理是“這是不是真的能不能證明”所以掃碼結(jié)果頁(yè)至少需要分三個(gè)層次來(lái)呈現(xiàn)產(chǎn)地證明層基地名稱、經(jīng)緯度、實(shí)景照片、種植戶信息可選展示。過(guò)程證明層農(nóng)事記錄施肥、澆水、施藥、采收時(shí)間、檢測(cè)報(bào)告農(nóng)殘、重金屬、加工/包裝記錄。流通證明層出庫(kù)時(shí)間、運(yùn)輸方式、到達(dá)銷售端的時(shí)間。我們當(dāng)時(shí)還加了一個(gè)很實(shí)用的細(xì)節(jié)在掃碼頁(yè)頂部顯示“本批次已通過(guò)XX項(xiàng)質(zhì)量檢測(cè)”用一個(gè)數(shù)字抓住消費(fèi)者注意力比放一堆報(bào)告圖片有效得多。因?yàn)檎嬲龝?huì)逐張點(diǎn)開(kāi)PDF看報(bào)告的用戶極少但“已通過(guò)17項(xiàng)檢測(cè)”這個(gè)數(shù)字一眼就能建立信任。提示千萬(wàn)別在掃碼頁(yè)堆長(zhǎng)圖和視頻移動(dòng)端加載慢跳出率高。實(shí)測(cè)下來(lái)圖片體積控制在200KB以內(nèi)首屏接口響應(yīng)在500ms以內(nèi)用戶掃碼后愿意繼續(xù)往下看概率會(huì)大幅提升。2. 技術(shù)選型定盤(pán)子SpringBoot MyBatis Vue為主的架構(gòu)取舍2.1 為什么選SpringBoot而不是Spring MVC或者Spring Cloud這個(gè)項(xiàng)目我選的是SpringBoot 2.7.x而不是直接上Spring Cloud原因很現(xiàn)實(shí)農(nóng)產(chǎn)品溯源系統(tǒng)的瓶頸在數(shù)據(jù)采集端和碼的防偽能力不在微服務(wù)拆分。大部分基地的日常操作場(chǎng)景是農(nóng)戶通過(guò)小程序錄農(nóng)事記錄、倉(cāng)庫(kù)管理員掃碼出庫(kù)、質(zhì)檢員上傳檢測(cè)報(bào)告。并發(fā)量集中在掃碼查詢但查詢鏈路極其簡(jiǎn)單按碼查批次根本用不著微服務(wù)那套注冊(cè)中心、網(wǎng)關(guān)、配置中心。SpringBoot 對(duì)這個(gè)項(xiàng)目而言最大的價(jià)值是自動(dòng)配置帶來(lái)的開(kāi)發(fā)效率。你要對(duì)接MySQL、Redis、MinIO對(duì)象存儲(chǔ)存圖片、RabbitMQ可選項(xiàng)用于異步生成溯源碼PDF的時(shí)候起步成本低到可以忽略。同時(shí)它內(nèi)置的Tomcat、優(yōu)雅停機(jī)、監(jiān)控端點(diǎn)actuator啥都有對(duì)中小團(tuán)隊(duì)十分友好。2.2 持久層用MyBatis還是JPA我的選擇和后端理由我兩個(gè)都用過(guò)農(nóng)產(chǎn)品溯源這種項(xiàng)目我選MyBatis-Plus。為什么因?yàn)樗菰聪到y(tǒng)里最頻繁的操作是多條件組合查詢。比如“查2024年5月之后采收的、產(chǎn)地是XX基地的、且檢測(cè)狀態(tài)為合格的所有批次”。MyBatis-Plus的WrapperQueryWrapper/LambdaQueryWrapper可以非常干凈地用代碼動(dòng)態(tài)拼接這種查詢不會(huì)把SQL字符串碎成一地。JPA雖然也能用Specification但實(shí)際項(xiàng)目里寫(xiě)起來(lái)還是覺(jué)得不夠直給。另一個(gè)原因是MyBatis對(duì)復(fù)雜SQL的控制力。比如我要做“按省統(tǒng)計(jì)批次數(shù)量”的報(bào)表SQLJPA需要寫(xiě)JPQL或者原生SQL混搭MyBatis里直接寫(xiě)XML后期限定索引、EXPLAIN優(yōu)化都方便。本項(xiàng)目表的關(guān)聯(lián)不算深但報(bào)表查詢有門(mén)檻XML方式更適合漸進(jìn)式優(yōu)化。2.3 前端選Vue還是服務(wù)端渲染掃碼頁(yè)單獨(dú)處理的邏輯管理后臺(tái)給基地管理員、質(zhì)檢員用的我選的是Vue 3 Element Plus因?yàn)檫@類系統(tǒng)的核心是表格、表單、狀態(tài)流轉(zhuǎn)組件化很順手。但消費(fèi)者掃碼的H5頁(yè)面我的建議是不要和后臺(tái)共用一個(gè)SPA。原因很實(shí)際掃碼頁(yè)要快首屏要輕為了一頁(yè)展示引入整個(gè)Vue全家桶vue-router、pinia、axios、打包后的ElementUI沒(méi)必要。掃碼頁(yè)是面向消費(fèi)者的鏈路越短越好。所以掃碼頁(yè)我用了很輕量的一種方式后端直接用Thymeleaf渲染一個(gè)簡(jiǎn)單模板因?yàn)镾pringBoot天然支持。生成的二維碼內(nèi)容指向后端接口/trace/scan/{code}后端查庫(kù)后把數(shù)據(jù)塞進(jìn)模板返回一個(gè)靜態(tài)化傾向的HTML頁(yè)面。這樣掃碼首屏只依賴一個(gè)接口比啟動(dòng)一個(gè)SPA應(yīng)用快得多還少一層跨域困擾。注意如果你團(tuán)隊(duì)里前端資源充足掃碼頁(yè)做成獨(dú)立小站點(diǎn)也完全可以。但技術(shù)決策上不要讓“掃碼頁(yè)”和“管理后臺(tái)”在同一個(gè)構(gòu)建產(chǎn)物里它們生命周期不同迭代頻率完全不同強(qiáng)行耦合在一起容易互相拖累。3. 核心鏈路拆解從播種批次到掃碼查詢數(shù)據(jù)如何一步步打通3.1 第一批數(shù)據(jù)從哪里來(lái)基礎(chǔ)檔案和批次初始化系統(tǒng)真正上線時(shí)第一步不是錄入一堆溯源記錄而是先把基礎(chǔ)檔案建好。基地信息base_info、產(chǎn)品庫(kù)product、種植戶/農(nóng)戶farmer、檢測(cè)機(jī)構(gòu)org、倉(cāng)庫(kù)warehouse這五類主數(shù)據(jù)必須先有否則后續(xù)批次關(guān)聯(lián)時(shí)根本沒(méi)法落庫(kù)。然后是初始化批次比如“2024-春季-煙臺(tái)紅富士-001批次”。這個(gè)批次號(hào)不是自然的自增ID而是有業(yè)務(wù)含義的編碼我定的規(guī)則是area_code product_code year season seq例如YT-HFS-2024-S1-001。這樣在Excel導(dǎo)出、物流單打印、人工電話核對(duì)時(shí)光看號(hào)碼就能定位到產(chǎn)地和季別。批次初始化時(shí)就要把一批默認(rèn)的溯源數(shù)據(jù)掛上去比如“種苗來(lái)源”“種植面積”“定植日期”這些是后續(xù)TraceLog的起點(diǎn)。3.2 農(nóng)事記錄農(nóng)戶端小程序數(shù)據(jù)如何進(jìn)到主庫(kù)農(nóng)戶在大棚里干完活用小程序選“施肥”填肥料名稱、用量、施用地塊、現(xiàn)場(chǎng)拍照提交后通過(guò)后端接口寫(xiě)入farm_record表。這里有個(gè)特別容易踩的坑農(nóng)戶上傳的圖片動(dòng)不動(dòng)是原圖3MB甚至5MB以上。如果你不做壓縮一兩周后MinIO或者OSS里就堆滿了垃圾數(shù)據(jù)而且掃碼頁(yè)加載原圖移動(dòng)網(wǎng)絡(luò)下能卡到崩潰。我的處理方式是后端接文件后先存原圖到臨時(shí)bucket異步用Java的Thumbnailator庫(kù)壓縮到最長(zhǎng)邊1280px、質(zhì)量80%再轉(zhuǎn)存正式bucket然后刪除臨時(shí)文件。接口返回給前端的是壓縮后的URL。這個(gè)環(huán)節(jié)雖然不起眼但是真正影響體驗(yàn)的細(xì)節(jié)。農(nóng)事記錄落到庫(kù)里之后根據(jù)肥料類型/施藥類型自動(dòng)打標(biāo)到批次上如果本次是施藥得分錄是不是有“安全間隔期”字段消費(fèi)者端展示“距采收還有N天/已過(guò)安全期”這個(gè)細(xì)節(jié)比單純展示“打過(guò)藥”要好得多也算體現(xiàn)專業(yè)度。3.3 檢測(cè)報(bào)告與加工包裝狀態(tài)機(jī)設(shè)計(jì)比想象中重要溯源鏈條里的數(shù)據(jù)狀態(tài)不是隨手改改就行必須有一個(gè)狀態(tài)機(jī)約束。這是我做了幾單項(xiàng)目后才真正意識(shí)到的問(wèn)題。比如一個(gè)批次的“檢測(cè)報(bào)告”和“包裝記錄”在業(yè)務(wù)上是有順序的先檢測(cè)合格才能開(kāi)始包裝。如果設(shè)計(jì)上允許直接錄入包裝記錄很容易出現(xiàn)“檢測(cè)還沒(méi)出結(jié)果貨就包裝好了”的邏輯漏洞。我設(shè)計(jì)的核心狀態(tài)機(jī)是1 種植中只能添加農(nóng)事記錄、環(huán)境記錄。2 待檢測(cè)采收后進(jìn)入可上傳樣品信息和檢測(cè)報(bào)告。3 已檢測(cè)檢測(cè)通過(guò)可以打碼、包裝、生成溯源單元。4 在庫(kù)包裝完成入倉(cāng)庫(kù)。5 流通過(guò)程出庫(kù)后每筆掃碼/收貨核銷記錄都被視為物流節(jié)點(diǎn)。6 已完成/異常終止售罄或者出現(xiàn)質(zhì)量追溯問(wèn)題被強(qiáng)制終止。狀態(tài)變更統(tǒng)一走一個(gè)batch_status_log表記錄誰(shuí)在什么時(shí)間把狀態(tài)從A改到B原因是什么。溯源系統(tǒng)本身就是為了“可信”所以審計(jì)日志不是可有可無(wú)而是基礎(chǔ)設(shè)施。消費(fèi)者雖然只看最終結(jié)果但你真正應(yīng)對(duì)職業(yè)打假人或者監(jiān)管抽檢時(shí)這套審計(jì)日志才是保命的。3.4 消費(fèi)者掃碼查詢一個(gè)TraceUnit查詢接口背后的SQL邏輯消費(fèi)者掃碼的接口我把路徑設(shè)計(jì)成/trace/scan/{traceCode}。traceCode就是印在包裝上的溯源碼。整個(gè)查詢邏輯我用三層對(duì)象返回TraceBaseVO產(chǎn)品名、批次號(hào)、產(chǎn)地、批次圖片、檢測(cè)狀態(tài)摘要。TraceLogVO種植記錄列表、檢測(cè)報(bào)告列表、包裝記錄列表按時(shí)間倒序。TraceFlowVO出庫(kù)、運(yùn)輸、到達(dá)門(mén)店的時(shí)間點(diǎn)流水。SQL層面我用了兩次查詢而不是一次性大JOIN第一次按trace_code查到trace_unit拿到batch_id第二次按batch_id批量查日志和圖片。原因很簡(jiǎn)單掃碼請(qǐng)求是高頻讀鏈路要短日志查詢是低頻讀分開(kāi)查更容易做緩存。Redis里我直接把掃碼結(jié)果的JSON緩存了2小時(shí)按批次維度緩存同類產(chǎn)品短時(shí)間被反復(fù)掃時(shí)基本不會(huì)打穿數(shù)據(jù)庫(kù)。注意緩存key要按batch_id而不是trace_code設(shè)計(jì)。因?yàn)橐粋€(gè)批次下有幾百上千個(gè)碼如果按trace_code緩存同一個(gè)批次大量碼被掃等于多次重復(fù)查庫(kù)和多次重復(fù)緩存。按批次緩存后第一個(gè)碼觸發(fā)查詢后面的碼直接命中同一份緩存性能壓力驟減。4. 溯源碼生成與防偽讓二維碼背后的數(shù)據(jù)不容易被造假4.1 碼的編碼規(guī)則用不透明ID替代自增主鍵溯源系統(tǒng)一定不能把數(shù)據(jù)庫(kù)自增ID直接拼成二維碼給別人掃。比如trace_unit表的自增ID是10086二維碼內(nèi)容是http://xxx/trace/scan/10086消費(fèi)者一眼就知道這個(gè)系統(tǒng)的碼是可以遍歷的把10087輸入照樣能掃出下一條數(shù)據(jù)。所以我給溯源單元設(shè)計(jì)的編碼是20位數(shù)字字母混合的防偽碼生成規(guī)則前4位產(chǎn)品類別碼如YTFS——煙臺(tái)富士后16位基于IdWorker雪花算法生成的ID做Base32編碼生成后寫(xiě)入trace_code字段并加上唯一索引。雪花算法的好處是全局唯一、趨勢(shì)遞增而且在分布式環(huán)境下不用額外依賴中心發(fā)號(hào)器對(duì)溯源這種跨基地部署的場(chǎng)景很合適。4.2 防偽查詢次數(shù)提示這是溯源系統(tǒng)最容易被忽略的細(xì)節(jié)真正做過(guò)溯源系統(tǒng)的人都會(huì)告訴你不要只做“第一次掃碼顯示詳情”還要做防偽提示。我實(shí)際項(xiàng)目的邏輯是trace_unit表里有個(gè)scan_count字段。消費(fèi)者掃碼后后端在返回詳情前先做一次自增。判斷規(guī)則scan_count 1顯示“正品溯源信息首次查詢”。scan_count 1顯示“該溯源編碼已被查詢N次請(qǐng)確認(rèn)包裝完好”。這個(gè)機(jī)制雖然是簡(jiǎn)單計(jì)數(shù)但在實(shí)際防偽場(chǎng)景里很有震懾力。消費(fèi)者不會(huì)去研究你的數(shù)據(jù)庫(kù)設(shè)計(jì)他看到“已被查詢3次”這個(gè)字眼再結(jié)合包裝實(shí)際情況自己就會(huì)判斷是否遇到二次包裝。我對(duì)這個(gè)功能還有個(gè)小忠告千萬(wàn)別做得太極端比如碼被掃了兩次就報(bào)警因?yàn)橥粋€(gè)消費(fèi)者完全可能反復(fù)掃同一個(gè)碼。給一個(gè)溫和提醒的閾值即可。4.3 二維碼打印別在包裝環(huán)節(jié)掉鏈子后端的碼生成只是第一步真正封裝印刷時(shí)問(wèn)題才多。最常遇到的就是包裝廠拿到的PDF二維碼和實(shí)際URL對(duì)不上或者碼被拉伸變形掃不出來(lái)。建議二維碼圖片統(tǒng)一用后端接口生成2400x2400px的PNG交付給包裝廠并打上“掃碼驗(yàn)證H5不依賴網(wǎng)絡(luò)環(huán)境”的說(shuō)明其實(shí)需要網(wǎng)絡(luò)但至少不要被微信內(nèi)置瀏覽器攔截。另一個(gè)坑是二維碼的糾錯(cuò)級(jí)別我習(xí)慣用H最高糾錯(cuò)級(jí)別因?yàn)檗r(nóng)產(chǎn)品包裝袋/紙箱在運(yùn)輸過(guò)程中必定會(huì)有摩擦、污損糾錯(cuò)級(jí)別高的碼在部分遮擋的情況下依然可以掃出來(lái)。這個(gè)選擇犧牲了一點(diǎn)碼密度但換來(lái)的是終端的識(shí)別率。5. 數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)戰(zhàn)一張“流水主表”撐起整個(gè)溯源鏈條5.1 核心表的字段清單和關(guān)系說(shuō)明下面直接給關(guān)鍵表結(jié)構(gòu)整理過(guò)的核心字段不是完整版base_info基地表id, name, address, lng, lat, cover_img, contact_name, contact_phone, status。product產(chǎn)品表id, name, category_id, spec, unit, origin_id, brand, desc。batch溯源批次主表id, batch_no, product_id, base_id, plan_qty, real_qty, harvest_date, status, status_reason。trace_unit溯源單元/溯源碼表id, batch_id, trace_code, qr_img_url, scan_count, first_scan_time, create_by, create_time。farm_record農(nóng)事記錄表id, batch_id, record_type, record_date, content, pesticide_name, dosage, safety_interval_day, operator, img_list。detect_report檢測(cè)報(bào)告表id, batch_id, report_no, org_name, report_date, result, pdf_url, items_json。trace_log流轉(zhuǎn)日志表id, batch_id, node_name, operator, operate_desc, img_list, location_name, create_time。batch_status_log批次狀態(tài)變更審計(jì)表id, batch_id, from_status, to_status, operator_id, reason, create_time。這張?jiān)O(shè)計(jì)里最關(guān)鍵的是溯源單元表的trace_code有唯一索引一切查詢都能在200ms內(nèi)完成批次表的狀態(tài)有索引列表頁(yè)的篩選不會(huì)因?yàn)闋顟B(tài)條件而全表掃描。5.2 為什么不用區(qū)塊鏈也敢說(shuō)“數(shù)據(jù)難篡改”一說(shuō)溯源很多人馬上想到區(qū)塊鏈。但實(shí)際做項(xiàng)目我會(huì)坦誠(chéng)地說(shuō)現(xiàn)階段中小型農(nóng)產(chǎn)品溯源區(qū)塊鏈更多是加分項(xiàng)而不是必需項(xiàng)。原因很簡(jiǎn)單你基地內(nèi)部錄入數(shù)據(jù)的人是一樣的鏈上鏈下如果數(shù)據(jù)源在源頭就是人手工錄入的區(qū)塊鏈只能保證“上鏈后沒(méi)人改”不能保證“錄入時(shí)就是真的”。那區(qū)塊鏈的真實(shí)價(jià)值在哪在于多機(jī)構(gòu)間互換信任。如果未來(lái)消費(fèi)者掃碼時(shí)數(shù)據(jù)來(lái)源于“某政府平臺(tái)存證 基地自錄 物流公司軌跡”等多方節(jié)點(diǎn)區(qū)塊鏈的共識(shí)機(jī)制才有實(shí)際意義。在這個(gè)單體的SpringBoot項(xiàng)目里我采用了一個(gè)折中方案對(duì)關(guān)鍵數(shù)據(jù)檢測(cè)報(bào)告、批次狀態(tài)變更、首次掃碼時(shí)間計(jì)算MD5哈希存到獨(dú)立的hash字段里并定期把一批哈希匯總輸出成不可篡改的表單歸檔。這個(gè)方案成本很低但至少能應(yīng)對(duì)“你們系統(tǒng)數(shù)據(jù)是不是隨便改”的質(zhì)疑。5.3 如何設(shè)計(jì)索引避免掃碼查詢打爆數(shù)據(jù)庫(kù)開(kāi)發(fā)者剛做完這類系統(tǒng)時(shí)最容易出現(xiàn)的問(wèn)題是掃碼高峰期trace_unit全表掃碼導(dǎo)致數(shù)據(jù)庫(kù)CPU飆升。我的實(shí)際解決方案是trace_code建唯一索引必須。batch_idstatus建聯(lián)合索引。farm_record.detect_report里的batch_id建普通索引。列表頁(yè)SQL用LIMIT分頁(yè)禁止大偏移量OFFSET 100000這種方式。我在壓測(cè)時(shí)模擬一個(gè)批次2000個(gè)碼高頻掃碼QPS到200左右時(shí)數(shù)據(jù)庫(kù)無(wú)壓力瓶頸反而出在文件服務(wù)器上圖片加載。所以后來(lái)做了圖片CDN加速靜態(tài)資源全部走獨(dú)立域名避免和生產(chǎn)環(huán)境接口爭(zhēng)帶寬。6. 實(shí)操中最容易翻車(chē)的幾個(gè)點(diǎn)我的踩坑記錄和解決過(guò)程6.1 時(shí)間字段的“時(shí)區(qū)幽靈”項(xiàng)目上線第一天就出了個(gè)很低級(jí)的bug農(nóng)戶在山東下午5點(diǎn)錄的農(nóng)事記錄后臺(tái)看是第二天的凌晨1點(diǎn)。查了半天是前端傳的時(shí)間字符串沒(méi)帶時(shí)區(qū)后端用LocalDateTime.parse解析時(shí)默認(rèn)按服務(wù)器時(shí)區(qū)服務(wù)器是UTC就多了8小時(shí)偏差。修復(fù)方案全局約定所有時(shí)間以字符串格式帶時(shí)區(qū)傳輸統(tǒng)一ISO86012024-05-10T17:00:0008:00后端接受后轉(zhuǎn)LocalDateTime存儲(chǔ)。展示層一律按東八區(qū)格式化后再輸出。這個(gè)坑不復(fù)雜但在溯源場(chǎng)景里影響特別大因?yàn)橄M(fèi)者掃碼看到“施肥時(shí)間 2024-05-11 01:00”第一反應(yīng)就是這數(shù)據(jù)是瞎編的。6.2 批次狀態(tài)流轉(zhuǎn)時(shí)前端并發(fā)點(diǎn)擊導(dǎo)致?tīng)顟B(tài)錯(cuò)亂入庫(kù)操作時(shí)倉(cāng)庫(kù)管理員快速連點(diǎn)兩次“確認(rèn)入庫(kù)”后端并發(fā)執(zhí)行兩次都把狀態(tài)改成了“在庫(kù)”而且中間插入了兩條重復(fù)的入庫(kù)日志。原因是我當(dāng)時(shí)只用了一個(gè)狀態(tài)字段校驗(yàn)沒(méi)有事務(wù)鎖。修復(fù)方式是給批次表加了一個(gè)樂(lè)觀鎖版本號(hào)version字段每次更新時(shí)update batch set status3, versionversion1 where id? and versionoldVersion。影響行數(shù)為0時(shí)說(shuō)明版本沖突重放查詢后提示用戶“狀態(tài)已更新請(qǐng)刷新重試”。同時(shí)在入庫(kù)日志插入前用batch_id node_name operate_date做了唯一索引約束雙重保險(xiǎn)。6.3 包裝廠拿不到碼溯源碼導(dǎo)出的權(quán)限和格式設(shè)計(jì)對(duì)接包裝廠時(shí)你肯定不希望業(yè)務(wù)人員直接從庫(kù)里導(dǎo)出裸數(shù)據(jù)。我們做的方案是后臺(tái)“碼管理”頁(yè)面按批次選擇要導(dǎo)出的碼數(shù)量系統(tǒng)會(huì)生成一個(gè)加密的PDF壓縮包里面按包裝規(guī)格排版好二維碼。壓縮包同時(shí)設(shè)置了打開(kāi)密碼由管理員線下告知廠方。PDF排版用Java的iText庫(kù)生成每一頁(yè)有批次號(hào)、產(chǎn)品名、頁(yè)碼水印。這個(gè)模塊剛上線時(shí)有個(gè)設(shè)計(jì)失誤沒(méi)有限制單次導(dǎo)出數(shù)量結(jié)果有人一次性導(dǎo)了10萬(wàn)個(gè)碼直接把PDF生成接口卡死了。后來(lái)加了個(gè)限制單次導(dǎo)出不超過(guò)5000個(gè)且生成任務(wù)走異步線程池完成后通過(guò)郵件推送下載鏈接。6.4 圖片上傳重復(fù)對(duì)象導(dǎo)致存儲(chǔ)膨脹前面提到過(guò)壓縮圖片還有個(gè)問(wèn)題是同一個(gè)批次下農(nóng)戶和質(zhì)檢員可能上傳同一張現(xiàn)場(chǎng)照片微信傳到手機(jī)再上傳落庫(kù)后存了兩份。后來(lái)我在上傳接口里加了文件MD5去重同一個(gè)MD5在bucket中已存在時(shí)只記錄引用不重復(fù)存儲(chǔ)。這個(gè)優(yōu)化在運(yùn)營(yíng)半年后查存儲(chǔ)量時(shí)效果非常明顯大約省了三分之一的空間。6.5 移動(dòng)端弱網(wǎng)場(chǎng)景下掃碼頁(yè)面的降級(jí)方案農(nóng)產(chǎn)品溯源的消費(fèi)者經(jīng)常是在菜市場(chǎng)、路邊攤掃碼網(wǎng)絡(luò)條件不比辦公室。如果后端接口超時(shí)前端如果直接白屏體驗(yàn)極差。我加的降級(jí)方案是后端接口設(shè)置快速失敗連接超時(shí)2秒、讀超時(shí)3秒。如果查詢失敗模板頁(yè)仍渲染基礎(chǔ)產(chǎn)品名和批次號(hào)并顯示“溯源信息加載失敗請(qǐng)稍后重試”。前端埋點(diǎn)監(jiān)聽(tīng)錯(cuò)誤碼方便統(tǒng)計(jì)哪個(gè)批次掃碼頁(yè)失敗率高及時(shí)排查。7. 項(xiàng)目上線后要盯的數(shù)據(jù)這些指標(biāo)比“功能做完了”更重要系統(tǒng)交付以后維護(hù)階段比開(kāi)發(fā)階段更見(jiàn)功力。我給自己定的三個(gè)核心觀察指標(biāo)掃碼轉(zhuǎn)化率掃碼次數(shù)/可掃碼總碼數(shù)低于30%說(shuō)明消費(fèi)者對(duì)碼的興趣不大要么是碼的位置太隱蔽要么是掃碼頁(yè)面價(jià)值感不足。掃碼頁(yè)跳出率打開(kāi)詳情后3秒內(nèi)關(guān)閉比例如果超過(guò)40%大概率詳情頁(yè)加載慢或者信息排版看著不專業(yè)。批次溯源完整率狀態(tài)走到“流通過(guò)程”批次的數(shù)量占比記錄不完整說(shuō)明基地的操作流程沒(méi)有真正被系統(tǒng)約束住。我們有一次復(fù)盤(pán)發(fā)現(xiàn)某個(gè)茶葉基地的掃碼跳出率特別高點(diǎn)開(kāi)一看是詳情頁(yè)放了4張超大尺寸的茶園實(shí)拍圖每張1MB以上移動(dòng)網(wǎng)絡(luò)下一張圖轉(zhuǎn)半天。后來(lái)前端把輪播圖改為“首圖加載 縮略圖點(diǎn)擊查看大圖”跳出率立刻降了十幾個(gè)點(diǎn)。溯源系統(tǒng)這種業(yè)務(wù)消費(fèi)者看的不是功能是信任感和體驗(yàn)這倆都得靠細(xì)節(jié)堆出來(lái)。再分享最后一個(gè)技巧也是我最常對(duì)合作伙伴說(shuō)的溯源系統(tǒng)運(yùn)營(yíng)半年后真正的價(jià)值不在二維碼頁(yè)面而在你手里積累的那張“批次-產(chǎn)地-檢測(cè)”數(shù)據(jù)表和消費(fèi)反饋數(shù)據(jù)。這是你做品牌故事、甚至和渠道談溢價(jià)的底氣。代碼寫(xiě)得好保證的是下限數(shù)據(jù)運(yùn)營(yíng)做得好才讓這套系統(tǒng)有了真正的生命。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲岛国电影| 丁香五月天啪啪| 国产99久久久国产精品免费看 | 五月花激情| 激情五月亚洲综合网| 综合色吧| 丁香五月综合激情久久潮喷| 色噜噜丁香| 成人 视频免费观看网站| 欧美又粗又大一区二区在线观看| 综合狠狠干| 91久久网站| 99热精品无码| Av九九| 婷婷四色成人综合色视| 天天日狠狠| 97碰碰在线看视频免费| 玖玖99精品视频| 亚洲日本韩国| 激情六月婷婷| 日产精品一线二线三线芒果| 亚洲综合五月天婷婷丁香| 超碰在线免费9| 999影院成人在线影院| 激情五月伊人婷婷| 精品无码色| 中文字幕九九九九| 亚洲黄色精品| 婷婷九月激情| 色九网| 丁香五月婷婷五月| 色色色五月婷| 精品牛仔裤超碰| 9热久久在线| 九九热精品| 亚洲激情av| 天天操综合网| 人妻精品在线| www激情| 亚洲人妻av| 色综合色五月| 国产成人网| 激情九月婷婷| 激情内射人妻1区2区3区| 五月激情在线| 丁香8月手机综合| 成人做爰高潮A片免费视频| 五月丁香六月婷婷网| 日本色99| 99久久久久| 99热这里是精品| 久久92| 香蕉人在线香蕉人在线 | 狠色色狠网| 婷婷五点亚洲| 99ri视频在线播放| 九九精品免费| 久久婷婷六月综合国际| 99热官网精品在线| 国产免费AV网站| 色色五月丁香婷婷| 日本精品。999| 婷婷色播六月无码| 免费不卡狠操美女视频网 | 91九色精品女同系列| 日韩精品999| 亚洲黄色精品| AV五月丁香| 天天做天天要天天爽| 亚洲九九99精品视频在线播放| 精品皮股午夜AV| 婷婷情色激情| 婷婷久久亚洲| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 日欧一片内射VA在线影院| 色九九综合| 99国产在线精品视频| 春色激情| 97精品自拍| 成人五月天在线观看| 人人人人人人人人人草| 99热精品无码| 色99色| 五月激香蕉网| 秋霞免费三级片| 色色色综合视频| 99小视频网站| 亚洲色精彩| 天天综合网、天天综合色| 无码网| 蜜乳国产网站| 久久久999精品| 亚洲操操操| 国产真实乱对白精彩| 五月婷丁香久久综合| 激情四射网| 色婷婷丁香五月天在线视频| 99免费视频| 色激情五月| 免看黄大片AA | 日本在线wwww| 天天拍夜夜爽日日| 色色操| 中文字幕精品无码一区二区| 站长推荐无码播放| 亚州精品久久久久AV无码| 日韩另类在线观看| 色婷婷激情Av久久久| 婷婷五月天综合AV| 青青福利网| 丁香六月婷婷久久综合| 日日操夜夜擼| 少妇水多A片太爽了| 婷婷五月天av小说| 色五月无码| 五月丁六月香| 欧美性猛交XXXX乱大交极品| 九九综合| 97在线刺激| 夫妇交换刺激做爰| 丁香无月在线观看| 色婷婷9| 艳妇野外情欲放荡HD| 亚洲成人九九九| 六月婷婷六月天天在线免费| 婷婷五月大香蕉| 亚洲成人在线观看av| 久久婷婷亚洲无码一起| 天天日日爽| 色色婷婷五月| 色五婷婷| 综合网亚洲| 色五月情| 综合久色五月| 六月婷婷色综合| 欧美婷婷九月| WWW,五月| 丁香五月婷婷少妇| 五月天天爽| 粉嫩AV久久一区二区三区| 婷婷丁香五月天影院 | 极品少妇高潮啪啪AV无码| 丁香五月开心亚洲| 天天久| 亚洲A片成人无码久久精品青桔| 五月丁香六月综合基地| 激情综合网五月| 密视AV综合在线| aaa日韩| 婷婷五月激情中文字幕| 五月丁香啪啪网| 在线观看免费狠狠色丁香香综合| 青青草原伊人网| 日日日日操| 超碰在线网站9| oumeisesewang| 久久草大香蕉| 色综合色色| 99在线视频播放| 性爱五月婷婷| 亚洲欧美丁香五月天亚洲欧美| 五月婷婷综合成人| 亚洲久久激情| 激情亚洲婷婷| 综合色色色| 五月丁香综合啪啪| www99热| 思思99精品视频在线观看| 可以看的av| 久久这里只有国产| 国产熟妇的荡欲午夜视频| 天天色月| 国精产品一区一区三区免费视频 | 久久亚洲婷婷| 日韩操人| 国产亚洲精品久久久久久郑州| 天天干夜夜操A片| 亚洲久久激情| 五月丁香六月婷婷久久久综合| 欧美婷婷色| 色高清无码视频| 97日韩无套内| 91婷婷五月天嫩女| 色播六月| 久久久99精品免费观看| 六月丁香VA| www.久久久久久久久久久| 噜噜吧天天爱| 激情五月激情综合俺也去婷婷小说| 久久婷婷视频| 五月天停停成人网| 日本系列_4页_777FP| 大香蕉九操| 五月激情日本在线| 婷婷中文综合网| 久久六月天| 五月婷啪啪| 日本丁香五月| 婷婷丁香五月亚洲免费| 亚洲成人网站在线观看| 五月天丁香婷婷视频网址| 丁香五月婷中字幕| 五月婷六月综合在线观看| 婷婷综合五月天| 国精产品一区二区三区| 另类 在线| 久久99网站| 99这里只有免费的精品| 性爱网六月丁香| 婷婷五月色色| 亚洲日韩26uuu| 综合超碰熟| 五月丁香啪啪啪综合网| xfplayav在线| 色欲色天天香综合| 日本丰满久久| 深爱五月婷婷| 久久婷婷丁香| 久久久久人妻中文| 婷婷综合| 伊人影院久久网| 67194成I人在线观看线路1| xx综合网| 综合久久婷婷| 久久亚洲天堂| 亚洲婷婷性爱| www.五月丁香| 成人丁香| 丁香五月第四色88| 婷婷五月激情四月综合| 9久久网| 97婷婷色| 免费婷婷| 六月婷婷五月丁香| 丁香六月亚洲综合| 久久黄色免费视频| 色欲天天综合| 超碰在线观看caop| 日本4399天堂中出| 天天日,天天干,天天操| 超碰人人99| 天天操九九插| 五月丁香六月婷婷,婷| Caoub青青超碰| 可以直接看的av| 五月天综合视频网| 激情五月色在线播放| 六月欧美综合色情| 久热欧美| 97精品欧美91久久久久久久| 青青草原伊人网| 成人无码髙潮喷水A片| A在线观看| 激情五月天色婷婷综合| 超碰精品手机在线| 九九综合影音先锋| 五月丁香成人网| 色婷婷综合影院| 色婷婷色久综| 狠色狠色狠色狠色狠色网| 变态另类9| 日本天堂网站99| 亚洲成av人影院| 久操大香蕉| 丁香五月婷婷激情蜜桃| 久久色五月天综合网| 丁香狠狠| 婷婷六月网| 色色精品色| 99日本在线| 色综合香蕉| 久久综合香蕉国产国产蜜臀AV| 欧美性生交XXXXX无码小说| 激情五月天 婷婷| 91碰在线| 色色五月天婷婷| 婷婷激情在线| 人人操AV| 六月婷婷色| 免费黄色片子| 99这里只有精品|v| 色色激情五月天| 五月天综合色| 99热这里都是精品| 国产在线aaa片一区二区99| 婷婷色婷婷| 97天堂| 热九九精品| 欧美三级级99久久| 亚洲视色| 99,色| 大香蕉精品视频| 日本三久久| 色哟哟www| 久久99精品日本| 超碰色婷婷| 97人人操人人| 99热无码精品| 久色网五月| 伊人五月网| 五月天成人在线| 久色国产| 97色女人在线| 99re这里只有| www.色五月| 爆乳熟妇一区二区三区四区| 五月天婷婷网站| 久热精彩视频98| 极品五月天| 97AV人人插人人操| 国产综合色婷婷精品久久| 人人操AV| 婷婷激情六月中文| 五月天国产| 久大香蕉| 欧美精品XXXXBBBB| 91女人18毛片水多国产| 综合狠狠干| 91色色色| 五月婷婷深爱六月| 五月丁香六月婷婷成人电影| 六月婷婷激情| 91丨九色丨国产打屁股网站| www.maotanji.com| 五月天第四色开心色播| 久久99性爱视频| 国产九九一区二区三区| 色五月婷婷网| 久9精品| 欧美A级网站| 美女要搞搞天天搞搞搞网站| 五月天 婷 欧美亚洲| 99热手机在线精品| 久久精品日| 97精品自拍| 男人天堂亚洲综合| 欧美成人日韩| 情欲禁地| 免费播放片大片| 狠狠操.com| 亚洲婷婷激情888精品久| 5月婷婷6月六月丁香| 99久久九九| 香蕉97碰碰碰欧美| 日韩成人网址| 丁香六月婷婷综合欧美| 9久热| 丁香社92视频| 天天噜天天爱| 九九99精品视频在线观看| 丁香狠狠干| 一起草无码| 一本久久亚洲五月婷婷| 91男同| 爱iii做iiii日| 丁香色综合| 婷婷五月婷婷五月| 色色热| 丁香9月婷婷| 激情深爱综合| 五月丁香久久久久| 九九精品少妇| 亚洲精品五月| 国产肥白大熟妇BBBB视频| 九九激情视频| 婷婷五月天免费| 婷婷中文在线| 色色五月婷婷久久| 五月综合无码| 成人久碰| 丁香五月婷婷亚洲另类| 五月天丁香| 夜色综合网| 亚洲99视频| 婷婷开心激情| 丁香伊人网| 这里只有精彩亚洲视频推荐| 国产真实乱了老女人视频| 婷色五月天| 噜噜噜噜综合在线| 热99热久| 欧美激情综合色丁香婷婷五月天| 成人国产欧美大片一区| 99re在线观看视频| 婷婷五月色播| 2015好吊操| 亚洲成人网站在线播放| 成人AV网站在线| 热99只有里视频| 丁香五月偷拍| 2014天天爽| 九九99九九99偷拍视频免费看| 九月婷婷激情久久| 日日操天天爽| 丁香六月综合| 色五月综合在线| 九九婷婷激情综合网| 婷婷五月激情基地| 激情五月激情综合网| 91操人| 99热爱爱干干日| 97艹| 亚洲啪啪网| 丁香五月大香蕉AV| 九九99九九99| 91狠狠色丁香婷婷综合久久| 色色色色综合网| 黄网在线免费观看| 天天做天天爽| mmm1717.6dbm人人爱人人操| 亚洲日本韩国| 亚洲色综久久五月| 9色免费网| 国产午夜一区二区三区| 琪琪色热色色| 97色干| 丁香色五月 97干| 综合久久综合| 激情五月图| 99综合视频一体| 丁香五月天婷婷久久| 欧美韩国日本| 深爱激情网综合| Aα在线免费观看| 玖玖婷婷五月天| 9久久网| 久久亚洲无码| 五月丁香综合啪啪| 丁香五月激动深爱欧美| 婷婷丁香五月综合网上 | 极品人妻VIDEOSSS人妻| 五月婷婷激情综合拍| 99在线看片| 激情婷婷六月天| 噜噜色五月| 97人人干人人操| 五月在线婷色| 婷婷五月综合色小姐小说| 六月丁香五月天| 91久久综合亚洲噜噜成人在线| 五月婷婷与六月丁香图片激情| 久99| 蒲京久久无码视频| 丁香五月91| 激情婷婷五月亚洲| www.91热久久| 中文字幕在线播放视频| 天天射射夜| 开心久久网婷婷| 日本久久婷| 亚洲舔观看| 97碰 在线视频观看| 97色天堂| 天天色色婷婷| 久久总和99| 噼里啪啦在线观看免费完整版视频| 五月天婷婷高清无码| 久xxxx| 91丨九色丨国产打屁股| 婷婷五月天激情诱惑| www,色婷婷| 欧美电影在线播放| 熟女网站久久| 五月婷婷色吧!| 婷婷激情人妻| 六月婷婷毛片| 中文字幕黄色片| 九九色99| www.天天色综合| 不卡成人免费| 99精品在线播放| 夜夜躁爽日| 五月6香色婷婷视频| 婷婷激情六月中文| 色色婷婷丁香| 狠狠干狠狠干| 人妻久久久久久久久久| eeuss人妻| 色色色五月| 丁香六月婷婷| 天天肏视频| 久久这里只有精品视频1| 91色久| 美女被肏网站在线看| 亚洲色网址| 六月丁香VA| site:jszngf.com| 天天干,天天操,天天射| 激情综合五月丁香六月婷婷| 人人爱操| 国产亚洲在线观看| 色爽九九| 涩综合婷婷| 另类小说五月天综合网| 五月在线婷色| 日本色频| 色色吧综合| 激情网色五月| www99精品在线观看| 天天日天天色| 丁香五月色情| 婷婷99中文字幕| 天天做天天爱天天爽综合网| 久久久人人人妻丝丝丝| www.日日日.com| 久久性爱视频| 亚欧州精品视频| 五月婷av| 久在线综合69| 伊人喵咪a V| 国产精品人成A片一区二区| 啊v视频在线观看| 婷婷五月天影视首页| 婷婷综合色播网| 婷婷激情蜜桃玖玖丁香| 狠狠人人| 亚洲五月天伊人| 五月丁香六月日逼| 免费精品66| 99er这里只有精品| 嫩草AV久久伊人妇女超级A| 99ri久久| 91精品在线看| 丁香五月激情啪啪| 久久er免费视频| 91婷婷| 五月天久久婷婷| 婷婷人人操| 九色91国产| 97热这里精品在线视频| √天堂资源在线人妻熟女| 欧美日韩成人在线网站| 亚洲综合视频网| 久久婷婷内射| av九九| 九九99久久| 婷婷中文字幕| 少妇日麻屄| 五月激情视频网| 色五月av伊人| 五月丁香亭亭天天舔| 国产片色| 五月丁香婷婷综合网| 日本丁香五月| www狠狠| 日日噜噜夜夜狠狠久久丁香六月| 精品一二三区久久AAA片| 亚洲乱码精品久久久久..| 99国产精品久久久久久久久久久| 狠狠干最新地址| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 婷婷色啪| 天天爽天天操| 色婷婷呢狠禁久禁| 九九re视频在线视频| 久久9久久| 91九色视频| 亚洲色五月天在线| 天天撸天天干天天插| 五月婷婷五月天在线| 色五月超碰| 激情五月婷| 国产婷婷色综合AV蜜臀AV | 99综合色色色| 性视频久久| 99热日韩这里只有精品| 99精品免费欧美小视频| 九色91国产| 五月丁香综合啪啪| 九月色婷婷婷| 激情五月综合网| 久久机热这里只有| 狠狠干狠狠干| 精品亚洲国产成AV人片传媒| 91亚洲免费片| 99热这里只有99| 婷婷五月综合视频| 国产午夜一区二区三区| 色就色94欧美setu| 久色网址| 五月婷婷久| 99精品亚洲| 五婷婷综合网| 久久久人妻人伦| 五月婷婷花| 色色免费网站| 超碰人人插| 丁香婷婷九月| 99久高清视频| 日本99热| AV人人操| 中文字幕日本最新乱码视频| 天堂中文国产| 久久久人妻门| 99re久久| 久婷久婷激情肉| 天天草天天舔| 天天综合网91| 极品五月天| 无码一区二区三区四区五区| 激情五月婷婷网| 中文激情网| 91疯狂操操操操| 先锋男人99资源| 97视频.干com| 综合久久综合综合| 呦呦AV| 丁香五月天啪啪| 色婷婷成人久久| 5月色亭亭视频| 原琪琪色影院| 色九月综合网| 日日懆天天懆| 男妓跪趴把舌头伸进我的嘴巴| 婷婷六月视频| 99爱视频在线播放| 91操人人操| 成人色五月天婷婷| 色婷婷www| 一级七香蕉| 第一区久久网站| 色婷久久| 热中文字幕| 丁香五月色网| 色色日本欧美| 激情综合色播| 丁香五月婷婷影视先锋| RenRenSe在线视频网站| 中文激情网| 日本片日本片祼观看网站在线看中文版网页在线看 | 婷婷五月天淫荡| 亚洲中文丁香| 丁香五月天啪啪| 九九这里是免费的视频5| 天天色色天天| 色婷婷播放| 色噜噜在线| 午夜不卡久久精品无码免费| 丁香狠狠| 99国产精品久久久久久久久久久 | 九九综合88| 五月天激情网页| 欧美成人猛片AAAAAAA| 丁香六月婷婷五月天| 这里只有精品视频99| 激情丁香九九五月综合网| 色婷婷激情| 青青草99热久久精品国| 欧美激情综合色综合啪啪五月| 亚洲国产网站| 成人丁香五月天Av| 九九99热| 99色婷婷视频| 伊人婷婷青青cao| 色色丁香| 久久老码第一| 亚洲欧洲中文日韩久久AV乱码| 2025中文在线视频字幕免费观看| 精品一二三区久久AAA片| 五月激情综合激情五月| 99视频这里有精品| 五月婷婷之美女图片| 人操91在线| 色婷婷的五月天| 欧美色九| 99视频只有精品| 思思99热在线| 九色99视频| www99热| 日本久草福利| 国产 码在线成人网站| 天天舔天天插天天爱| 日本天天操| 久久一二三视频| 日本熟女啪啪| 9l视频自拍9l九色9l成人| www.99在线| 中字幕视频在线永久在线观看免费 | 亚洲AV人人操| 激情开心五月婷婷| 无套内射极品大美女| 亚洲婷婷五月| 超碰在线人妻| 这里只有精品9| 丁香五月电影院在线观看| 六月婷婷激情图片| 欧美婷婷五月激情| 九热av| 色婷婷亚洲| 99热在这里只有免费精品| 色99综合色88| 久草性爱| 色综合五月在线| 国产成人亚洲综合亚洲| 欧美激情综合| 亚洲激情精品| 五月丁香啪啪啪综合网| 亚洲午夜成人av电影网| 91免费看片| 婷婷的五月天另类视频| 卡视频1区2区| 婷婷伊人綜合中文字幕| 五月丁花六月丁香综合| 丁香六月开心| 亚洲精品另类| 婷婷五月天AV| 五月丁香天堂网| 五月丁香日本一抹本| 久久久亚洲成人无码A片| 久久综合干| 久久久人人人妻丝丝丝| 综合五月婷婷| 大香人妻| 亚洲熟妇AV乱码在线观看| 丁香婷婷五月天在线视频| 在线国产精品色| 婷婷色一二三区波多野结衣| 99热综合| 久久久久亚洲AV无码网影音先锋| 伊人婷婷色激情丁香| 婷婷五月激情欧美| 久久久久久久久久久jjjj| 美女五月天| 五月婷婷五月丁香| 97人人操com| 99激情| 亚洲激情综| 五月丁香六月婷婷网站| 天天综合色丁香| 九九 激情 网| 蒲京久久无码视频| 激情久久久| 色婷婷成人网| 人人摸人人摸| 思思热在线视频99| 亚洲中文无码成人| 欧美影院婷婷| 五月丁香综合影院| 韩国97天堂| 激情内射人妻1区2区3区| 啊v视频在线观看| 婷婷国产成人| 色综合射婷婷| 青青福利网| 天天爽天天日人人爱 | 色色色热热热| 在线可以看的av网址| 丁香 婷婷五月| 五月开心婷婷网| av在线中文| 亚洲色区17| 欧美十二区| 国产乱人偷精品人妻A片| 99re8在这里只有精品| 99九无网码| 深爱激情五月天| 丁香五月激情啪啪| 五月香六月婷| 五月丁香婷中文| 狠狠擼综合| 色亚洲视频| 思思视频这里是精品| 1024日韩| 五月色综合网欧美网| 九九激情综合| 国产激情综合五月久久| 91精品久久久久久久| 色噜噜夜夜夜综合网| 婷婷五月天亚洲综合| 日韩色色一区| 91久久综合亚洲噜噜成人在线| 超色欲天天| 天堂五月婷婷| 九九九九国产| 日本三级中文字幕| 欧美日韩成人免费在线| 久久天堂网| www.色综合.com| 五月婷婷六月天| 婷婷丁香成人| 夜夜操狠狠操| 欧美激情五月天| 最近中文字幕2019视频1| 99精品偷自拍| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | www激情| 久久婷婷亚洲| 91欧美日韩综合| 26uuu精品一区二区| 色无码| 久久在线视频免费观看| www.色多多婷| 久久婷婷综合色丁香| 激情九九六月激情免费视频| 免费啪啪亚州视频| 色五月综合网| www.sd-xiangsu.cpm| 99在线看片| 五月色丁香视频精品| 人妻内射视频| 欧洲亚洲免费视频9| 中文av网站| 黄桃AV无码免费一区二区三区| 欧美情色电影一区二区| 996热re视频在线观看视频| 伊人碰碰婷婷| 亚洲午夜精品久久久久久人妖| 深爱婷婷色| 婷婷色基地| 国产欧美第五十五页| 26uuu欧美| 激情五月婷婷综合秋霞| 婷婷爱五月| 色播五月丁香| 99精品久久久久久久婷婷久久| 成人开心五月天| 国产综合色婷婷精品久久| 三级三久久线久久99久目本WW| www.色五月| 久久大香免费| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 色婷婷综合久久久久| 九九这里只这里只有精品| 亚洲五月天婷婷在线| 91碰超| 成人片黄网站色大片免费毛片| 无码人妻一区二区一牛影视| 五月激情综合网| 综合五月天天天天天五月| 五月婷婷激情中文字幕| 国产乱妇无乱码大黄AA片| 色色色天堂网| 伊人五月婷婷| 开心婷婷五月| 婷婷97狠狠成人网站| 第五婷婷伊人丁香| 国产在线6| 久久美女五月天| 五月丁香啪| 婷婷激情四射五月天| 熟女激情网| 99热66| BBWCUCKOLD精品熟妇| 五月天天综合| 五月天婷婷影院影院| 99久久久免费| 色综合9| 九九视频这里只有精品在线播放| 久久人人妻| 国产精品涩涩涩视频网站| 九九色区| 91精品国产综合久久密臀| 狠狠综合网| 丁香色情五月综合激情| 91热爆在线| 噜一噜免费视频| 色播五月婷婷综合| 超碰在线观看9| 伊人久久丁香狠狠婷婷综合香蕉| 五月天婷婷綜合院| 男人天堂伊人五月丁香| 激情婷婷丁香| 午夜做爱影院| 久热欧美| 琪琪色综合网站| 丁香五月婷婷基地| 婷婷免费精品视频| 丁香av网| 91色色色| 五月精品免费XXX| 99热天堂| 色狠狠色噜噜AV天堂五区| 在线1青婷| www激情| seuuu婷婷| 天堂久久婷婷| 中文不卡一二三区| 99热碰碰| 99精品成人无码A片观看金桔| 色色网站免费| 欧美天天草人人草| 激情婷婷护士激情| 99色热| 99综合免费视频| 色综合色色| 五月停停99| 婷婷色色五月天| 婷婷射婷婷舔| 色婷婷五月天av在线| 国产精品24r| 五月天激情久久| 国产午夜一区二区三区| 色婷婷中文字母五月丁香| 综久久久| 婷婷五月天综合网| 大香蕉久久婷婷| 精品人妻久久久| 天天爽天天操| 99热| 婷婷丁香人妻久久在线观看| 色婷婷九月| 九九久99免费视频| 五月丁香综合激情| 综合XX网| 色婷婷五月天小说网| 激情九月婷婷| 9 1 A v久久久| 国产又爽又猛又粗的视频A片| 久大香蕉| 狠狠色婷婷777| 成人婷婷色五月天| 婷婷五月天激情综合| 日韩中出视频| 能看的AV| 五月激情视频| 婷婷狠狠操| 久久婷婷亚洲五月天| 日本色频| 区美毛片子| 色综合色综合色综合| 乱岳熟女50岁| 岛国AV网| 夜夜大香蕉婷婷丁香| 色色色国产| 啄木鸟黑丝一区二区| 久久9久| www,超碰| 极品五月天| 艳妇野外情欲放荡HD| 五月天婷婷久久视频| 国产婷婷综合在线免费视频| 99这里只有精品99| 亚洲五月综合色播| 五月天天丁香婷婷在线中| 欧美视频五区| 成人一区在线观看| 色狠狠婷婷| 中国丰满熟女A片免费观| 99re在线观看| 91avse| 99亚洲精品| 夜夜干 夜夜操| 五月婷婷激情中心| 婷婷五月丁香激情色情| 综合欧美五月婷婷| 日本69日人视频| 丁香六月激情四射| 国产91九色| 色色网91| 日本9区视频| 精品国婬伦V无码久久久| 日韩在线观看网址| 亚洲视频一区| 无码人妻精品一区二区蜜桃色欲| 五月天婷婷久久视频| 天天色播| 激情综合婷婷| 亚洲国产成人在线| 婷婷色丁香五月| 熟女网站久久| 丁香激情四射| 成人av播放| 激情综合网址| 色综合色五月| 色色吧综合| 四色永久成人网站| 99久在线精品99re8热| 色狠狠综合| 啪啪91| 99re6久热只有精品6在线直播| www.99热这里只有精品| 99免费| 激情色色| 国产精品A成V人在线播放| 人妻内射一区二区在线视频| 欧美性猛交AAAA片黑人 | 96精品成人无码A片观看金桔 | 九九一综合精品| 日本成人噜噜噜噜噜| 色色色色色色97| 丁香五月婷婷综合网| 激情婷婷五月天日本系列 | 激情五月婷婷五月| 婷婷五月丁香超碰| 色色丁香婷婷| 狠狠操综合| 国产毛多水多女人A片| 俺也去五月婷婷丁| 天天综合区| 99热在线爱| 玖玖婷婷五月| 激情欧美婷婷| 五月香蕉婷婷| 综合网五月天123| 丁香五月在线| 色婷婷19| 亚洲五月婷婷| 成人丁香婷婷| 97色视频网| 91尤物九色在线| 99 热| 伊人久久婷婷五月天激情四射| 五月天激情网页| 99久久网站| 日本超碰在线| 国产成人精品亚洲线观看| 激情综合网激情五月丁香五月俺也去| 日逼影音先锋AV男人资源站| 色婷婷色综合激情91| 五月丁香色色网| 欧美色六月婷婷| 日日爱激情| 91seav| 中文字幕无码人妻少妇免费视频 | 婷婷射图五月天| 久狠狠| 亚洲久久激情| 婷婷丁香综合网| 在线视频激情网站| 色热久资源| 一级A片天天操夜夜操| 激情网五月天| 亚洲精品99| 99A片| 丁香五月日韩| 伊人国产婷婷五月天| 99re8在这里只有精品| 日日天天干| 91碰碰视频在线观看| www999日韩精品| 婷婷五月天影视网址| 亚洲综合五月天婷婷| 五月婷婷之综合激情| 久久久aaa| 99精品热视频| 五月婷婷开心六月激情小说| 久久伦乱| 精品少妇人妻AV无码专区偷人 | 怡春院天天干| 亚洲精品字幕| 超碰网站在线观看| 人人操Av| 亚洲六月婷婷| 伊人五月天| 九热电影av| 激情播丁香| 成人免费高清在线播放| 极品人妻VIDEOSSS人妻| 99九精品| 天天射射夜| 日本视频99| 综合福利网| 婷婷久久大香蕉| 在线可以看的av网址| 天天色综网| 伊人久久大香线蕉亚洲五月天,| 丁香五月激情六月欧亚激情综合导航| 五月色天情| 日本久久网| 久操干| 丁香五月人妻熟女| 99热超碰在线| 精品动漫 无码av| www.色婷婷。com| 97婷婷狠狠| 九月婷婷人人操人人舔人人爱| 啪啪色激情五月天| 色五月婷婷九月| 99久久99综合| 桃色五月婷婷| 99色在线| 超碰69天堂| 五月丁香婷婷爱激情综合网| 五月婷婷成人| 最新无毒无码AV| 五月丁香综合啪啪| 色婷婷色99国产综合精品| 影音先锋91在线资源站| 色色婷婷五月| 天天日天天色| 亚洲日本三级片| AAAA亚洲| 日本99视频| 婷婷九月狠狠色| 五月天色婷婷网| 极品人妻VIDEOSSS人妻| 亚洲综合久| 极品人妻VideOssS人妻| 五月婷婷玖玖综合玖玖爱| 做爱夜夜干天天操| 啪啪激情网| 婷婷五月中文字幕| 可以免费看AV网站| 欧美日本免费一道免费视频 | 激情婷婷六月天| 99网址在线看| 婷香五月激情视频| 67194线路二在线观看| 国产色色网站网址| 五月婷婷影| 五月婷婷啪啪啪| 可以免费观看的av| 欧美日韩精品一区二区三区钱| 久久机热这里只有 | 丁香五月五月婷婷欧美大香蕉 | 天天干天天日日| 色色五月婷婷| 狠狠大香婷婷爱| 五月婷婷啪| 日韩高清成人| 182TV大香蕉| av免费在线网站| www,天天干| 亚洲成人综合网在线免费观看| 国产精品久久久久久五月天加勒比 | 99久久99九九99九九九| 久婷婷婷| 99热精品在这里| 超碰97人人操| 激情五月综合网最新| 中美月韩免费A片| 久久久婷婷五月亚洲97号色| 美腿丝袜AV天堂网| 开心激情综合| 99热久久日本| 久久婷婷五月| 五月丁香婷婷啪啪网| 激情五月五月婷婷| 中文字幕黄色电影网址| 韩国激情五月天综合网| 毛片蕉地一二| 久色婷婷200| 丁香五月天天| 九九性爱网| 狠狠99| 六月婷婷激情| 五月丁香| av在线资源| 成人小说 五月天 婷婷| 成人国产欧美大片一区| 国产五月婷| 丁香五月天AV在线 | www.夜夜| 丁香婷婷激情五月色| 性做久久久久久久免费看| 五月色婷婷综合丁香精品无遮挡| 男女啪啪做爰高潮无遮挡| 亚洲 无码 中文字幕 中出| 天堂久热| 婷婷五月丁香综合激情| www.99精品视频| 亚洲操逼片| 开心六月婷| 亚洲精品又粗又大又爽A片| 丁香婷婷六月激情综合| www.9色色色| 婷婷五月花| 精品婷婷| 九九成人| 日本 @ va 免费| 五月天堂色色| 97久久久久| 九九综合久久丁香婷婷,开心激情综合网| 精品一二三区久久AAA片| 色情五月天婷婷| 91精品啪| 120分钟婬片免费看| 天天日夜夜高潮| www.狠狠干com| 婷婷精品在线| 九九99在线观看视频| 亚洲成av人影院| 美女妹子后射视频网站在线观看| 色五月婷婷激情基地| 97人人操人人爽| 色婷婷五月天激情久久| 欧美色必爱| 婷婷综合视频| 乱女乱妇熟女熟妇综合网站| 久久婷婷五月天大香蕉| 免费视频99| AV九九| 午夜无码熟熟妇丰满人妻| 99精品视频网站| 天天操B| 国外亚洲成AV人片在线观看| 骚。com| 亚洲av免费在线| XX色综合| 婷婷五月天在线观看| 五月天另类小说亚洲| 激情九月丁香婷婷| 天天干天天拍| 婷婷97狠狠干| 色婷婷色综合| 久热这里只有精品99re| 久久九精品| 欧美天堂久久| 国产国产乱老熟女视频网站97| 激情内射p| 久久丁香五月综合六月激情红杏视频 | 婷婷狠狠干| 亚洲激情综合| 67194中文在线| 99日本精品视频热| 综合深爱五月| 超碰操网| 亚洲日比视频| 久机视频这只有精品| 亚洲精色| 九九99久久| 婷婷94s| 婷婷丁香六月| 婷婷淫淫狠狠六月| 青青夜夜狠狠夜夜狠狠| 任你干嘛免费视频播放| 亚洲精品亚洲人成人网| 色色色色网站| 色A网| 五月天婷婷基地综合网| 黄色视频网站在线播放| 九九精品自拍| www.色擼擼.com| 婷婷六月激情小说网| 日韩天堂久久| 粉嫩AV久久一区二区三区| 激情丁香九九五月综合网| 思思热99在线| 国产亚洲在线| 婷婷中文网站| 午夜不卡久久精品无码免费| 综合激情在线| 99色最新在线视频网站| 亚洲日本激情| 激情五月,激情综合网| 亚洲偷| 色五月AV| 色久影院| 婷婷色爱| 狠狠色丁香婷婷基地| 婷婷午夜激情| 人人97操| 影音先锋91网站在线观看| 超碰在线人妻| 婷婷丁香五月亚洲17cao| 久色中文| 婷婷五月亚洲激情| 国产精品电影网| 五月丁香日逼| av操逼网| 99热啪啪| 色色婷婷丁香| 亚洲婷婷五月天| 亚洲色婷婷五月| 亚洲激情视频网| 99色这里| 久热综合| 六月丁香婷婷色狠狠久久| 婷婷酒色网| 久久五月婷6 9| 天天爽天天爽| 亚洲九区| 狠狠色噜噜狠狠| 思思精品视频| 丁香五月天在线| 综合五月激情|