菜鸟项目练习:黑马点评项目总结

目录

1. 项目介绍

2.各个功能模块

 2.1  登录模块

  2.1.1 实现短信登录

  2.1.2 编写拦截器

 2.2 查询商户模块

   2.2.1 主页面查询商户类型

   2.2.3 按距离查询商户

 2.3 优惠券秒杀模块

 2.4 博客模块 

  2.4.1 点赞

 2.5 订阅模块

 2.6 签到模块

  2.6.1 签到功能

  2.6.2 获取当月连续签到天数

3.项目学习收获


 

1. 项目介绍

       黑马点评项目是一个前后端分离项目,类似于大众点评,实现了发布查看商家,达人探店,点赞,关注等功能,业务可以帮助商家引流,增加曝光度,也可以为用户提供查看提供附近消费场所,主要。用来配合学习Redis的知识。

 1.1 项目使用的技术栈

      SpringBoot+MySql+Lombok+MyBatis-Plus+Hutool+Redis

 1.2项目架构

      采用单体架构

菜鸟项目练习:黑马点评项目总结_第1张图片

后端部署在Tomcat上,前端部分部署在Nginx 。

2.各个功能模块

 2.1  登录模块

  2.1.1 实现短信登录

          编写一个工具类校验手机号格式,例如

public class RegexUtils {
    /**
     * 是否是无效手机格式
     * @param phone 要校验的手机号
     * @return true:符合,false:不符合
     */
    public static boolean isPhoneInvalid(String phone){
        return mismatch(phone, RegexPatterns.PHONE_REGEX);
    }
    /**
     * 是否是无效邮箱格式
     * @param email 要校验的邮箱
     * @return true:符合,false:不符合
     */
    public static boolean isEmailInvalid(String email){
        return mismatch(email, RegexPatterns.EMAIL_REGEX);
    }

    /**
     * 是否是无效验证码格式
     * @param code 要校验的验证码
     * @return true:符合,false:不符合
     */
    public static boolean isCodeInvalid(String code){
        return mismatch(code, RegexPatterns.VERIFY_CODE_REGEX);
    }

    // 校验是否不符合正则格式
    private static boolean mismatch(String str, String regex){
        if (StrUtil.isBlank(str)) {
            return true;
        }
        return !str.matches(regex);
    }
}

       手机号码格式无误后生成验证码发送至手机,并将验证码内容写入到Redis。设置过期时间;

       系统根据输入的手机号验证码进行与Redis中写入的验证码比对一致,即可登录成功,从MySQL中获取用户信息并生成Token,以Token为key将用户信息写入Redis中(hash),新用户则会注册信息并登录;

  2.1.2 编写拦截器

           登录拦截器,一些功能需要登录后才能使用

public class LoginInterceptor implements HandlerInterceptor {
    /***
     * @description: 登录拦截方法
     * @param: [javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object]
     * @return: boolean
     * @date: 2022/10/25 17

你可能感兴趣的:(java,redis)