从零到企业级SSM电商项目实战教程(二十三)获取用户详细信息功能开发

UserController.java

/*
 * @Description: 获取用户详细信息
 *
 * @auther: Geekerstar(jikewenku.com)
 * @date: 2018/6/22 17:14
 * @param: [session]
 * @return: com.mmall.common.ServerResponse
 */
@RequestMapping(value = "get_information.do",method = RequestMethod.POST)
@ResponseBody
public ServerResponse get_information(HttpSession session){
    User currentUser = (User)session.getAttribute(Const.CURRENT_USER);
    if(currentUser == null){
        return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"未登录,需要强制登录status=10");
    }
    return iUserService.getInformation(currentUser.getId());
}

IUserService.java

ServerResponse getInformation(Integer userId);

UserServiceImpl.java

public ServerResponse getInformation(Integer userId){
    User user = userMapper.selectByPrimaryKey(userId);
    if(user == null){
        return ServerResponse.createByErrorMessage("找不到当前用户");
    }
    user.setPassword(StringUtils.EMPTY);
    return ServerResponse.createBySuccess(user);
}

UserManageController.java

controller包下面新建一个包backend,作为后台模块,backend包下新建UserManageController.java

package com.mmall.controller.backend;

import com.mmall.common.Const;
import com.mmall.common.ServerResponse;
import com.mmall.pojo.User;
import com.mmall.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpSession;

/**
 * @Author: Geekerstar(jikewenku.com)
 * @Date: 2018/6/22 16:59
 * @Description:
 */

@Controller
@RequestMapping("/manage/user")
public class UserManageController {
    @Autowired
    private IUserService iUserService;

    @RequestMapping(value = "login.do",method = RequestMethod.POST)
    @ResponseBody
    public ServerResponse login(String username, String password, HttpSession session){
        ServerResponse response = iUserService.login(username,password);
        if(response.isSuccess()){
            User user = response.getData();
            if(user.getRole() == Const.Role.ROLE_ADMIN){
                //说明登录的是管理员
                session.setAttribute(Const.CURRENT_USER,user);
                return response;
            }else {
                return ServerResponse.createByErrorMessage("不是管理员,无法登录");
            }
        }
        return response;
    }

}

[v_error]这里我们把前面UserController.java里的方法改为post提交方式[/v_error]

用户模块总结

至此我们就完成了用户模块的开发,接下来应该进行模块单元测试,由于测试程序繁琐且重复,这里暂时不做记录,请自行完成测试。

当前项目结构及文件如下所示:

[v_notice]目前本教程只是简单粘贴了代码,项目完成之后会重新更新教程文章。[/v_notice]

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 从零到企业级SSM电商项目实战教程(二十三)获取用户详细信息功能开发

Leave a Reply

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多