短鏈接day3

短鏈接分組模塊

新增短鏈接分組

在新增之前,需要判斷gid是否是唯一的。

    //檢查gid是否已存在,保證gid唯一public boolean hasGid(String gid){LambdaQueryWrapper<GroupDO> queryWrapper = Wrappers.lambdaQuery(GroupDO.class).eq(GroupDO::getGid, gid).eq(GroupDO::getUsername, UserContext.getUsername());GroupDO hasGroupFlag=baseMapper.selectOne(queryWrapper);return hasGroupFlag==null;}
設置用戶上下文

common/biz/user下和config下UserConfiguration

其中,@JSONField(name = "id")來設置userinfodto中的userid。

設置線程安全的TTL,實現跨線程的異步傳輸。

了解原理:ttl原理

@JSONField注解可以用在方法(method),屬性(field)以及方法中的參數(parameter)上。JSONField中的name屬性用來指定JSON串中key的名稱。

修改短鏈接分組

在修改功能實現時,會出現請求成功了,但是數據庫信息未更改,原因是token已經過期了,所以需要重新登錄。在用戶信息傳輸過濾器中filter需要將登錄路徑排除。(實際需要在網關配置)

 @Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;String requestURI=httpServletRequest.getRequestURI();if(!Objects.equals(requestURI,"/api/short-link/v1/user/login")){String username = httpServletRequest.getHeader("username");String token = httpServletRequest.getHeader("token");Object userInfoJsonStr = stringRedisTemplate.opsForHash().get("login_" + username, token);if(userInfoJsonStr!=null){UserInfoDTO userInfoDTO = JSON.parseObject(userInfoJsonStr.toString(), UserInfoDTO.class);UserContext.setUser(userInfoDTO);}}try {filterChain.doFilter(servletRequest, servletResponse);} finally {UserContext.removeUser();}}
刪除短鏈接分組

刪除一般用軟刪除,所以用update做。

設置delflag為1。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44030.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44030.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44030.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Windows中使用開源高性能編輯器Zed(持續更新)

簡介 “Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. It’s also open source.” “Zed是一款高性能的支持多人協作的代碼編輯器&#xff0c;由Atom和Tree-sitter的創建者開發。它也是開源的。” Zed主打“高性能”&…

為什么選擇開放式耳機?悠律凝聲環開放式耳機體驗

開放式耳機相對于其他傳統耳機優勢有以下幾點&#xff1a; 配戴舒適性更好&#xff1a;由于開放式耳機的背面是開放的&#xff0c;空氣可以自由流動&#xff0c;減少了耳朵的悶熱感。長時間佩戴時更加舒適。&#xff0c;而傳統入耳式耳機一般都是塞入耳道&#xff0c;久戴會脹…

Java中的 this 關鍵字是什么意思? this() 又是什么?

目錄 問題問題一&#xff1a;什么是this關鍵字?問題二&#xff1a;什么是this()&#xff1f; 問題 問題一&#xff1a;什么是this關鍵字? 定義&#xff1a;this 代表當前對象。這個定義比較抽象&#xff0c;舉例來回答。 思考一個問題&#xff1a;如果沒有 this 會怎樣&…

鴻蒙開發學習筆記2

一、class 類 類是用于 創建對象模版。同時類聲明也會引入一個 新類型&#xff0c;可定義其 實例屬性、方法 和 構造函數。 // 類名 首字母大寫&#xff08;規范&#xff09; class 類名 {// 1、實例屬性&#xff08;字段&#xff09;// 2、構造函數// 3、方法 }1、屬性&…

IO練習網絡爬蟲獲取

題目&#xff1a; 具體文字內容如下&#xff1a; 練習&#xff1a;制造假數據 需求&#xff1a;制造假數據是開發中的一項重要能力&#xff0c;從各個網站爬取數據是其中的一種方法。 獲取姓氏示例及鏈接&#xff1a; 趙錢孫李 周吳鄭王 鏈接&#xff1a;百家姓_詩詞_百度漢…

如何追蹤ping連接中的所有路由器的數量和IP

如何快速判斷ping連接經過的路由器個數和IP&#xff1f; 方法一&#xff1a; ping命令會返回一個TTL&#xff0c;TTL&#xff08;Time To Live&#xff09;存活時間&#xff0c;一般初始值為64&#xff0c;每經過一個路由器就減一&#xff0c;當TTL為0時丟棄網絡包&#xff0…

“Numpy數據分析與挖掘:高效學習重點技能“

目錄 # 開篇 # 補充 zeros & ones eye 1. numpy數組的創建 1.1 array 1.2 range 1.3 arange 1.4 常見的數據類型 1.5 astype 1.6 random.random() & round 2. numpy數組計算和數組計算 2.1 reshape 2.2 shape 2.3 將一維數組變成多維數組 2.4 指定一維…

0010基于免疫遺傳算法的配送中心選址

免疫優化算法&#xff08;Immune Optimization Algorithm, IOA&#xff09;在物流配送中心選址中的應用是通過模擬免疫系統的進化過程來解決選址優化問題。物流配送中心選址問題涉及到如何在給定區域內選擇最優的位置&#xff0c;以最大化服務覆蓋并最小化運輸成本。 免疫優化…

我的FPGA

1.安裝quartus 2.更新usb blaster驅動 3.新建工程 1.隨便找一個文件夾&#xff0c;里面新建demo文件夾&#xff0c;表示一個個工程 在demo文件夾里面&#xff0c;新建src&#xff08;源碼&#xff09;&#xff0c;prj&#xff08;項目&#xff09;&#xff0c;doc&#xff…

HTTP代理的用途有哪些-okeyproxy

通過HTTP代理&#xff0c;客戶端可以間接訪問目標伺服器&#xff0c;從而實現多種功能。無論你是普通用戶還是技術大咖&#xff0c;HTTP代理都能帶來諸多便利和安全保障。本文將從多個角度詳細探討HTTP代理的用途。 HTTP代理的重要用途 1. 訪問控制和內容過濾 在企業和教育機…

什么是語音降噪?

當我們使用手機或者電腦進行語音通話時&#xff0c;有時候會聽到背景噪音干擾&#xff0c;比如人聲、電視聲或者風扇聲。這些噪音讓我們的通話變得不清晰&#xff0c;影響了溝通效果。那么&#xff0c;有沒有什么方法可以讓我們的語音通話更清晰呢&#xff1f;這就要介紹一下語…

壓縮感知2——算法模型

采集原理 其中Y就是壓縮后的信號表示(M維)&#xff0c;Φ表示采集的測量矩陣&#xff0c;可以是一個隨機矩陣&#xff0c;X代表原始的數字信號&#xff08;N維&#xff09;。 常見的測量矩陣——隨機高斯矩陣 隨機伯努利矩陣 稀疏隨機矩陣等&#xff0c;矩陣需要滿足與信號的稀…

spring xml實現bean對象(僅供自己參考)

對于spring xml來實現bean 具體代碼&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaL…

修改ES索引名稱

1 案例背景 將ES索引【my-index】修改為【my-index-v1】&#xff0c;方便添加索引別名 2 操作步驟 首先通過PUT請求將舊索引my-index設置為可寫&#xff08;如果之前設置為不可寫&#xff09; PUT /my-index/_settings {"settings": {"index.blocks.write&q…

AWS無服務器 應用程序開發—第十七章 Application Composer

Application Composer 是 AWS 提供的一種可視化工具,用于設計和構建無服務器應用程序。它通過拖放界面簡化了無服務器架構的創建過程,使開發者能夠更直觀地設計和配置應用程序的各個組件。 主要功能 可視化設計 通過拖放界面,開發者可以輕松地添加和配置 AWS 資源,如 L…

2-29 基于matlab的CEEMD

基于matlab的CEEMD&#xff08;Complementary Ensemble Empirical Mode Decomposition&#xff0c;互補集合經驗模態分解&#xff09;&#xff0c;先將數據精心ceemd分解&#xff0c;得到imf分量&#xff0c;然后通過相關系數帥選分量&#xff0c;在求出他們的樣本熵的特征。用…

昇思訓練營打卡第二十一天(DCGAN生成漫畫頭像)

DCGAN&#xff0c;即深度卷積生成對抗網絡&#xff08;Deep Convolutional Generative Adversarial Network&#xff09;&#xff0c;是一種深度學習模型&#xff0c;由Ian Goodfellow等人在2014年提出。DCGAN在生成對抗網絡&#xff08;GAN&#xff09;的基礎上&#xff0c;引…

【CentOS】Linux命令之docker命令(持續更新)

刪除所有容器 該命令將刪除所有已停止的容器。你還可以使用其他狀態值&#xff0c;例如created、restarting或dead docker container rm $(docker container ls -aqf statusexited)刪除所有鏡像 該命令將刪除所有鏡像&#xff0c;包括被使用的鏡像。請注意&#xff0c;如果某…

【深度學習】第5章——卷積神經網絡(CNN)

一、卷積神經網絡 1.定義 卷積神經網絡&#xff08;Convolutional Neural Network, CNN&#xff09;是一種專門用于處理具有網格狀拓撲結構數據的深度學習模型&#xff0c;特別適用于圖像和視頻處理。CNN 通過局部連接和權重共享機制&#xff0c;有效地減少了參數數量&#x…

使用OpencvSharp實現人臉識別

在網上有很多關于這方面的博客&#xff0c;但是都沒有說完整&#xff0c;按照他們的博客做下來代碼都不能跑。所以我就自己寫個博客補充一下 我這使用的.NET框架版本是 .NetFramework4.7.1 使用Nuget安裝這兩個程序包就夠了&#xff0c;不需要其他的配置 一定要安裝OpenCvSha…