短链接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需要将登录路径排除。(实际需要在网关配置)

 @Override
    public 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。

### DeepSeek 开源周 Day2 活动详情 DeepSeek 开源周期间,参与者可以通过多种途径参与到活动中来。对于开源周第二天的活动,重点在于深入了解并体验由DeepSeek推出的最新技术和工具。 #### 技术亮点展示 - **知识提炼技术的应用**:DeepSeek V3利用了先进的知识提炼技术从先前版本R1中提取推理能力,从而显著提升了系统的推理性能[^1]。 - **FlashMLA项目介绍**:作为当天的重要发布之一,FlashMLA是一个备受瞩目的开源项目,在上线短短45分钟后便获得了超过400颗星的支持,目前这一数字已经增长至6K以上[^3]。该项目旨在提供高效的机器学习加速解决方案,适用于广泛的AI应用场景。 #### 参与方式 为了让更多开发者能够加入到这场盛事当中,官方特别设置了每日投票环节,鼓励社区成员积极互动和支持心仪的项目。感兴趣的朋友们可以访问指定链接完成每日一票的操作: - 访问[优快云博客之星页面](https://www.youkuaiyun.com/blogstar2024/detail/007)[^2] 此外,建议关注官方渠道发布的实时更新信息,以便及时获取更多关于Day2及其他后续活动的具体安排和精彩内容。 ```python # 示例代码用于说明如何自动化处理每日投票流程(仅作示意) import requests def vote_for_project(url): response = requests.post(url) if response.status_code == 200: print("投票成功") else: print(f"投票失败, 错误码:{response.status_code}") vote_for_project(&#39;https://example.com/vote&#39;) # 替换为实际API端点 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值