| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- package com.goafanti.user.controller;
- import java.util.Date;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.shiro.SecurityUtils;
- import org.apache.shiro.web.util.SavedRequest;
- import org.apache.shiro.web.util.WebUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.CrossOrigin;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.ResponseBody;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.goafanti.app.bo.UserBasicInfo;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.constant.ErrorConstants;
- import com.goafanti.common.controller.BaseController;
- import com.goafanti.common.dao.AdminMapper;
- import com.goafanti.common.model.Admin;
- import com.goafanti.common.model.User;
- import com.goafanti.common.utils.TimeUtils;
- import com.goafanti.common.utils.VerifyCodeUtils;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.user.service.UserService;
- @Controller
- public class UserLoginController extends BaseController {
- @Autowired
- private UserService userService;
- @Autowired
- private AdminMapper adminMapper;
- @RequestMapping(value = "/login", method = RequestMethod.GET)
- @ResponseBody
- public Result login(HttpServletRequest request, Model model) {
- Result res = new Result();
- TokenManager.logout();
- return res;
- }
- /**
- * 用户登录
- *
- * @param user
- * @param remember
- * @param request
- * @return
- */
- @RequestMapping(value = "/signin", method = RequestMethod.POST)
- @ResponseBody
- public Result signin(User user, Boolean remember, HttpServletRequest request) {
- Result res = new Result();
- JSONObject jo = (JSONObject) JSON.toJSON(TokenManager.login(user, remember));
- SavedRequest sr = WebUtils.getAndClearSavedRequest(request);
- if (sr != null) {
- jo.put("requestURI", sr.getRequestURI());
- jo.put("queryString", sr.getQueryString());
- }
- res.setToken(SecurityUtils.getSubject().getSession().getId());
- return res;
- }
- /**
- * 用户登录
- *
- * @param user
- * @param remember
- * @param request
- * @return
- */
- @RequestMapping(value = "/mlogin", method = RequestMethod.POST)
- @ResponseBody
- public Result mLogin(User user, Boolean remember, HttpServletRequest request) {
- Result res = new Result();
- JSONObject jo = (JSONObject) JSON.toJSON(TokenManager.login(user, remember));
- UserBasicInfo ubi=userService.selectBaseInfo();
- jo.put("easemobName",ubi.getEasemobName());
- jo.put("easemobPass",ubi.getEasemobPass());
- res.setToken(SecurityUtils.getSubject().getSession().getId());
- res.setData(jo);
- // 发送推送消息
- return res;
- }
- /**
- * 管理端登录
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/managesignin", method = RequestMethod.POST)
- @ResponseBody
- @CrossOrigin
- public Result managesignin(Admin admin, Boolean remember, HttpServletRequest request) {
- Result res = new Result();
- String mobile=adminMapper.selectStatusByMobile(admin.getMobile());
- if("锁定".equals(mobile)){
- res.getError().add(buildError("","用户已被锁定不能登录"));
- return res;
- }
- if("注销".equals(mobile)){
- res.getError().add(buildError("","用户已被注销"));
- return res;
- }
- res.setData(TokenManager.manageLogin(admin, remember));
- Admin a =adminMapper.selectByMobile(admin.getMobile());
- if (a!=null) {
- a.setLastLoginTime(new Date());
- adminMapper.updateByPrimaryKeySelective(a);
- }
- return res;
- }
- /**
- * 忘记密码 使用手机号+手机验证码登录
- *
- * @param mobileCode
- * @return
- */
- @RequestMapping(value = "/mobileSigin", method = RequestMethod.POST)
- @ResponseBody
- public Result mobileSignIn(User user, String mobileCode) {
- Result res = new Result();
- if (StringUtils.isBlank(user.getMobile())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "必须指定", "手机号"));
- return res;
- }
- if (TimeUtils.checkOverTime("register")) {
- res.getError().add(buildError(ErrorConstants.MCODE_OVERTIME_ERROR, "手机验证码超时失效"));
- return res;
- }
- if (!TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE).equals(mobileCode)) {
- res.getError().add(buildError(ErrorConstants.MCODE_ERROR, "手机验证码错误"));
- return res;
- }
- return res;
- }
- }
|