免费国产精品自在自线-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
返回資訊列表
九九色综合网| 成人五月天视频播放| 天堂成人A片永久免费网站| 五月丁香狠狠爱| 丁香五月电影| 欧美影院| 99re这里只有精品视频了| 欧美婷婷精品激| 亚洲a色| 天天爽天天弄| 激情婷婷五月社区| AA丁香综合激情| 婷婷六月激情在线视频| 欧美综合激情五月丁香| 日本综合色色| 婷婷狠狠爱| 中文无码婷婷| 九九99热| 五月婷在线观看| Xx色综合| 色综合99| 三级三久久线久久99久目本WW| 成人 在线观看国产| 五月丁香婷婷综合久久| 日日狠狠久久偷偷四色综合免费| 天天干天天干天天干天天干天天干天天 | 六月综合在线| 丁香五月婷婷色| 丁香五月婷婷亚洲综合精品| 色婷婷激情四射视频| 精品一二三区久久AAA片| 人人摸人人干| 亚洲国产精品VA在线看黑人| 最新va在线播放| 天天综合干| 91视频五月丁香| av高清无码| 久久五月丁香婷婷| 激情综合啪啪| 亚洲1区| 这里只有精品69| 五月天婷婷一起草| 99热99免费| 国产.亚洲.欧洲视频在线| 丰满人妻妇伦又伦精品国产| 久久久天堂国产精品女人| 久久久99视频| 99热精品在这里| 999久久久国产精品| 九九色综合视频| 五月天色婷婷图片| 五月之婷婷| 激情五月丁香色婷婷| 99视频超级精品| 久久九九中文字幕| 青草青草久热这里只有精品| 五月丁香综合啪啪啪啪啪| 婷婷涩五月| 99久在线观看| 亚洲精品va| 久热综合| 色色色99韩| 大香蕉综合| 激情五婷网| 影音先锋一区| 婷婷深爱色五月| 精品一区二区三区四区五区六区介绍 | 99色区| 一区二区免费看| 婷婷99丁香| 超碰99热在线观看| 亭亭五月丁香综合欧美| 欧美美女国产日韩一区二区久| 99色久| 色色丁香五月天社区| 午夜激情久久| 久久九九爽| 婷婷丁香宗合888| 久久99婷婷| 青青热视频| 五月天丁香六月综合| 色五月开心婷婷| 婷婷色五月天第7色| 婷婷久久婷婷色五月| 亚洲色激婷| 婷婷亚洲五月色综合| 天天xxxxxx天天日| 9久热| 久久精品人妻| 婷综合六月| 婷婷综合色网| 九九热九九| 五月丁香直播| 色丁香婷婷| 五月激情在线| 九九视屏| 丁香婷婷啪啪啪| 久久激情网| 色婷婷操逼| 日韩啊啊啊| 婷婷五月天激情网| 中文字幕网站在线观看| 99热九九在线| 色婷婷丁香五月| 久久9热好| Www.Av网9| 999激情视频| 日韩无码一区二区三区四区| 日韩在线观看亚洲| 9热超碰| 99视频网址| 桃色Av色哟哟| 欧洲亚洲免费视频9| 亚洲色五月婷婷| 九月色婷婷婷| 国产五月婷| 婷婷色在线播放| 538在线精品| 激情五月天色婷婷综合| 丁香六月婷婷综合在线| 91人久| 亚洲无码成人| 国产毛片精品一区二区色欲黄A片| 久久亚洲激情五码| 婷婷五月综合色拍| 天天摸天天做天天爱天天爽| 日日操夜夜擼| 色婷婷欧美在线| 久久婷婷五月天激情| 欧美日韩成人在线| www.av视频xx999.com| 99热网站| 伊人激情网| site:minyis.com| 五月天婷婷色色网| 51XX嘿嘿午夜无码| 久久美女五月天| WWW.国产| 79成人网| 婷婷五月欧美综合| 亚洲丁香花色| 激情五月综合婷婷| 午夜理论片最新午夜理论剧| 九九热免费视频| 99九九精品视频推荐| .操區COm| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲视频丁香网va| 国产欧美精品AAAAAA片| 逼逼AV| 六月综合婷婷开心伊人| 五月丁香| 午夜天堂一区人妻| 第四色婷婷五月| 色五月丁香五月| 91久久综合亚洲噜噜成人在线| 99精品网站| 成人av免费观看| 色丁香五月婷婷| 九九99热| 婷婷六月激情小说网| 亚洲九区| 开心激情播播五月天| 亚洲操操操| 色婷婷丁香综合中文字幕| 九九这里都是精品| 91视频五月丁香| 极品另类| 这里只有精9| 东京热免费视频| 激情q青青草在线婷婷| 这里只有精彩视频| 天天综合天天玩夜夜玩天天玩夜夜玩| 99爱在线| 91Chinese在线| 五月丁香操婷逼| 久久大香蕉同僚| 99热在线资源| 成人视频网| 五月丁香六月合| 国产精品24r| 青草激情综合| 99操| 五月天综合婷婷| 蜜臀AV在线成人| 亚洲无码99| 婷婷色5月天在线。| 日本强伦片中文字幕免费看| 狠狠狠色激情综合适合| 男人天堂亚洲综合| 精品九九网| 五月婷婷三级| 天天操夜夜夜夜爽| 99碰碰中文| 久久精品99久久久久久| 婷婷色香六月综合激情| 久操97| 丁香婷婷色五月| 丁香午月AV中文字幕| 天天综合精品| 五月婷婷丁香五月婷婷丁香| 蜜臀A∨在线水帘洞| 香蕉人妻AV久久久久天天| www激情网| 午夜成人在线免费视频| 国产精品天天狠天天看| 丁香五月91| 99热20| 狠狠色噜噜色狠狠狠综合色| 99综合视频| 伊人狠狠干| 五月丁香激情婷婷| av五月丁香| 五月婷综合| 九九精品视频在线6| AV在线大香蕉| 五月天婷婷色色首页| 日日操夜夜爽| 五月丁香久久久| www.97碰碰com| 无码日本精品XXXXXXXXX | 天天操婷婷| 噜噜综合网| 操人精品| 激情又色又爽又黄的A片| 色停停五月天| 婷婷五月天亚洲综合| 成人视频一区| 91爱操| 中文字幕丰满乱孑伦无码专区 | 婷婷五月天激情四射| 婷婷网五月| 婷婷伊人网| a级毛片一区二区免费视频| 99在线播放视频| 色XX综合网| 五月天a婷婷伊人| 99久久www| 婷婷五月天av小说| 日韩在线看AV| 欧美日本韩国亚洲| 九九九九精品精| 狠狠操狠狠爱| 亚洲免费婷婷| 99热首页| 99热精品在线| 五月丁香婷婷啪啪| 午夜色婷婷| 六月婷婷av| 天天做好综合色| 色五月在线| 久久婷婷五月天懂色| 92久操视频| 一级片操逼视频| 久久精品性爱| 俺去也婷婷| 五月色亚洲| 91人人操人人| 99热精品在线观看| av国产精品| 丁香六月婷| 五月丁香六月婷婷网| 99综合一区| a久久| 日日爽日日| 婷婷丁香综合| 五月丁香激情综合| 这里只有精品视频99| 色噜噜狠狠色综合成人网| 丁香五月影院| 日韩视频99| 思思re99视频在线观看| 久久草大香蕉| 97伦乱| 九九操屄| 色九九九九| 99热久97| 99re最新地址视频| 天天干天天干天天干天天干天天干天天干天天 | 成人在线视频网| 91干在线| 久久er+| 久久五月六月| 九九亚洲视频| 国产激情AV| 大香蕉啪啪啪| 操B无码视频国语| 精品五月花| 五月色丁香婷婷综合| 色色丁香五月天社区| 丁香六月激情综合网| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 深夜A片| 开心婷婷五月天激情网| 激情文学久久| 伊人久久丁香狠狠婷婷综合香蕉 | 97人妻碰碰中文无码久热丝袜| 狠狠色婷婷7777久| 99热在线网站| 久久小视频免费| 夜夜操天天爽| 99免费热视频在线| 中文在线视频久9| 色综色网| 日韩欧美颜射| 99A片| 怡红院视频| 精品久久久91久久影视网| 色色色色色色色色色色色色色色,网站| 丁香五月777| 色色网站免费在线视频| 天天摸天天舔| 色和综合网| 色婷婷五月天成人网| 99这里精品| 天天干天天操天天拍| 成人AV在线电影| 国产露脸150部国语对白| 97久久五月丁香婷婷| 色色色777| 五月丁香六月婷婷在线| 成人综合网站| 丁香五月香蕉在线| 亚洲AV综合网| se.久久视频在线观看| 96人人操人人操人人| 色在线视频网2025| www.wuyuetian啪啪| 婷婷激情在线| 激情综合激情综合| 丁香五月激情五月| 五月丁香六月婷婷色| 超碰激情网| 91碰操| 超级黄色片| 五月丁香六月婷婷a v| 97人人看| 98永久精品| 99亚洲色| WwW色婷婷| 青草青草久热这里只有精品| 99re热在线视频观看| 欧美性色A片免费免费观看的| 玖玖五月| 生活片五区| 热婷婷av| 在线综合婷婷| 疯狂做受XXXX高潮A片| 日本一级| 亚洲六月色| 色综合狠狠色| 五月天婷婷綜合院| 91九色丨国产丨爆乳| 六月丁香五月天| ..真实国产乱子伦毛片| 久久机热这里只有 | 精品人妻在线| 99人人干人人| 人妻aV在线| 玖玖九九9999在线观看视频精品| 五月丁香色婷婷综合| 六月丁香婷| 丁香六月婷婷激情综合| 99热这里只有精品8| 区区久久妻| www.色五月| 五月婷婷丁香网| 婷婷网五月天| 色玖玖综合网| 色婷婷久久| 色99亚洲| 无码碰碰| 久久精品99久久久久久| 午夜激情综合| 日本三久久| 97碰| 色情五月丁香婷婷网| 久热免费视频| 婷婷五月偷拍| 二级黄色毛片| 婷婷99狠狠| 十月丁香婷婷| 五月婷婷综合天天操| 人人噜天天上| 97在线/亚洲| 这里只有精品视频99| 日本高清久久| 婷婷五月综合社区在线| 五月丁香六月婷综合成人综合| 婷婷不卡基地| 五月婷婷六月天| 婷婷精品| 激情五月四色| 大香蕉婷婷五月| 99,色| 亚洲精品一区中文字幕乱码| 国产午夜一区二区三区| 91久热| 欧美人与性动交CCOO| 婷婷五月丁香婷婷| 另类激情四射| 无码AV免费精品一区二区三区| 色天天综合成人网| 丁香五月婷婷色情综合| 粉嫩AV久久一区二区三区| 中文字幕色色色| 97干在线看| 婷婷五月天AV| 99热这里只有精品16| 超碰99热精品| 少妇人妻人伦A片| 91碰免费视频| 国产操碰| 丁香五月综合在线视频| 91操碰| 日韩av手机在线观看| www.henhengan| 婷婷综合网站| 午夜福利8055| 欧美性猛交XXXX乱大交极品| 久久婷丁香五月| 2023天天日夜夜爽| 超碰在线看| 99碰碰碰| 三人荫蒂添的好舒服A片| 色情五月停停丁香| 99热热九九| 五月丁香婷婷婷激情爱爱| 成人在线日韩| 五月婷色色| 色欲资源网| 99re热在线视频| 五月天小说激情| www.狠狠| a久久| 五月丁香激情综合欧美| AV色五月婷婷| 96精品久久久久久久久| 丁香花婷婷五月天| 亚洲AV日韩在线观看| 久久婷婷亚洲| 99热这里只有精品5| 婷婷射丁香| 狠狠狠狠狠狠草| www.色9| 久久久久久久,99精品视频| 九九99精品| 丁香五月激情鲁| 青青操avbb| 一区二区免费看| 99九九精品视频推荐| 五月综合视频| 五月丁香色| 99综合| 日韩十国产极品久久| 亚洲中文无码成人| 九九99免费视频| 欧美激情久| 九九九九热99超碰| 99色人| 日韩精品无码一区二区| 久久久国产精品黄毛片| 少妇真实被内射视频三四区| 99在线免费视频| 久久精彩免费视频| 五月激情在线| 色婷婷基地| 色色色色网站| 色色色五月婷婷| 五月天成人小说| 99在线精品观看99| 激情五月天网站| 激情影院丁香五月| 蜜桃人妻无码AV天堂三区| 九色婷婷| 丁香六月激情综合| 国产精品18久久久| 亚洲AV无码成人电影| 超碰在线观看三级片| 操老逼综合网| 91九色PORNY中文啦| 黄色短视频在线观看| 91婷婷丁香五月亚洲| 激情五月婷婷色色| 午夜九九九九九九九九九九九九九| 日韩情色在线观看| 97碰啪啪| 99热骚货| 天天综合精品| 狠狠穞A片一區二區三區| 色情五月婷婷| 精品国产乱码久久久久夜深人妻 | 天天操天天国产三级片处女学生妹| 丁香花大香蕉婷婷综合| 黄色91在线观看| 久久久ww| 五月丁香在线精品| 婷婷狠狠操| 婷婷永久在线| 九月色婷婷| 九九色综合| 五月丁小婷婷激情四射| 午夜丁香综合婷婷| 亚洲av日韩无码| 久久只有这里精品免费| 人妻VideOssS人妻| 五月丁香啪啪综合| 亚洲色图欧美色图日本视频| 91青娱乐青青草| 密黄站| 九九久久视频| 成人丁香五月| 蜜乳久AV| 7777激情基地| 丁香五月婷中字幕| 亚洲成人免费在线| 色射7856五月天激情四射| 九九综合九九| 婷婷丁香人妻天天| 久久xxxx| www.色九月| 婷婷五月天777| 女高怪谈在线观看| 国产超碰在线| 五月天丁香婷| 青青草a在线| 丁香五月综合AV在线| 99激情视频| 亚州激情九月| sewuyuejiqingwang| 国内外色色色色色成人视频| 国产午夜精品AV一区二区麻豆| 在线视频99| 性爱综合网| 狠狠插狠狠操| 婷婷丁香91综合| 99 re视频一区| 国产高清RV综合aVa| 亚洲综合草草| 天天综合色99| 五月天自拍视频| 深夜男女福利刺激影院一区完整| 99在线看片| tingtingjiqingwuyue| 日本天天色| 99精品视频免费观看,| 九九99久久| 99在线精品免费视频| www,色婷婷| 婷婷五月美女直播| 91精品久久久久久久久久| 色情五月综合婷婷| 一区二区免费看| 色偷偷人人| 天天操夜夜爽| 欧美天堂婷婷日韩| 九六五月天婷婷| 九月婷婷综合| 五月丁香六月婷婷,婷| a69在线视频| 九九99香蕉在线视频播放| 中字幕视频在线永久在线观看免费| 色五月激情综合| 日韩AV大全| 9热成人在线视频| 婷婷五月天777| 九九热精品视频在线观看| 日本色图综合| 五月婷婷AV| 婷婷五月电影| 五月丁香婷婷在线| 九色在线观看91av| 色五月AV| 五月丁香大相交| 久久WW| 久热精彩视频98| 五月综合缴情网| 1024AV视频| 色偷偷狠狠| 精品99*| 五月香六月婷| 婷婷五月六月| 亚洲第一成人无码A片| 人妻视频在线| 色五月天综合网| 91精品久久久久| 超碰AV在线| 欧美狠狠草| 第四色五月激情网| 亚洲日韩一页精品发布| 五月综合久久| 99精彩视频| 678五月丁香亚洲综合| 人妻丰满精品一区二区A片| 777丁香六月青青草婷婷综合久月| 婷婷伊人綜合中文字幕小说| 色婷婷精品小视频| 免费一区二区三区| 五月天成人免费视频| 99亚洲视频| 久久三级视频| 成人婷婷五月| 人人爽欧美婷婷久久久五月丁香| 色色五月婷| 狠色综合网| www久视频com| 五月丁香网站| 2050人人操免费工开爱| 久久综合最新网址| 色综合九九| 狠狠干总合| 五月天伊人久久| 五月色网| 99爱精品视频| 色色色色五月天| 丁香五月影院| 五月天,激情四射,婷婷频道| 99激情在线| 天天综合精品| 天天操婷婷| 日韩好吊操| 97人人操人| 亚洲超碰在线| 79色色| 大香蕉婷婷| 欧美一级a| 99啪啪视频| 一区二区三区四区无码| 狠狠综合久久| 成片免费观看大全| www.狠狠| 天堂色婷婷| 综合五月天| 成人丁香五月| 六月婷婷激情图片| #NAME?| 婷婷狠狠操| 五月激情六月宗合| 色五月av伊人| 狠狠色综合网| 男人天堂 久久| 五月天激情国产综合婷婷婷| 综合狠狠干| 5月色婷婷| 久久五月婷婷视频| 免费黄网不卡AV| 色情成人五月天| 性爱电影科技贸易有限公司| 中文字幕不卡+婷婷五月| 九九无码AV| site:pnnrt.com| 久久九精品| 五月色丁香激情| 99热精品少| 五月天婷婷綜合院| 9色免费网| 天天揷综合网| 婷婷五月天基地| 99日韩| 五月天成人在线播放| 国产另类综合| Va另类视频| 狠狠色狠狠干| 伊人婷婷大香蕉| 五月色亭丁香| 国产亚洲99久久精品熟| 久在线88综合| 综合AV网| 天堂伊人干| 91久久久久久| 伊人婷婷五月天| AV大香蕉| 亚洲色五月| 五月丁香六月成人| 性色婷婷| 影音先锋色婷婷| 色呦呦美女| 99精品久久久久| 久久玖玖综合| 婷婷五月色综合| 99热综合在线观看| 中文字幕丰满乱孑伦无码专区 | 97人妻碰碰中文无码久热丝袜| 婷婷中文字幕在线| 操婷婷久久| 精品动漫 无码av| 久久日韩婷婷五月| 97人操人免费视频| 大香蕉婷婷丁香天堂AV| 日本三级中国三级99人妇网站| 亚洲六月色婷婷| 六月婷婷av| 激情五月天视频| 激情五月婷婷丁香六月| 天天爽天天爽天天爽天天爽天天爽| 亚洲激情四射| 天天草婷婷五月| 天天碰天天插天天操| 色婷婷五月天堂资源| 色五月亚洲开心网| 激情亚洲五月| 思思热99在线视频| 五月天激情小说| www婷婷| 色久综合| 色综合激情图区| 丁香五月婷婷亚洲天堂| 精品久久9| 丁香婷婷精品视频| 丁香六月亚洲综合| 玖玖婷婷色五月| 九九精品热| 天堂成人A片永久免费网站| 亚洲成人影视在线| 在线99色| 色五月婷婷狠狠撸| 狠狠色精品综合| 婷婷五月综合在线视频| 亚洲激情五月天| 久操婷婷| 五月婷婷玖玖综合玖玖爱| 色婷av| 99re99热| 吉澤明步Av一區二區| 五月久久婷婷| 开心色色五月天综合| 牛牛澡牛牛爽| aaa久久| 99色精品视频| 色情五月停停丁香| 色色色色色色网站| 激情丁香五月综合| 琪琪理论片| 激情综合五月开心狠狠| 天天干天天做| 综合色网站| 丁香成人综合| 婷婷色六月| 五月天激情婷婷| 毛v一区二区视频| 激情五月天在线观看色婷婷| 99热无码首页| 日韩精品AV一区二区三区| 男人視頻站| 天天爽,天天操。| 狠狠爱五月婷婷| 日韩成人中文| 99re熱| www,99热| 欧美69久成人做爰视频| 99啪啪视频| 五月婷婷香| 日韩无码专区| 久热只有这里有精品| 夜夜撸日日操| 婷婷WWW久久| WWW、日本色丁香、co m| 国产免费AV网站| 免费操超碰| 精品成人无码A片观看香草视频| 国产亚洲在线| 色婷婷久久综合久色综| www.热99热| 五月天偷拍| 国产 亚洲 在线| 天天爱天天狠天天透| www.金莲av| 五月天婷婷六月| 狠狠综合网| 久九色| 久久久久激情网| 99re视频在线精品| 日本在线噜噜| www,婷婷,com| 天天插天天日天天爽| 亭亭玉月丁香| 香蕉婷婷| 九月激情网| 久99久热| 婷婷五月激情天| 91操黄| 狠狠色无码| 色五月婷婷网| 5月色婷婷| 丁香五月激情综合| 色婷婷色五月另类综合| 噜噜噜久久| 亚洲综合激情五月天婷婷| 久久免片| 国产裸舞福利资源在线视频| 激情五月综合| 久久香蕉婷婷五月天| 精品一二三区久久AAA片| 五月婷婷六月丁香激情深爱| 色婷视频| 久久看婷婷| 丁香蜜臀黄色婷婷五月天| 插逼综合网| 成人在线视频网| 99re这里只有精品99| 婷婷五月天开心网| 国产在线6| 极品人妻VIDEOSSS人妻| 99久久久国产大片| 中国丰满熟女A片免费观| 天天网站天天爽| 久久婷婷六月综合| 99热精品10| 五月丁香综合| 色婷婷色久综| AV网在线观看| 五月丁香色| 久久机热这里只有精品免费视频 | 夫妇交换刺激做爰| 丁香五月天啪啪激情综和网| 野外99热| 亚洲天堂爱爱| 男女99免费视频| 极品人妻VIDEOSSS人妻| 操操操AV| 99久久久免费| 亚洲愉拍99热成人精品| 五月激情婷婷丁香天堂| 五月天开心色情网| 八戒青柠影视剧在线观看| 天天综合网亚洲网站| 久久婷婷五月综合成人d啪| 五月婷婷色五月| 婷婷色情小说| 色色色婷婷五月| 天天插天天干| 久热这里| 黄网在线免费观看| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 久久五月天激情| nvrentiantang av| Av性爱网站| 91九九热| 99精品在线| 色偷偷色婷婷| 色婷婷五月色| 色欲五月丁香| 亚洲综合色婷婷| 欧美狠狠草| 69人人操人人爽| 欧美激情综合色综合啪啪五月| 97婷婷五月| 欧美日韩99| 色综啪啪| 中文字幕在线不卡| 99热在线观看免费| 天搞天天天天天| 色五月开心久久网| 性做久久久久久久免费看| 丁香六月欧美| 天天日夜夜草进麻麻的子宫| 99热在线中文字幕| 五月 婷 久| 99在线精品视频| www.五月天| 毛片新网地| 99精品这里只有免费视频| 碰碰91| 色欧美影院| 91操在线| 91av色色乱视频| 亚洲乱码日产精品BD| 99久在线精品99re8| 五月婷婷丁香综合| 夜夜爱伊人| 播五月开心婷婷欧美综合| 婷婷色丁香六月| 亭亭五月天黑人2014| 情欲综合网| 久久视这里只有精品| 玖玖99免费视频| 日韩在线观看网址| 丁香婷婷色| 五月天伊人日日噜影片AV| AV亚洲在线| 色色婷婷丁香| 玖玖婷婷五月| 精品久久人妻| 久久怕怕视频| 色五月婷婷在线观看| 五月天色婷婷基地| 天天想夜夜爽天天爽| 婷婷午夜综合| 九九干视频| 久热婷婷在线视频| 卡视频1区2区| 亚洲色图啪啪| 色开心五月婷婷丁香HD| 任你爽在线视频| 99人妻碰碰久久久禁片| 亚洲蜜桃精久久久久久久久久久久| 激情深爱五月天| 色五月婷婷久久| 欧美日综合| 色婷婷香蕉| 婷婷五月丁香五月| 激情亭亭五月| 26UUU欧美激情一区二区| 久re热视频| 色99在线| 国产操碰| 婷婷狠狠操| 激情五月天综合网| 日韩成人综合网| 99热国产免费| 国产日韩精品SUV| 99精品国产在热久久| 中国女人内射6XXXXX| 成人免费黄色短视频| 日本99久久| 激情五月婷婷| 丁香六月综合激情| 丰满少妇猛烈A片免费看观看| 国产婷婷色综合AV蜜臀AV| 99噜噜噜在线播放| 天天草女人| 中文中文在线| 天天综合区| 99内射视频| 激情综合区| 琪琪理论片| 久久婷婷丁香六月天| site:picc-up.com| 日本婷婷综合精品| 午夜电影网VA内射| 99只有精品| 91九色精品熟女内射| 婷婷五月天AV| 国产伊人大香蕉| 草综合网| 亚洲综合色色色| 综合色播| 欧美高潮9| 婷婷丁香五月天综合AV| 亚洲丁香五月| 色情婷婷五月天| 五月婷护士| 色色操| 26UUU欧美| 色色色综合| 精品九九网| 激情六月五月婷婷综合网| 婷婷六月丁香五月| 亚洲成av人影院| 色玖玖综合| sewuyuejiqingwang| 成人婷婷| 伊综合蕉| site:picc-up.com| 区美毛片子| 婷婷狠狠青青| WWW.五月天9999| 五月天婷婷爱| 综合五月激情| 婷婷五月天va| 色五月网址| 青青草婷婷久久| 天天天天天色| 国产午夜一区二区三区| 丁香六月av| 26UUU精品一区二区Com| 久久综合五月天| 欧美色九| 亚洲热热视频| 狠狠操狠狠色| 色色成人網| 五月丁香色情| 婷婷五月天亚洲综合| va亚洲中文在线| 亚洲日韩一页精品发布| 99噜噜噜在线播放| 91seav| 亚洲超级碰| 色99网| 久热A片| 森林影视大全,最好看的2019年视频 | 另类视频在线| 色婷丁香| 六月色播| 久久久久激情网| 五月开心色| 久综合九综合99| 天天射影视综合网| 99久久国产宗和精品1上映| 久久网站免费亚洲| 日日夜夜婷婷| 亚洲天堂热| 另类图片色五月| 久久99久久99精品免观看粉嫩| 一区=区操屄高清大全av| 色五月婷婷五月久久| 国产成人网址| 狠狠草天天草| 另类专区在线观看| 天天摸天天舔在线视频| 天天做天天爽| 亚洲激情免费久久| 成人精品视频99在线观看免费 | 伍月婷丁香花全集| 久久人人添人人爽添人人片αV| 丁香五月婷婷动漫视频| 免费做A爰片77777| 情欲综合网| 一起草AV入口| 天天插天天| 在线日韩av| 久久这里只有精品热在99| 1999天天操夜夜操| 99福利导航| 日韩另类| 91久久久久久| 九九这里精品| 久久久五月天婷婷| 色婷婷的五月天| 99啪啪网| 五月天天天色| 色月视频| 天天综合区| 99无码视频| 色婷婷九月| 亚洲视频在线观看| 婷婷丁香五月天亚洲| 欧美激情 日韩无码 婷婷 五月天| 五月婷婷av| WWW.99热| 国产毛片欧美毛片久久久| 激情美女五月天激情在线| 高清 码 免费看片短视频| 大婷婷色呦呦噜噜色呦呦噜噜| 欧美 日韩 成人在线| 天天爽夜夜操| 六月久久狠狠| 伊人久久婷| 久久在线视频免费观看| 99热这里只有免费精品| 五月丁香啪综合| 人妻AV在线| 色五月婷婷五月天激情综合| AV在线观看网站| 裸体做A爰片毛片A片免费| 欧美成人A片AAA片在线播放| 欧美久久网| www.久久| 激情五月天社区| 久久色频| 超级碰碰视频无码| 激情图片五月天| 日本五月视频| 4399在线日本A片| 超碰97在线操| 亚洲成人av在线| 色欲五月天| 久操97| 国产精品涩涩涩视频网站| 综合久久99| 这里只有精品热| 97成人超碰免| 99热免费| 玖玖婷婷五月| 色婷婷a三区麻| 天天色图| 欲色人妻| 大香蕉九九| 狠狠操狠狠| 天天狠狠色噜噜| 国产精品久久..4399| 激情五月四色| 狠狠色狠狠操| 九色激情网| 午夜少妇在线观看视频| 99热精品在线观看| 偷拍视频五月天| 国产一级片| 久久国产高潮白浆免费观看99| 狠狠色婷婷7777久| 玖玖婷婷色五月| 丁香丝袜五月| aaaaaa片| 丁香婷婷六月天| www.久操| 久久在线视频免费观看| 91九色国产| 99热这里只有精品3| 婷婷丁香一月| 黄色大片又大粗又爽| 天堂爱啪啪| www...com黄在线观看| 91丨九色丨熟女高潮| 欧美丁香五月97色| 久久九九免费视频| 99爱免费在线视频| 五月婷婷五月天激情视频| 日本久热| 在线观看亚洲AV| 丁香婷婷六月| 最近中文字幕2019视频1| 婷色五月天| 网色99| 午夜丁香综合婷婷| 精品久久艹| 五月婷婷丁香狠狠撸久久| 精品99爱免费视频在线观看 | 五月丁香六月香香蕉| www天天色天天射| 精品无码99| 激情狠狠丁香月| 五月天三级| www色婷婷久久综合久色| 激情五月天婷婷图| 任你爽视频| 久久婷婷综合网| 国产成人综合在线| 久久九九玖玖| 97操碰视频| 亚韩在线视频| 婷婷五月天久久| 人妻精品在线| 午夜免费试看| 久草婷婷| 色色精品色| 久婷婷五月丁香在线观看| 激情五月天色| 99er精品| 九九视频这里只有精品在线播放 | 丁香五月综合高清在线| 超碰免费人人| 99热这里只有精品268| 丁香五月花婷婷开心| 欧美丁香婷婷天天操| 伊人五月婷婷| 激情综合网激情五月网| 国产热精品| 激情六月一二| 天天爱综合网| 久久婷狠狠色| 日日干天天爽| 亚洲乱码日产精品BD| 性欧美大战久久久久久久83| 九九爱激情| 丁香五月综合激情久久潮喷| 99热99| 中文字幕av久久爽一区| 99热这里只有精品268| 99er6| 精品一区二区三区木瓜| 久久久久久久久人妻| 国产色网站| 色综合伊人网| 在线看片h站| 五月婷婷精品| 91精品久久久久久久| 梁铮版《蜘蛛女侠》在线| 人妻久久久久久久久妻久久久久| 九九综合久久| 国产免费一区二区三区三州老师F1F1.CC | 热99精品视频五月| 亚洲综合激情五月久久| 99ER热精品视频| 激情碰碰碰| 激情综合区| 亚洲色域网| 99色热视频在线| 精品人妻伦一二三区久| 五月婷视频| 色女人久久| 成人婷婷桔色| 丁香五月天AV| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 欧美三级巜人妻互换| 亚洲AV永久无码影院黑人| 欧美99热| 亚洲va欧美va国产综合久久久| 中文字幕成人影视| 欧美成人精品A片免费一区99| 丁香六月综合| 国产激情视频在线观看| 99这里只有精品在线观看| 久久综合婷婷五月| 国产精品扒开腿做爽爽爽A片唱戏| 一起操 91N.com| 天天综合亚洲综合网天天αⅴ| 色婷婷裸体色性在线| 婷婷伊人綜合中文字幕| 操精品9| 五月丁香婷中文| 婷婷激情久久| www.99视频| 思思热精品在线观看| 五月婷婷婷| 九九超碰人人| 丁香综合伊人AV| 超碰成人在线观看| 91聚色综合网| 视频这里只有精品| 亚洲美女网Va| 久久人妻少妇嫩草AV| 五月丁香婷婷综合久久| 五月激情网综合| 99这里只有精品视频| 丁香婷婷午夜| 色五月天网| 婷婷亚洲综合| 五月天婷婷情色| 婷婷六月色播| 九九AV| 国产成人av在线播放| 色五月婷婷影院| 荫道BBWBBB高潮潮喷| 亚洲天堂99| 少妇性按摩无码中文A片| 99亚洲精品综合在线| 熟女激情网| 婷婷久久五月| 亚洲一区二区无遮挡A片| 激情五月婷在线精品| 91碰碰| 色婷五月| 99精品一二三四视频| 丁香五月成人自拍| 精品人妻久久久久久久| 五月天精品| 激情综合五月婷| 五月天丁香综合| 99re热在线视频观看| 日操夜撸| 伊人婷婷福利网| 丁香5月综合啪啪| 91操操| 婷婷丁香视频在线观看免费 | 99人妻碰碰久久久禁片| 五月激情婷婷图片基地| 99热免费| 人妻AV在线观看| 婷婷色五月天色| 五月丁香六月婷婷视频| 少妇AB又爽又紧无码网站| 丁香五月1页| 99精品视频网站| 9久精品| 大香蕉精品视频| 4399亚洲视频| 超碰激情网| 色琪琪一综合久久激情五月视频| 六月婷婷啪啪| 偷拍91九色| 色天堂在线| 99热99久久| 人人澡玖玖一| 91精品久久久久久| 91碰碰| 天天射夜夜爽| 久久女婷| 午夜性爱影视一区77| 国产69久久久欧美黑人A片| 综合狠狠五月婷婷| 欧美性生交XXXXX无码小说| 人色五月天婷婷| 极骚大香蕉伊人| 色亚洲欧洲| 色欲影香| 色屌丝中文字幕|