从零到企业级SSM电商项目实战教程(二十二)更新用户个人信息功能开发

UserController.java

/*
 * @Description: 更新用户个人信息功能
 *
 * @auther: Geekerstar(jikewenku.com)
 * @date: 2018/6/22 16:27
 * @param: [session, user]
 * @return: com.mmall.common.ServerResponse
 */
@RequestMapping(value = "update_information.do",method = RequestMethod.GET)
@ResponseBody
public ServerResponse update_information(HttpSession session,User user){
    User currentUser = (User)session.getAttribute(Const.CURRENT_USER);
    if(currentUser == null){
        return ServerResponse.createByErrorMessage("用户未登录");
    }
    user.setId(currentUser.getId());
    user.setUsername(currentUser.getUsername());
    ServerResponse response = iUserService.updateInformation(user);
    if(response.isSuccess()){
        session.setAttribute(Const.CURRENT_USER,response.getData());
    }
    return response;
}

IUserService.java

ServerResponse updateInformation(User user);

UserServiceImpl.java

public ServerResponse updateInformation(User user){
    //username是不能被更新的
    //email也要进行一个校验,校验新的email是不是已经存在,并且存在的email如果相同的话,不能是我们当前这个用户的
    int resultCount = userMapper.checkEmailByUserId(user.getEmail(),user.getId());
    if(resultCount > 0){
        return ServerResponse.createBySuccessMessage("email已存在,请更换email再尝试更新");
    }
    User updateUser = new User();
    updateUser.setId(user.getId());
    updateUser.setEmail(user.getEmail());
    updateUser.setPhone(user.getPhone());
    updateUser.setQuestion(user.getQuestion());
    updateUser.setAnswer(user.getAnswer());

    int updateCount = userMapper.updateByPrimaryKeySelective(updateUser);

    if(updateCount>0){
        return ServerResponse.createBySuccess("更新个人信息成功",updateUser);
    }
    return ServerResponse.createByErrorMessage("更新个人信息失败");
}

UserMapper.java

int checkEmailByUserId(@Param(value="email") String email,@Param(value="userId") Integer userId);

UserMapper.xml


本站所有文章均来自互联网,如有侵权,请联系站长删除。极客文库 » 从零到企业级SSM电商项目实战教程(二十二)更新用户个人信息功能开发
分享到:
赞(0)

评论抢沙发

评论前必须登录!