黑马探花交友----2.实现首页功能-今日佳人

学习目标:

  • 首页功能说明
  • 实现今日佳人功能
  • 统一接口服务地址
  • 实现推荐用户的列表
  • 接口增加缓存功能
  • 整合前端联调测试

1、首页

在用户登录成功后,就会进入首页,首页中有今日佳人、推荐好友、探花、搜附近等功能。

 

2、今日佳人

智能推荐缘分值最大的用户,进行展现出来。缘分值的计算是由用户的行为进行打分,

如:点 击、点赞、评论、学历、婚姻状态等信息组合而成的。

首页效果如图:

黑马探花交友----2.实现首页功能-今日佳人_第1张图片

 

实现逻辑:

我们先不考虑推荐的逻辑,假设现在已经有推荐的结果,我们只需要从结果中查询到缘分值最高 的用户就可以了。

至于推荐的逻辑以及实现,我们将后面讲解。

流程:

黑马探花交友----2.实现首页功能-今日佳人_第2张图片

 

3、部署MongoDB

#拉取镜像 docker pull mongo:4.0.3

#创建容器 docker create --name mongodb --restart=always -p 27017:27017 -v mongodb:/data/db mongo:4.0.3

#启动容器 docker start mongodb

#进入容器 docker exec -it mongodb /bin/bash

#使用MongoDB客户端进行操作 mongo > show dbs

#查询所有的数据库 admin 0.000GB config 0.000GB local 0.000GB

通过Robo进行查询

 

4、搭建工程

系统采用SpringBoot、Dubbo构建,首先开发的是dubbo服务工程。

...../......

 

5、业务实现

实现描述:

需要根据前端定义的结构定义java对象

根据sso系统提供的接口查询当前登录用户的信息

根据dubbo系统提供的服务进行查询今日佳人数据

 

5.1 统一接口服务入口

现在我们有sso和server需要对外提供接口服务,而在前端只能设置一个请求地址,

所以我们需要将服务接口统一下,需要使用nginx进行统一入口

 

5.2 推荐列表

查询首页需要的数据列表,要实现的数据效果,如下:

黑马探花交友----2.实现首页功能-今日佳人_第3张图片

 

5.3 缓存

实现缓存逻辑有2种方式:

1. 每个接口单独控制缓存逻辑     2. 统一控制缓存逻辑

 

5.4 响应结果写入到缓存

前面已经完成了缓存命中的逻辑,那么在查询到数据后,如果将结果写入到缓存呢?

------思考:通过拦截器可以实现吗?

通过ResponseBodyAdvice进行实现。 ResponseBodyAdvice是Spring提供的高级用法,会在结果被处理前进行拦截,拦截的逻辑自己实现, 这样就可以 实现拿到结果数据进行写入缓存的操作了。

你可能感兴趣的:(探花交友,java,android,flutter,spark,mongodb)