当前位置: 首页 > article >正文

【探花交友】通用设置总结笔记

查询通用设置

        首先定义一个Vo对象 里面封装了通用设置 手机号码 问题

@Data
@NoArgsConstructor
@AllArgsConstructor
public class SettingsVo implements Serializable {

    private Long id;
    private String strangerQuestion = "";
    private String phone;
    private Boolean likeNotification = true;
    private Boolean pinglunNotification = true;
    private Boolean gonggaoNotification = true;

}

        1.controller调用service层 创建一个SettingVo对象 从ThroadLocal获得用户id和手机号码 将手

机号码设置给SettingVo

         2.根据用户的id 去数据库里面寻找用户是否 有陌生人问题 调用QuestionApi

QuestionApi构造条件构造器 根据用户id 来查询是否有问题 返回给controller 拿到question对象 判

断它是否为空 如果未空就是没有问题 那么给它设置一个默认问题 否则就把查询到的问题 赋值给

SettingsVo对象

        3.根据用户id查询 通用设置 调用settingsApi 传入用户id 构造条件构造器查询并返回 如果不等

于null 就设置给settingsVo对象 否者直接返回(vo对象里面有通用设置 默认是true 打开的)

陌生人问题

        1.controller层获得用户输入的问题 调用service层 传入设置的问题

        2.从ThreadLocal中获得用户id 去查询是否有问题 如果有就是更新 没有就是添加

        3.没有问题 重新new一个问题对象(因为查询出来的是null) 设置问题 用户id 调用api保存

        4.有问题 吧问题重新设置进去 调用api更新

通知设置

        1.controller接收到map 传入给service层

        2.service层中获取map的三个设置属性 同时从ThreadLocal获取用户id

        3.根据用户id去数据库里面查找是否有通知设置 如果有进行更新 没有进行添加

黑名单管理

        1.使用PageResult对象对分页信息进行封装

        2.获取当前用户id调用 黑名单api 传入用户id page size 返回ipage 转为PageResult对象返回

         3.在黑名单api中 构造一个page对象 调用mapper 传入page和当前用户id 返回ipage

         4.根据用户id查询出它的黑名单id 根据前面查询的作为条件 查询出黑名单用户

         5.取消黑名单 使用条件构造器传入用户id和黑名单id 删除(必须传入用户id和黑名单id 因为 如

果有一个人被多个人拉黑 他取消黑名单时 如果没有传入用户id 那么他在黑名单表删除了)

 


http://www.kler.cn/a/457639.html

相关文章:

  • MyBatis-plus sql拦截器
  • 25.1.3
  • Ungoogled Chromium127 编译指南 MacOS 篇(一)- 项目介绍
  • OFDM学习-(二)长短序列和PPDU整体数据处理流程
  • 微信小程序 覆盖组件cover-view
  • 《Vue3实战教程》35:Vue3测试
  • Spring Boot Actuator、Spring Boot Actuator使用、Spring Boot Actuator 监控、Spring程序监控
  • libreoffice在Windows和Linux环境的安装和结合Springboot使用教程
  • Windows安装Confluence详解
  • YOLOv10-1.1部分代码阅读笔记-conv.py
  • React(二)——注册页/登录页/Reducer/
  • Linux实验报告6-用户管理
  • Metagenome宏基因组,未识别的物种unclassified
  • 【Unity3D】ECS入门学习(五)共享组件 ISharedComponentData
  • MySQL三层B+树能存多少条数据
  • 鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表
  • UDP协议解说
  • RJ45网口模块设计
  • 常见网络攻击场景常被用于测试系统安全性
  • Android中使用AIDL实现进程通信
  • ArrayList和LinkedList的区别、优缺点与使用场景
  • 生产力利器,Mac 系统优选,keychron K10Max 三模键盘体验分享
  • QT-------认识QT
  • 呼叫中心中间件免费体验测试和freeswitch部署方案
  • Linux CPU调度算法
  • 领克Z20结合AI技术,革新自动驾驶辅助系统