7-23

问题汇总:

  • update功能:

    • 不能只改动一个信息(分别写功能,然后统一调用?)
      • Answer: mybatis中存在语法使得可取一个变量,其余值为空
    • 改动密码需要再加密(已解决)
  • 手机号码唯一性检验

// todo 校验手机号是否已存在,不存在就抛异常
        String phoneNumber = userModel.getPhoneNumber();
        UserModel userModel1 = loginDao.getUserInfoByPhoneNumber(phoneNumber);
        if (userModel1 != null) {
            throw new DJException(LoginMsg.phone_error);
        }
***********************************************************************
phone_error("002","手机号已存在")
  • 拦截器功能 不能使用

    • Answer: 检查前取得网站的URI以确定是否进行拦截检查;

      ​ 确定正确后进行登录检查, 取得login_session_key来确定是否已登录

      ​ (login_session_key: 单独定义, 用来确定是否登录)

    package com.djcps.usermanage.login.interceptor;
    
    import com.djcps.djbase.commons.aop.interceptor.ControllerInterceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    //登录检查
    
    public class LoginInterceptor extends ControllerInterceptor {
    
        public static final String login_session_key = "loginUserPhone";
        //目标方法执行之前
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            request.getRequestURI();
            HttpSession session = request.getSession();
            Object loginUser = session.getAttribute(login_session_key);
            if (loginUser != null) {
                return true;
            } else {
                return false;
            }
    
        }
    }
    
    
  • 删除功能"isdel"变为1

    • Answer: 删除功能的逻辑不是物理删除"delete", 而是逻辑删除

      • 逻辑删除: 在表单中设置一个"isdel"数据, 值非0(未删除)即1(已删除). 语句:
      UPDATE
              USER
              set isdel = 1
              WHERE phone_number = #{phoneNumber}
      
      • 由于"isdel"的存在, 所以SQL语句中的任何操作都需要查询"isdel"的值来确定用户存在与否
posted @ 2021-07-26 14:02  Jason_Matrix  阅读(54)  评论(0)    收藏  举报