免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
玖玖伊人网| 亚洲婷婷丁香五月| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷情色五月天| 国产精品18久久久| 日本综合久久| 99热这里只有精品8| 天天色天天爱天天舔| 五月色情婷婷| 超碰成人影视| 99@久久@99精品视频| 国产成人高清| 九九这里有精品| 五月婷婷久久开心网| 久久综合色情网站| 人人操超碰| 久久久婷婷| 激情 婷婷 丁香五月天| 妻久久久久| 中文字幕婷婷在线| 六月激情网| 激情五月综合亚洲另类| www.婷婷.com| 色婷视频| 婷婷色在线视频| 激情五月综亚网| www.五月天婷婷| 久久婷婷综合五月| AA片在线观看视频在线播放| 欧美色婷婷| 丁香婷婷深情五月亚洲| 五月丁香六月婷婷视频| 91狠狠综合久久| 天天色情站| 99乱视频| 天天操中文字幕| 久久网站免费亚洲| 亚洲Av成人在线观看| 99色在线观看| 五月激情啪啪啪| 婷婷基地五月色| 91视频久久久| 丁香五月色激情| 在线中文av| 亚洲AAAA网| 亚洲天堂久久| 日韩成人网站精品久久大全| 日本视频99| av电影在线播放| 久久久亚洲精品一区二区三区浴池 | 怡红院院久久| AV色五月婷婷| 婷婷五月情色| 色五月色五天色情网| 成人色五月天婷婷| 蜜臀A∨在线水帘洞| 激情九九六月激情免费视频| 欧美人久久| 午夜婷婷久久| 大香蕉懂9| 97午夜一区二区| 一本大道熟女人妻中文字幕在线| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 97搞在线| 国产偷人爽久久久久久老妇APP| 欧洲亚洲精品| 麻豆AV一区二区三区| 99精品在线观看| 丁香五月首页| 九九热在线视频| 人人操Av| 九九婷婷五月天影视| 亚洲99激情| 六月丁香婷婷综合色播| 天天影视色综合网| 天天爽天天干| 色综合婷婷| 婷婷五月丁香六月| 欧美亚洲色色色色| 久久一级免费黄色片| 精品人妻伦一二三区久久| 婷婷丁香熟妇综合网| 久久9久| 26uuu精品国产| 狠狠五月天| 色5月婷婷| 色噜噜狠狠色综无码久久合欧美| 色久一| 色久99| 久久日九九| 激情久久久| 色丁香五月婷婷| 99ER热精品视频| 五月丁香六月情亚洲| 激情网站综合五月天| 伊人婷婷激情| 99这里都是精品| 欧美综合五月丁香六月婷| 变态另类色图| 国产 A片 自拍| 亚洲精品午夜国产va久久成人| 深爱五月激情五月| 99在线精品免费视频| 五月婷婷综合激情小说| 成人片在线播放| 婷婷天天插天天爱| 4399亚洲视频| 婷婷成人av| 丁香五月另类色婷婷麻豆| 日韩性爱AV| 热婷婷在线视频| 99热九九热| 久久人妻伦理| 丁香五月婷婷五月| XX久久| 人妻内射一区二区在线视频| 亚洲色区17| aa久久| 五月丁香色狠狠干大屄| 九九伊人网| 在线观看视频1区| 亚洲天99| 天天天操天天天日| 日逼影音先锋男人AV资源站| 噜噜噜噜噜在线| 激情五月色在线播放| 97碰| 伊人玖玖网| 丁香婷婷六月天| 99视频网址| 色婷婷香蕉| 国产精品成人AV在线观看春天| 99啪啪骑| WWW.色婷婷.COM| 丁香九月色| 成人在线视频一区| 噜噜网免费视频| 婷婷五月av| 免费看成人747474九号视频在线观看| 月婷婷婷婷五月| 国产乱妇无乱码大黄AA片| 极品色丁香| 五月婷婷狠狠干| 丁香五月综合| 亚洲人人96@| 99ri在线观看视频| 大香蕉五月丁香| 95精品区一区二| 婷婷中文字幕| www.久久爱.com| 99精品7| 这里只有精彩视频| 超碰69天堂| 日日夜夜干| 伊人干综合| 天天爱天天做天天操| 亚洲人人操| 日本色五月| 1024国产| 六月婷婷开心| peg 2区三区四区的| 激情婷婷久久| 2015好吊操| 亚洲精品午夜国产va久久成人| 操日挥操日日| 亚洲日韩操B| 国产xxxxx在线观看| 色呦呦美女| 啪啪色区| 五月天丁香婷婷社区| 激情婷婷另类| 91夫妻视频| 天天日天天干天天爱| 99精品热| 丁香社92视频| 婷婷伊人网| 中文AⅤ大全| 丁香六月天色婷婷| 1024成人免费看| 亚洲久久婷婷丁香五月天| 婷婷97狠狠成人网站| 久久婷婷五月天激情新地址| 丁香六月婷婷综合| 婷婷六月激情丁香| 激情五月天.色网| 99热这里只有精品69| 亚洲乱码日产精品BD| WWW色综合| 伊人激情| 色婷婷色五月综合| 一区二区aV电影免费看| 久久综合影院| 色~性~乱~伦~噜| 性爱在线播放av| 综合色色网| 狠狠草天天草| ztEJj| 日韩精品无码99| 97操资源婷婷| 狠狠干综合网| 九九大香视频| 亚洲激情网| 综合久久99| 亚洲色婷婷五月天| 三级大香蕉网| 色婷久| 色婷婷天堂| 91碰| 国产伦亲子伦亲子视频观看| 五月婷婷免费看| 影音先锋91男人资源在线播放| 性综合网| 五月在线婷色| 亚洲婷婷综合视频| 激情伊人五月天| 干亚洲天堂| 成人午夜天| 夜夜做夜夜愛| 怡红院AV亚洲一区二区三区H| 美女激情婷婷| 五月停停色| 欧美在线干| 激情com| 丁香五月天啪啪| 五月天丁香六月综合| 午夜性做爰电影| 色性日本| PORNY九色9l自拍视频成人| 91色婷婷综合久久中文字幕二区| 日韩精品二三区| 天天操中文字幕| 色五月激情网| 婷婷综合成人| 狠狠色丁香婷婷综合久久97AV| 伊人大蕉香| 任你爽免费视频| 久久老码第一| 色综合久久中文| 五月丁香六月激情| 国产激情av| 色综合久久88色综合天天人守婷| 丁香五月激情网| 婷婷丁香五月激情| 激情五月天激情五月天| 99热国产这里只有| 五月丁香啪啪综合网| 做爰丰满少妇1313| 久九色| www狠狠| 99久超碰| 97操碰人免费| 亚洲bt丁香五月天婷婷激情小说| 丁香五月激情宗合网| 丁香五月婷婷欧美性爱| 六月激情婷婷| 欧洲亚洲免费视频9 | 丁香五月在线播放| 成人狠狠成人狠狠成人狠狠成人狠狠| 日本三级日本三级99| 五月丁香久久综合91| 综激情网| 天天干 夜夜爽| 五月婷婷与六月丁香图片激情| 操婷婷久久| 色婷婷五月天| 久久激情五月婷婷| 99热主页日本| 99色综合| 五月婷婷之综合激情| 这里只精品| 欧美天堂久久| 丁香五月婷婷天堂大香蕉| 色五月激情五月| 五月丁香花免费视频| 91精品国产91久久久久青草| 激情九九六月激情免费视频| 97伦色婷婷| 热99只有里视频| 天搞天天天天天| 人人操操| 亚洲av午夜精品一区二区| 五月婷婷色| 久久伊人大香蕉| 五月丁香综合在线| 久久视频这里有精品99| 五月情婷婷| 色五月天成人在线| 国产一级婬片毛片| 国产精品国产VA片国产| 婷婷五月天影视网址| 综合AV在线| 人人爽欧美婷婷久久久五月丁香 | 色久九| 五月婷婷激情久久| 色婷婷狠狠18| 五月婷婷啪啪综合网| 婷婷五月精品中文字幕| 久色资源网| 欧美综合五月丁香六月婷| 最新无码专区| 五月伊人91| 国产肥白大熟妇BBBB视频| 涩五月婷婷| 久久激情视频| 色色色999| 天天插综合| 国产免费一区二区在线A片视频| 丁香五月欧美午夜视频| 丁香五月影院| 丁香五月综合| 在线另类| 久久久91精品| 欧美一线视频| 国产精品视频免费看| 婷婷色五月天色| 色月丁| 久久五月天网| 丁香五月自拍| 婷婷五月天va| 中文字幕乱轮| 久久久27操| 99热这里只有精品22| 91小黄书网址在线观看| 99色啊| 五月丁香婷婷无码中文| 日韩黄在免| 中文字幕丰满孑伦无码专区| 91色综合网站在线| 26uuu偷拍亚洲欧洲综合| 色射7856五月天激情四射| 久久综合婷| 色五月婷婷自拍| 九九热99免费视频| 婷婷大美在线| 五月婷婷中文| 色综合色| 成人AV在线中文版| 99精品女人天堂| 久久停停超碰| 天天干、天天日日| 九九综合色综合| 超碰av在线| 天天干一干| 九九爱精品网站| 海外网站专业操老外| 日本超碰在线| 天天综合亚洲综合| www.婷婷,com| 亚洲精品婷婷| 色情五月综合婷婷| 丁香五月婷婷激情完整版| 婷婷综合亚洲| 色五月aV| 99爽视频| 日本操天堂| 五月五月婷婷| 婷婷狠狠五月综合| 超碰人人操在线| 成人做爰高潮A片免费视频| 亚洲视频另类| peg 2区三区四区的| 日日噜狠狠色| 五月婷婷激情综合| 欧美在线视频9| 六月丁香花婷婷| 超碰狠狠色| 97色天堂| 色吧99| 婷婷中文在线| 色色色免费视频| 色99视频| 99热综合网| 国产综合久久久777777| 激情五月综合ì香亚洲| 直接看的AV| 五月婷婷色色色| 精品亚洲国产成人A片在线鸭王| 精品爱欲五| 亚卅毛片| 婷婷基地爱| 天天色视频| 欧美性猛交XXXX乱大交极品| 91干| 国产成人+亚洲+欧洲| 996热| 色噜噜五月天| 婷婷丁香激情综合色情| 中文字幕日产A片在线看| 婷婷色片| 涩五月色婷婷| 久久五月婷综合| 开心婷婷中文字慕| 99热国内精品| 日韩在线成人电影| 亚洲AV色婷婷人禽五月天| 51国精产品自偷自偷综合| 久热人妻| www.婷婷.com| 99热色精品| 啪啪日本欧美| 5月丁香六月情| 开心激情站| 中文字幕av在线| 丁香五月天激情视频| 人人色人人弄人人操| 色很很96| 丁香五月另类色婷婷麻豆| xxxx五月天色色| 另类激情五月| 大香蕉在九| 99er免费在线观看| 天天操夜夜操| 日本婷婷丁香五月| 五月天久久久| 色综合色欲综合天天免费| 六月丁香五月天| 外国碰视频网站97| 97色婷婷成人综合在线观看| 久久久99视频| 国产亚洲99久久精品| 伊人色综合久久久| 成人在线综合| 九九人人自拍| 乱码操操| 看婷婷五月天网| 青草激情综合| 99色天堂| 99视频在线| www九九热| 97影院一级片| 五月丁香影院| 国产99热| 99热这里只有精品13| 免费看欧美成人A片无码| 丁香五月色色色色| 日日影院 | 五月丁香婷婷AV天堂| 色五月综合| 色情五月丁香婷婷网| 久久久久久久人妻| 天天色五月| 香蕉久久av一区二区三区| 美臀自射自家人妻| www.金莲av| 九九色热视频| 怡春院久操| 9久久久久久久久久久| 99久热在线精品| AA丁香综合激情| 六月婷婷天天操夜夜爽视频| 少妇性BBB搡BBB爽爽爽电影| 这里只有精彩视| 超碰在线资源| 丁香五月自拍| 婷婷五月天激情综合| AV大片在线播放| 婷婷亚洲色| 久色88| 婷婷中文无码| 内射激情在线| 狠狠色狠狠爱| 精品久热| 亚洲最大激情无码| 婷婷六月丁香在线| 九九Y精品热播| 国产婷婷综合| www.五月激情.com| 影音先锋91资源站| 99热久| 久久人妻人人槡| 成人午夜免费电影| 成 人片 黄 色 大 片| 中文乱子伦视频| 开心五月婷婷伊人| 超碰93在线观看| 成人五月天综合网| 十二区无码| 五月婷婷影院| 五月丁香激情六月| 久草天堂| 亚洲啪| 久久99综合| 色射婷婷五月天| 亚洲免费观看高清完整版AV线| 99色精品| 俺去也五月| 噜综合| 丁香97综合| 婷婷伊人网| 五月婷婷婷自由综合| 色婷婷久久综| 香蕉曰比| 五月天激情四射| 操人妻视频91| 啪啪婷婷五月天激情| 一区二区三区四区牛| 婷婷五月天堂| 婷婷五月天电影网| a v色婷婷| 亚洲在线综合| 97se在线视频| 伊人高清无码| 可以免费观看的AV| 色色日本欧美| www夜夜操comwww| 《诡秘之主》在线观看| 97碰人人操| 操碰色一区就去操| 日日夜夜干| 五月激情小说| 99热日韩| 色,激情五月天| 亚洲影院婷婷色| 色色色综合| 成人免费高清在线播放| 婷婷五月激情五月激情| 五月天激情Av| 色婷婷五月天激情久久| 久久丁香五月天| 五月丁香久久丝袜啪啪| 97操碰在线97| 久久久天堂国产精品女人| 婷婷激情五月| 超碰在线精品| 五月天婷婷成人网| 这里只有精品1| 天天射天天射一道本日本社区| 日韩九九视频| 99色婷婷| 久久xx| 99热1| 禁片二区| 大鸡巴伊人网| 九九九九九九九九九九九九九九九九九九九在线视频 | 青草视频在线观看视频| 九色婷婷| 玖玖婷婷五月天| 丁香五月天啪啪| 丁香婷婷色色| 丁香五月人妻| 人人操97| 九九热黄色| 啪啪激情综合| 五月天啪啪视频| 五月丁香好婷婷A片网| 欧洲亚洲精品| 开心五月深爱五月| 91九色国产熟女| 女人天堂AV| 激情五月天影院| 丁香五月婷婷香| 亚洲视色| 国产激情在线| 激情综合色网| 天天爽天天操| 夫妇交换刺激做爰| 97大香蕉五月天| 久久加勤综合| 欧美日韩国产成人在线| 色玖玖玖| 中文字幕av久久爽一区| 一起草av在线观看| 91尤物九色在线| 99热在线观看精品| 激情图片亚洲| renrencaoav| 深爱丁香激情| 亚州操人在线视频| 欧美日韩123| 99精品久久久| 久久久五月天| 亚洲在线网站| 1024操逼视频| 日本色道视频网站| 激情开心五月婷婷| 99热国产在线| 色婷婷综合亚洲| 丁香九月婷婷| 五月天丁香久久综合| 亚洲网站999| 婷婷五月色| 91狠狠综合久久久| 丁香五月婷婷影视先锋| 天堂久久婷婷| 开心深爱五月天| 亚洲性爱干干| 99热在线这里| 99久热| 亚洲精品V天堂中文字幕| 超碰免费人人肏| 91艹人| 91色综合| 人人做人人看人人摸| 五月婷婷亚洲色视频| 婷婷五月花| 激情五月天婷婷| 99精品综合在线| 五月婷婷久久大香蕉| 五月色亭丁香| 午夜丁香婷婷| 中文字幕 中文字幕明步| 99久久66综合| 中文精品在| 成人色情五月天婷婷丁香| 夜夜撸天天操| 超碰久热| 小泽玛利亚视频一区二区| 五月丁香美女视频| 伊人久久五月天综合| 日本色婷婷| 久99婷婷色综合| 色色丁香五月天| www.cao.com久久| 五月丁香久久色| 日本91在线| AV五月丁香| 久久这里有精品视频在线免费观看| 9久热在线视频精品| 久色精品| 久久99视频| 99热精品在线播放| 乱精品一区字幕二区| 大香av| 色噜噜在线| www.国产色| 九九美女视频| 思思热性操| 综合色五月天| 五月婷婷丁香综合,亚洲天堂| 99热最新地址在线| 激情爱爱网站| 噜噜五月天综合| 99热成人精品| 丁香色婷婷| 欧美一线视频| 久久综合热17c| 亚洲激情无码久久| 婷婷中文字幕网| 欧美日韩精品一区二区三区钱| 婷婷第六色| 六月久久婷婷| 日本三级片片| 久久丁香五月婷婷| 国产美女无遮挡裸体毛片A片| 欧美综合123区| 99国产视频网| 久久99大| 五月天婷婷色小说| 538在线精品| 91丨九色丨东北熟女| 天天日天天爽| 午夜av网| 婷婷五月天激情免费在线观看| 国外亚洲成AV人片在线观看| 人妻爽爽爽久久久久久久久| 超碰人人艹| 五月丁香色婷基地综合久久| 天天天天做夜夜夜夜做| 91超级碰碰碰| 丁香五月情色| 丁香婷婷色五月激情综合| 操人91| 激情五月天婷婷| 九九热视频99| 日韩久久色| 中文色婷婷| 九月婷婷激情| 99久在线观看| 色综合区| 色色色成人网| 亚洲va日| 国产欧美日韩综合精品一区二区| 五月丁香六月日逼| 成人做爰A片免费看视频| 日本va网站| 五月丁香影视| 日韩av干| 久久婷婷艹| 丁香五月天的网址。| 久操乱| 热热久久99| 色婷婷五月天无码视频| 亚洲激情综合| 97人人操人人| 欧美综合五月丁香六月婷| www.henhenl| 久久天天| 日韩欧美一级大黄网站| www.婷婷五月天| 再綫Av免费視品| 四川BBB搡BBB搡多人乱亂| 亚洲久久婷婷| 日都一级A片| 影音先锋四区| 狠狠夜夜五月丁香| 五月天婷久久| 精a品a| 狠狠爱激情网| 亚洲久热| 99热这里只有在线| 操日视频| 99天堂网| 97婷婷五月| 99人人干人人| 丁香五月久久| 成人超碰Av| 丁香婷婷色九月| 丁香婷婷激情| 毛片毛片毛片毛片| 婷婷午夜精品久久久| 手机旧版看人妻1025| 久久9热| 国产99热| 麻豆五月丁香婷婷| 久久久精品AV| 国产成人一区二区三区在线观看| 丁香六月色婷婷| 久久综合五月天| 青青草国产亚洲精品久久| 欧美丁香五月| 五月天无码| 婷久久久| www.国产色| 丁香婷婷五色月| 99噜噜| 免费观看全黄做爰的视频| 丁香五月婷婷香| 激情四射五月天偷偷看婷婷| 久久亭亭电影| 五月天国产| 噜噜五月天综合| 五月丁欧美| 久久99网| 亚洲激情四射| 天天日天天舔| 色色婷| 激情98色婷婷五| 婷婷午夜激情| 激情性五月天免费小说视频| 这里只有精品偷拍| 色九九丁香九月色九九色| 五月婷婷久久综合| 丁香五月天婷婷中文字幕| 五月婷婷六月丁香综合视频在线| 九九视屏| 天堂久久久久天堂网| 97人人草| 日本婷婷五月天| 天天摸日日舔狠狠添婷婷婷| 色九月婷婷| 欧美在线视频9| 国产肥白大熟妇BBBB视频| 五月婷婷六月丁香综合| 五月色天情| 深爱激情AV| 色综合久久久久| 91啪啪啪啪| 婷婷五月丁香青青草在线| 人人人操| 久久久精品色色色| 五月天婷婷开心| 99综合色色色| 欧美色宗和激情| 热久久这里只有三级视频| 99噜噜噜在线播放| 久久这里都是精品| 任你日视频| 色屌丝中文字幕| 久久aaaa片一区二区| 五月激情综合激情五月| 狠狠色丁香久久久婷| 久久伊人五月天| 大香蕉婷婷| 五月丁香激| 99爱精品| 日本色五月| 另类综合婷婷五月天欧美视频| 久久99久久99精品免视看婷婷| 99热99成人| 九九综合色| 国产精品久久..4399| 婷婷五月丁香青青草在线| 婷婷另类小说| 亚洲综合五月天婷婷| 97碰啪啪| 67194国产| 香蕉婷婷| 五月丁香| 97干在线视频| 婷婷五月天色色| 欧美97色| 九九AV| 国产激情视频在线观看| 香蕉综合在线| 中文字幕在线免费观看视频| 久久婷婷啪啪视频| 91色综合| 久久只有18视频| 大香蕉九九| 国产亚洲99久久精品| 99日本黄站| www.色婷婷.com| 激情六月色| 色色无码| 五月婷婷六月天| 久久综合爱| 99这里只有精| 激情五月激情综合网| 三人荫蒂添的好舒服A片| 丰满少妇乱A片无码| 激情操逼婷婷| 91聚色综合网| 五月丁香视频色色| 六月丁香六月婷婷欧美| 久九色| 色色自拍视频网站| 欧美毛片www| 99日韩网站| 丁香五月伊人| 成人视屏在线观看| 天天肏夜夜肏| 婷婷丁香熟女| 亚洲无码猫咪| 99手机在线精品视频| 亚洲精品国产成人AV在线| 秋霞电影一级黄| 无码人妻一区二区三区四区| 色六月视频| 女人天堂AV| 91久久久久久| 中国女人做爰A片| 色八戒操婷婷| 激情婷婷久久| 五月香蕉综合| 五月婷婷啪啪啪啪| 99热主页日本| 国产精品99久久久久久久女警| 青青草原亚洲久| 狠狠色大香蕉| 久久婷婷五月国产色综合激情| 久久这里只有精品视频26| 五月的色婷婷高潮| 天天五月天综合网址| 色情五月天丁香社区| 人人摸人人干| 99视频啪啪| 久久久www| 99热精这里只有精品| 六月婷婷中文字幕| 五月丁香综合| 日逼影音先锋AV男人资源站| 久激情网| 99热这里只有精品 搜| 国产avapp 网| 狠狠色噜噜狠| 婷婷中文无码| 99性感视频| 久久久www| 2050人人操免费工开爱| 婷婷五月天久久综合88| 思思热思在线精品视频| 久久成人天| 天天狠狠干| 99国产在线| 婷婷六月丁综合| 色VA| 综合XX网| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 丁香色五月直播| 五月天精品视频| 五月婷婷激情综合| 五月天停停日日| 无码人妻一区二区三区四区| 亚洲AV中文在线| 这里只有精品96| 五月丁香啪啪激情| 日日夜夜爽| www.99在线| 狠狠99| 中文网av| 性一交一乱一交A片久久四色| 日本黄色三级片内射| 色婷婷最新域名 | 伊人网啪啪| 久久九精品| 97操碰碰无码视频| H亚洲| 久久亚洲精品成人无码网站导航| 久久久久亚洲AV无码网影音先锋| 丁香五月瑟瑟| 五月天婷婷在线啪啪视频| 色五月超碰| 色偷偷人人| 另类小说五月天激情| XX色综合| 任你爽精品免费视频6| 99性视频| 天天人人人人人人人人人人人| 久久AV无码精品人妻系列试探| 九九热av| 五月婷婷婷丁香播| 日韩成人影片在线观看| 色一区高清| 国产精品五月天婷婷| 久久9视频| 久9热在线视频| 色欲婷婷五月天丁香| 艹色18p| 色五月六月婷婷| 色色色综合网| 99热永久在线观看| 精品久热| 人人操91| 久久久激情视频| 国产精品美女| 五月精品| www,超碰| 色日本综合| 激情丁香久久久久久| 五月丁香六月婷婷手机无线| 麻豆AV一区二区三区| 99久久99视频只有精品| 久色资源| 九九热这里有精品视频| 九九婷婷网五月天| 婷婷丁香社区网| 五月丁香六月激情| 激情com| www.久久| 五月丁香va| 92久久精品一区二区| 五月丁香视频在线观看| 性无码专区无码| 天天激情夜夜干| http:色情日本com| 日本色婷婷久久99精品91| 国产伦亲子伦亲子视频观看| xx色综合| 成人丁香婷婷| 色99热| 高清国产一级婬片a免费| 综合久久99| 久久婷婷五月综合精品蜜芽| 超碰人人干| 日本妈妈乱| 99热色精品| 色宗合,宗合网| 久久精品一区二区三区四区| 激情五月婷婷综合网| 五月天丁香啪啪网| 激情五月天小说| 99热99操| 婷婷五月天色播| 成人视频一区| 久99| 97激情五月天| 超碰2021| 日日操夜夜爽| 伊九九三级区| 精国产品一区二区三区A片| 婷婷四色五月| 很很色丁香久久停停| 99热在线精品播放| 天天综合亚洲综合网天天αⅴ| 人妻丰满精品一区二区A片| 色5月婷婷| www.97碰碰com| 91啪啪视频| 亚洲99手机免费看视频| 毛片蕉地一二| WWW久久久| 天天激情夜夜干| 精品五月花| 欧美久久婷婷| 激情五月天啪啪| 五月天久草| 久久曰曰| 丁香五月激情澎湃一区| 激情综合色婷婷啪啪六月天| 五月激情在线| 丁香五月,激情五月,深爱五月| 五月天狠狠色| 99热在线观看| 狠狠狠狠狠干| 天堂爱爱| 色五月婷婷1| 天天日天天色| 思思热精品在线| 亚洲精品网站色视频| 国产精品成人网址| 五月天色图| 五月婷婷伊人网| 色五婷婷| 97在线99| 婷婷五月天黄色| A A色色| 色五月91| 亚洲图片 丁香婷婷| av中文在线| 狠狠狠狠狠狠狠狠草| 狠狠99| 狠狠精品干练久久久无码中文字幕 | 日本激情五月| 五月天激情图片| 五月天丁香婷婷视频网址| 91人妻PORNY九色大屁股| 亚洲综合色五月| 久久激情网| 97热超碰| 香蕉AV777XXX色综合一区 | 婷婷色基地在线看 | 米奇影视资源婷婷狠狠色激情欧美五月丁香| 日本3级片一区2区| 爱久久小说下载网| 欧美婷婷五月天| 精品视频这里只有精品| 久久久27操| 五月婷婷色色爱| 五月丁香六月激情综合| 人妻久久久| 夜夜撸天天日| 色五月开心婷婷| 爆乳熟女一区二区三区爆乳 | 日日天天天| 亚洲色图81p| 色五月丁香A欧美com | 一本久道综合99| 日本三级日本黄色| 无码AV免费精品一区二区三区| av色色国产| 五月丁香婷婷综合网色欲| 18av天堂| 久久久久久9| 在线亚洲综合| 夜夜嗨一区二区三区直播内容 | 五月丁香成年黄色| 丁香五月欧美激情| 丁香五月98| 激情q青青草在线婷婷| 99热综合网| 久久99网| 丁香五月天社区| 超碰91在线| 99热天堂| 夜夜躁爽日日| 国产乱妇乱子伦| 五月香蕉婷婷| 亚洲无码成人网| 久久婷五月天| 99热这里| 五月丁香六月成人| 婷婷五月丁香色综合| 91超级碰人人操| 九月色婷婷婷| 蜜臀综合久草| 影音先锋91网站在线观看| 99熟女视频| 九色啦蜜臀| 丁香婷婷社区| 色色性爱视频| 深爱激情丁香五月| 色狠狠婷婷| 色色性爱视频| 99热只有这里有精品| 99热在线只有精品| 九九热在线视频观看| 激情丁香图片| 色五月婷婷丁香婷婷| 另类色视频| 久久婷婷丁香五月一二三| 丁香色情五月天| 久久aaa| ji'qing'luan'ren'lun| 日日干综合| www.com操| 毛片新网地| 99在这里有精品| 色婷婷五月天不卡| 色五月激情婷婷| 色色亚洲五月天| 婷婷五月天视频| 天天日日综合| 狠狠干综合网| 99热97| 狠狠爱婷婷| 欧美99热| 亚洲操人| 国产亚洲精品久久久久久久久动漫| 狠狠狠狠狠干| 99热伊人| 成人亚洲精品久久久久| yjzz亚洲国产| 色涩视频久久| 大香蕉人人网| 9l视频自拍九色9l视频自拍九色9l社区| 五月丁香亭亭AV女优| 极品九九九九九九| 激情综合网激情五月天| 久热婷婷| 五月激激网w'w'w| 人妻VideOssS人妻高清| 四色五月婷婷| 综合色图区| 欧美成人精品A片免费一区99| 日本色五月| 国产精自产拍久久久久久蜜| 另类婷婷五月天啪帕帕| 丁香五月手机在线| 激情婷婷五月亚洲| 久久久五月婷婷| 久久婷婷视频| 激情五月天小说网| 伊人久久婷婷五月综合97色| 999精品久久久久久久| 一区视频网站| www.国产亚洲69ty.久久久久久久久久久久| 五月开心婷婷| 天天狠狠六月婷丁香影院| 婷婷色中文字幕| 中文字幕日产A片在线看| 久久全色| 婷婷五月色图| 丁香色播五月天| 五月天激情国产综合婷婷婷| 亚洲五月天激情| 91九九九九九九| 久热一本| 五月色天五月色| 丁香五月婷婷偷拍| 婷婷中文字幕| 激情网色五月| 激情六| 天天操综合网站| 色五月天综合网| 婷婷五月丁香国产| 五月婷网| 丁香五月停停av| 五月丁香六月婷| 国产精品18久久久| 99精品视频偷拍| 色五月婷婷大| 99久在线精品| 五月丁香六月激情网站| 丁香婷婷九月| 人人看人人摸人人| 狠狠人妻色综合| 六月婷婷综合网2| 在线色色| 五月婷六月婷婷| 五月丁香久久| 百度4399有码精品V在线观看| se色99| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 91a片爽| 九九精品网站| 天天爽夜夜爽夜夜爽精品视频| 国产激情久久久| 国产精品美女| 久久欧洲综合网| 99热亚洲| 日韩成人电影av| 激情纯色婷婷五月天在线不卡视频| 亚洲 视频 导航 一区| 婷婷99视频在线| 天天色天天搡| 97色天堂| 超碰免费观看| 激情婷婷亚洲五月| 五月丁香偷拍| Av在线不卡一区| 五月丁香六月婷婷色| 大香蕉综合在线| 国产免费av在线| 天天日天天日天天搞| 亚洲欧洲另类| 亚州综合色| 五月丁香婷婷成人网| 亚洲第一成人无码A片| 99色综合网| 伊人久久大香线蕉av最新| 激情色情五月天| 啪啪色区| 99热日本| 无码AV久久久久久久久| 久久免费精品小视频| 色噜噜五月天| 婷婷五月a| 天天操夜夜橾| 伊人99久久| 婷婷综合激情| 色播丁香| 玖玖爱伊人| 精品久久久999| 欧美在线视频免费播放| 26uuu| 丁香五月天社区婷婷| 99爱精品视频| 丁香五月婷中字在线| 能看的av片| 99精品国产乱码久久久人妻| 天天爽—爽| 丁香六月婷婷| 99精品激情| 婷婷综合视频| 快乐激情五月色婷婷| 久久97| 五月天激情四射| 久久综合激情| 色婷婷网| 综合久| 色色网站在线免费观看视频| 久久九九网| 色黑鬼导航| 99国产精品久久久久久久久久久| 欧美五月丁香啪啪响视频| 人与禽A片啪啪| 狠狠狠狠狠干| 9久热| 色色丁香| 天天爱天天做天天日| 99热官网精品在线| 99色在线观看免费| 大香蕉婷婷| 婷婷亚洲在线| 男人的天堂av俄罗斯热| 色婷婷综合视频| 五月丁香趴趴| 久久综合中文字幕| 激情久久肏屄视频| 99色在线| 91精品无码| 九九这里只有精品| 狠狠操天天日| 丁香婷婷浪潮AV久久综合| 色情五月停停丁香| 色婷婷丁香社综合| 91色操| 激情图片亚洲| 丁香五月AV综合激情| 国产毛片精品一区二区色欲黄A片| 天天狠狠插| av亚洲国产小电影| 思思热性操| 激情五月婷婷综合秋霞| 天天草天天日| 91精品刘玥| 婷婷 伊人 久久| 激情五月婷婷丁香六月| 97caop| 操操操Av| 大香蕉伊人久久| 色婷婷成人做爰A片免费看网站| 五月综合激情视频| 性爱五月婷婷| 成人五月天丁香婷| 五月婷婷综合色啪| 91a片爽| 成人在线综合| 日日日,com| 欧美三级视频| 免费视频99| 国产婷婷五月中文字幕高清| 91美女啪啪| 九九综合久久| 青草激情在线| 在线网黄|