Commit fb9d6ca1 authored by licc's avatar licc

用户登录推出接口实现

parent 08de3d98
...@@ -11,7 +11,7 @@ public interface LoginRecordMapper extends BaseMapper<LoginRecord> { ...@@ -11,7 +11,7 @@ public interface LoginRecordMapper extends BaseMapper<LoginRecord> {
* @param loginRecord 登录信息 * @param loginRecord 登录信息
* @return 登录信息 * @return 登录信息
*/ */
LoginRecord add(LoginRecord loginRecord); int add(LoginRecord loginRecord);
/** /**
* 编辑 * 编辑
......
...@@ -37,4 +37,17 @@ public enum OperationTypeEnum { ...@@ -37,4 +37,17 @@ public enum OperationTypeEnum {
public void setDesc(String desc) { public void setDesc(String desc) {
this.desc = desc; this.desc = desc;
} }
public static String getByCode(Integer code) {
if (null == code) {
return null;
}
for (OperationTypeEnum operation : OperationTypeEnum.values()) {
if (operation.getCode().intValue() == code.intValue()) {
return operation.getDesc();
}
}
return null;
}
} }
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
*@ Description: 用户登录Vo
*@ Author : 86187
*@ Date : 2021/1/15 14:27
*/
@Data
@ApiModel(value = "UserLoginVo")
public class UserLoginVo implements Serializable {
private static final long serialVersionUID = 2206962675782086034L;
/**
* 手机号码
*/
@ApiModelProperty(value = "手机号码",name = "phone")
private String phone;
/**
* 密码
*/
@ApiModelProperty(value = "密码",name = "password")
private String password;
/**
* 验证码
*/
@ApiModelProperty(value = "验证码",name = "smCode")
private String smCode;
}
...@@ -2,6 +2,7 @@ package cn.wisenergy.service.app; ...@@ -2,6 +2,7 @@ package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.vo.UserInfoVo; import cn.wisenergy.model.vo.UserInfoVo;
import cn.wisenergy.model.vo.UserLoginVo;
import cn.wisenergy.model.vo.UserRegisterVo; import cn.wisenergy.model.vo.UserRegisterVo;
/** /**
...@@ -21,20 +22,18 @@ public interface UserLoginService { ...@@ -21,20 +22,18 @@ public interface UserLoginService {
/** /**
* 手机验证码登录 * 手机验证码登录
* *
* @param code 验证码 * @param userLoginVo 登录信息
* @param phone 手机号
* @return true 成功 false 失败 * @return true 成功 false 失败
*/ */
R<Boolean> loginCode(String code, String phone); R<Boolean> loginCode(UserLoginVo userLoginVo);
/** /**
* 手机-密码登录 * 手机-密码登录
* *
* @param phone 手机号 * @param userLoginVo 登录信息
* @param password 密码
* @return true 成功 false 失败 * @return true 成功 false 失败
*/ */
R<UserInfoVo> login(String phone, String password); R<UserInfoVo> login(UserLoginVo userLoginVo);
/** /**
* 退出登录 * 退出登录
...@@ -65,9 +64,8 @@ public interface UserLoginService { ...@@ -65,9 +64,8 @@ public interface UserLoginService {
/** /**
* 短信重置密码 * 短信重置密码
* *
* @param code 用户id * @param userLoginVo 登录信息
* @param phone 手机号
* @return true 成功 false 失败 * @return true 成功 false 失败
*/ */
R<Boolean> notePassword(Integer code, String phone); R<Boolean> notePassword(UserLoginVo userLoginVo);
} }
...@@ -2,10 +2,13 @@ package cn.wisenergy.service.app.impl; ...@@ -2,10 +2,13 @@ package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.Md5Util; import cn.wisenergy.common.utils.Md5Util;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.LoginRecordMapper;
import cn.wisenergy.mapper.UsersMapper; import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.LoginRecord; import cn.wisenergy.model.app.LoginRecord;
import cn.wisenergy.model.app.UserInfo; import cn.wisenergy.model.app.UserInfo;
import cn.wisenergy.model.enums.OperationTypeEnum;
import cn.wisenergy.model.vo.UserInfoVo; import cn.wisenergy.model.vo.UserInfoVo;
import cn.wisenergy.model.vo.UserLoginVo;
import cn.wisenergy.model.vo.UserRegisterVo; import cn.wisenergy.model.vo.UserRegisterVo;
import cn.wisenergy.service.app.UserLoginService; import cn.wisenergy.service.app.UserLoginService;
import cn.wisenergy.service.common.Common; import cn.wisenergy.service.common.Common;
...@@ -18,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -18,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
* @author 86187
* @ Description: 用户登录相关接口实现 * @ Description: 用户登录相关接口实现
* @ Author : 86187 * @ Author : 86187
* @ Date : 2021/1/7 14:22 * @ Date : 2021/1/7 14:22
...@@ -28,6 +32,9 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp ...@@ -28,6 +32,9 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp
@Autowired @Autowired
private UsersMapper usersMapper; private UsersMapper usersMapper;
@Autowired
private LoginRecordMapper loginRecordMapper;
@Override @Override
public R<Boolean> register(UserRegisterVo userVo) { public R<Boolean> register(UserRegisterVo userVo) {
log.info("volunteer-service[]UserLoginServiceImpl[]register[]input.param.userVo:" + userVo); log.info("volunteer-service[]UserLoginServiceImpl[]register[]input.param.userVo:" + userVo);
...@@ -60,27 +67,34 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp ...@@ -60,27 +67,34 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp
} }
//4、保存操作记录 //4、保存操作记录
LoginRecord loginRecord=new LoginRecord(); LoginRecord loginRecord = new LoginRecord();
loginRecord.setType(1); loginRecord.setType(OperationTypeEnum.USER_REGISTER.getCode());
loginRecord.setUserId(user.getId());
String name = OperationTypeEnum.getByCode(OperationTypeEnum.USER_REGISTER.getCode());
loginRecord.setOperationName(name);
int sum = loginRecordMapper.add(loginRecord);
if (sum == 0) {
return R.ok(1, false);
}
return R.ok(0, true); return R.ok(0, true);
} }
@Override @Override
public R<Boolean> loginCode(String code, String phone) { public R<Boolean> loginCode(UserLoginVo userLoginVo) {
return null; return null;
} }
@Override @Override
public R<UserInfoVo> login(String phone, String password) { public R<UserInfoVo> login(UserLoginVo userVo) {
log.info("volunteer-service[]UserLoginServiceImpl[]login[]input.param.phone,password:" + phone, password); log.info("volunteer-service[]UserLoginServiceImpl[]login[]input.param.userVo:" + userVo);
if (StringUtils.isBlank(phone) || StringUtils.isBlank(password)) { if (null == userVo || StringUtils.isBlank(userVo.getPhone()) || StringUtils.isBlank(userVo.getPassword())) {
return R.error("入参为空!"); return R.error("入参为空!");
} }
//1、根据手机号,获取用户信息 //1、根据手机号,获取用户信息
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("phone", phone); queryWrapper.eq("phone", userVo.getPhone());
queryWrapper.eq("is_delete", 0); queryWrapper.eq("is_delete", 0);
UserInfo userInfo = usersMapper.selectOne(queryWrapper); UserInfo userInfo = usersMapper.selectOne(queryWrapper);
if (null == userInfo) { if (null == userInfo) {
...@@ -89,7 +103,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp ...@@ -89,7 +103,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp
//2、判断密码是否正确 //2、判断密码是否正确
//MD5加密 //MD5加密
String secret = Md5Util.digestMD5(phone + password); String secret = Md5Util.digestMD5(userVo.getPhone() + userVo.getPassword());
if (!userInfo.getPassword().equals(secret)) { if (!userInfo.getPassword().equals(secret)) {
return R.error("密码错误,请您输入正确密码!"); return R.error("密码错误,请您输入正确密码!");
...@@ -100,12 +114,38 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp ...@@ -100,12 +114,38 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp
userInfoVo.setUserId(userInfo.getId()); userInfoVo.setUserId(userInfo.getId());
userInfoVo.setUserName(userInfo.getUserName()); userInfoVo.setUserName(userInfo.getUserName());
userInfoVo.setPhone(userInfo.getPhone()); userInfoVo.setPhone(userInfo.getPhone());
//3、保存操作记录
LoginRecord loginRecord = new LoginRecord();
loginRecord.setType(OperationTypeEnum.USER_LOGIN.getCode());
loginRecord.setUserId(userInfo.getId());
String name = OperationTypeEnum.getByCode(OperationTypeEnum.USER_LOGIN.getCode());
loginRecord.setOperationName(name);
int sum = loginRecordMapper.add(loginRecord);
if (sum == 0) {
return R.error("保存操作记录失败!");
}
return R.ok(userInfoVo); return R.ok(userInfoVo);
} }
@Override @Override
public R<Boolean> loginOut(Integer userId) { public R<Boolean> loginOut(Integer userId) {
return null; log.info("volunteer-service[]UserLoginServiceImpl[]loginOut[]input.param.userId:" + userId);
if (null == userId) {
return R.error("入参为空!");
}
//保存用户退出操作
LoginRecord loginRecord = new LoginRecord();
loginRecord.setType(OperationTypeEnum.USER_OUT.getCode());
loginRecord.setUserId(userId);
String name = OperationTypeEnum.getByCode(OperationTypeEnum.USER_OUT.getCode());
loginRecord.setOperationName(name);
int sum = loginRecordMapper.add(loginRecord);
if (sum == 0) {
return R.ok(1, false);
}
return R.ok(0, true);
} }
@Override @Override
...@@ -135,7 +175,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp ...@@ -135,7 +175,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp
} }
@Override @Override
public R<Boolean> notePassword(Integer code, String phone) { public R<Boolean> notePassword(UserLoginVo userVo) {
return null; return null;
} }
...@@ -166,5 +206,4 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp ...@@ -166,5 +206,4 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, UserInfo> imp
} }
} }
...@@ -2,6 +2,8 @@ package cn.wisenergy.web.admin.controller.app; ...@@ -2,6 +2,8 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.vo.UserInfoVo;
import cn.wisenergy.model.vo.UserLoginVo;
import cn.wisenergy.model.vo.UserRegisterVo; import cn.wisenergy.model.vo.UserRegisterVo;
import cn.wisenergy.service.app.UserLoginService; import cn.wisenergy.service.app.UserLoginService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -41,6 +43,30 @@ public class UserLongController { ...@@ -41,6 +43,30 @@ public class UserLongController {
return userLoginService.register(userVo); return userLoginService.register(userVo);
} }
@ApiOperation(value = "用户账号密码登录", notes = "用户账号密码登录", httpMethod = "POST")
@ApiImplicitParam(name = "userVo", value = "登录用户信息", dataType = "UserLoginVo")
@PostMapping("/login")
public R<UserInfoVo> login(@RequestBody UserLoginVo userVo) {
log.info("volunteer-service[]UserLongController[]login[]input.param.userVo:" + userVo);
if (null == userVo || StringUtils.isBlank(userVo.getPhone()) || StringUtils.isBlank(userVo.getPassword())) {
return R.error("入参不能为空!");
}
return userLoginService.login(userVo);
}
@ApiOperation(value = "退出登录", notes = "退出登录", httpMethod = "POST")
@PostMapping("/loginOut")
public R<Boolean> loginOut(Integer userId) {
log.info("volunteer-service[]UserLongController[]loginOut[]input.param.userId:" + userId);
if (null == userId) {
return R.error("入参不能为空!");
}
return userLoginService.loginOut(userId);
}
@ApiOperation(value = "重置密码", notes = "重置密码", httpMethod = "POST") @ApiOperation(value = "重置密码", notes = "重置密码", httpMethod = "POST")
@PostMapping("/resetPassword") @PostMapping("/resetPassword")
public R<Boolean> resetPassword(Integer userId) { public R<Boolean> resetPassword(Integer userId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment