官网网站系统蘑菇街网站服务

张小明 2026/1/2 22:51:09
官网网站系统,蘑菇街网站服务,重庆安全员c证查询官网,服务器建设网站1.获取联系人列表效果展示:思路:联系人不至于用户,还有群聊,所以传参思路很明确了不仅需要当前用户id,还需要查询类型(即我的好友为用户 我的群聊是群组) controller层:RequestMapping(/loadContact) GlobalInterceptor public ResponseVO loadContact(HttpServlet…1.获取联系人列表效果展示:思路:联系人不至于用户,还有群聊,所以传参思路很明确了不仅需要当前用户id,还需要查询类型(即我的好友为用户 我的群聊是群组)controller层:RequestMapping(/loadContact) GlobalInterceptor public ResponseVO loadContact(HttpServletRequest request, NotEmpty String contactType) { UserContactTypeEnum contactTypeEnum UserContactTypeEnum.getByName(contactType); if (null contactTypeEnum) { throw new BusinessException(ResponseCodeEnum.CODE_600); } TokenUserInfoDto tokenUserInfoDto getTokenUserInfo(request); UserContactQuery contactQuery new UserContactQuery(); contactQuery.setUserId(tokenUserInfoDto.getUserId()); contactQuery.setContactType(contactTypeEnum.getType()); if (UserContactTypeEnum.USER contactTypeEnum) { contactQuery.setQueryContactUserInfo(true); } else if (UserContactTypeEnum.GROUP contactTypeEnum) { contactQuery.setQueryGroupInfo(true); contactQuery.setExcludeMyGroup(true); } contactQuery.setOrderBy(last_update_time desc); ListUserContact contactList userContactService.findListByParam(contactQuery); return getSuccessResponseVO(contactList); }解释:写法不唯一,如果前端不传入contactType时,就需要后端自己分类,会比较耗费时间,所以前端传入contactType是最优解(前端展示是区分的,即上述图片两个区域分别调用了loadContact方法 但是传入的contactType分别为用户与群组,所以就不需要而外再区分用户与群组的方法)select idselectList resultMapbase_result_map SELECT c.* if testquery.queryContactUserInfo or query.queryUserInfo ,u.nick_name contactName,u.sex sex /if if testquery.queryGroupInfo ,g.group_name contactName /if FROM user_contact c if testquery.queryContactUserInfo inner join user_info u on c.contact_idu.user_id /if if testquery.queryUserInfo inner join user_info u on c.user_idu.user_id /if if testquery.queryGroupInfo inner join group_info g on c.contact_idg.group_id if testquery.excludeMyGroup and g.group_owner_id!c.user_id /if /if include refidquery_condition/ if testquery.orderBy!null order by ${query.orderBy} /if if testquery.simplePage!null limit #{query.simplePage.start},#{query.simplePage.end} /if /select这部分用来解释controller中代码为什么要set那么多true,因为公用一个方法,所以在查询中要区分是查询用户还是群组,有个简单的方法就是直接重构此方法变成两个方法,但是此写法也是mybatis常用写法,只需要在相对于的类中添加boolean类即可,然后在xml文件使用if搭配join就可以达到想要的数据2.获取联系人详细效果展示:思路:从聊天页面点击别人头像就是这个接口,所以需要当前用户id与对象的id是显而易见的 这接口实现简单controller层:RequestMapping(/getContactInfo) GlobalInterceptor public ResponseVO getContactInfo(HttpServletRequest request, NotEmpty String contactId) { TokenUserInfoDto tokenUserInfoDto getTokenUserInfo(request); UserInfo userInfo userInfoService.getUserInfoByUserId(contactId); UserInfoVO userInfoVO CopyTools.copy(userInfo, UserInfoVO.class); userInfoVO.setContactStatus(UserContactStatusEnum.NOT_FRIEND.getStatus()); //判断是否是联系人 UserContact userContact userContactService.getUserContactByUserIdAndContactId(tokenUserInfoDto.getUserId(), contactId); if (userContact ! null) { userInfoVO.setContactStatus(userContact.getStatus()); } return getSuccessResponseVO(userInfoVO); }3.删除联系人思路:删除联系人不只有直接删除,还有拉黑的状态,所以需要传入删除的类型,所以需要当前用户id,对象,和删除类型展示:controller层:RequestMapping(/delContact) GlobalInterceptor public ResponseVO delContact(HttpServletRequest request, NotEmpty String contactId) { TokenUserInfoDto tokenUserInfoDto getTokenUserInfo(request); userContactService.removeUserContact(tokenUserInfoDto.getUserId(), contactId, UserContactStatusEnum.DEL); return getSuccessResponseVO(null); }实现层思路:主要是要修改两次user_contact表 因为互为好友 实现简单不贴代码
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

申请网站建设经费的请示贵阳网站建设hsyunso

文章目录 0 前言简介wifi定位背景和意义基本原理什么是wifi指纹wifi指纹由什么组成 wifi指纹定位实现方法不基于RSSI基于RSSI定位算法基于无线信号的三边(三角定位) 地图绘制数据采集点位置AP点位置 测试结果 算法实现效果最后 0 前言 🔥 今…

张小明 2025/12/28 22:28:19 网站建设

大连免费网站建设一台服务器可以建设几个网站

腾讯混元0.5B开源:4位量化技术开启边缘智能新纪元 【免费下载链接】Hunyuan-0.5B-Instruct-AWQ-Int4 腾讯开源混元0.5B指令微调模型,专为高效部署设计,支持4位整数量化,显著降低计算资源需求。模型具备双思维推理模式,…

张小明 2025/12/29 1:05:29 网站建设

公司做网站可以用个人域名让网站百度不到

Flutter Windows应用开发的终极解决方案:Fluent UI深度解析 【免费下载链接】fluent_ui Implements Microsofts WinUI3 in Flutter. 项目地址: https://gitcode.com/gh_mirrors/fl/fluent_ui 在跨平台开发领域,Flutter已经成为构建高性能应用的首…

张小明 2025/12/25 16:10:26 网站建设

南昌网站设计公司智慧团登录官方网站

从零搭建一个能“唱歌”的LC振荡器——Multisim实战手记你有没有试过,给电路通上电,示波器上突然跳出一个干净的正弦波,像音符一样稳定跳动?那一刻,仿佛整个电路“活”了过来。这背后,很可能就是LC振荡电路…

张小明 2025/12/27 13:21:29 网站建设

qt做网站怎么用ps做购物网站

前言在当今互联网软件开发领域,后端开发技术的不断演进使得开发人员面临着诸多挑战与机遇。对于广大专注于互联网大厂后端开发的技术人员而言,如何高效地管理应用配置成为了项目开发过程中的关键一环。Spring Boot3 作为一款备受青睐的后端开发框架&…

张小明 2025/12/25 16:53:20 网站建设