目錄
1.登錄
1.1 順序圖
1.2 參數要求
1.3 接口規范
1.4 實現流程
1.編寫SQL
2.dao層接口
3.定義Service接口
4.實現Service接口
5.單元測試
6. Controller實現方法對外提供API接口
7.測試API接口
8.實現前端邏輯,完成前后端交互
??編輯
1.登錄
1.1 順序圖
1.2 參數要求
1.3 接口規范
1.4 實現流程
1.編寫SQL
2.dao層接口
3.定義Service接口
/*** 根據用戶名查詢用戶信息* @param username 用戶名* @return 用戶信息*/User selectByUserName(String username);/*** 處理用戶登錄* @param username 用戶名* @param password 密碼* @return 用戶信息*/User login(String username,String password);
4.實現Service接口
/*** 根據用戶名查詢用戶信息** @param username 用戶名* @return 用戶信息*/@Overridepublic User selectByUserName(String username) {// 1.非空校驗if(StringUtils.isEmpty(username)) {// 打印日志log.warn(ResultCode.FAILED_PARAMS_VALIDATE.toString());// 拋出異常, 統一拋出 ApplicationExceptionthrow new ApplicationException(AppResult.failed(ResultCode.FAILED_PARAMS_VALIDATE));}// 返回查詢結果return userMapper.selectByUserName(username);}/*** 處理用戶登錄** @param username 用戶名* @param password 密碼* @return 用戶信息*/@Overridepublic User login(String username, String password) {// 1.非空校驗if(StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {// 打印日志log.warn(ResultCode.FAILED_PARAMS_VALIDATE.toString());// 拋出異常, 統一拋出 ApplicationExceptionthrow new ApplicationException(AppResult.failed(ResultCode.FAILED_LOGIN));}// 2.按用戶名查詢用戶信息User user = selectByUserName(username);// 3.對查詢結果進行非空校驗if (user == null) {// 打印日志log.warn(ResultCode.FAILED_LOGIN.toString() + ", username = " + username);// 拋出異常, 統一拋出 ApplicationExceptionthrow new ApplicationException(AppResult.failed(ResultCode.FAILED_LOGIN));}// 4.對密碼校驗String encryptPassword = MD5Util.md5Salt(password, user.getSalt());// 5.用密文和數據庫中存的用戶密碼進行比較if(!encryptPassword.equals(user.getPassword())) {// 打印日志log.warn(ResultCode.FAILED_LOGIN.toString() + ", 密碼錯誤, username = " + username);// 拋出異常, 統一拋出 ApplicationExceptionthrow new ApplicationException(AppResult.failed(ResultCode.FAILED_LOGIN));}// 打印登錄成功的日志log.info("[UserServiceImpl.login()]: " + username + " 登錄成功");return user;}
5.單元測試
@Testvoid selectByUserName() {System.out.println(userService.selectByUserName("boy"));}@Testvoid login() {System.out.println(userService.login("wj", "123456"));}