|
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.zanxiang.common.domain.ResultVo;
|
|
import com.zanxiang.common.domain.ResultVo;
|
|
|
|
+import com.zanxiang.common.enums.AccountStatusEnum;
|
|
|
|
+import com.zanxiang.common.enums.CmfSaltEnum;
|
|
import com.zanxiang.common.enums.HttpStatusEnum;
|
|
import com.zanxiang.common.enums.HttpStatusEnum;
|
|
import com.zanxiang.common.exception.BaseException;
|
|
import com.zanxiang.common.exception.BaseException;
|
|
import com.zanxiang.common.utils.IpUtils;
|
|
import com.zanxiang.common.utils.IpUtils;
|
|
@@ -13,10 +15,10 @@ import com.zanxiang.common.utils.bean.BeanUtils;
|
|
import com.zanxiang.mybatis.entity.User;
|
|
import com.zanxiang.mybatis.entity.User;
|
|
import com.zanxiang.mybatis.mapper.UserMapper;
|
|
import com.zanxiang.mybatis.mapper.UserMapper;
|
|
import com.zanxiang.sdk.domain.dto.UserDTO;
|
|
import com.zanxiang.sdk.domain.dto.UserDTO;
|
|
-import com.zanxiang.common.enums.AccountStatusEnum;
|
|
|
|
-import com.zanxiang.common.enums.CmfSaltEnum;
|
|
|
|
|
|
+import com.zanxiang.sdk.domain.dto.UserTokenDTO;
|
|
import com.zanxiang.sdk.domain.params.*;
|
|
import com.zanxiang.sdk.domain.params.*;
|
|
import com.zanxiang.sdk.domain.vo.UserLoginVO;
|
|
import com.zanxiang.sdk.domain.vo.UserLoginVO;
|
|
|
|
+import com.zanxiang.sdk.domain.vo.UserVO;
|
|
import com.zanxiang.sdk.service.*;
|
|
import com.zanxiang.sdk.service.*;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.logging.log4j.util.Strings;
|
|
import org.apache.logging.log4j.util.Strings;
|
|
@@ -316,22 +318,24 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ResultVo<Boolean> updatePassword(UpdatePasswordParam updatePasswordParam) {
|
|
public ResultVo<Boolean> updatePassword(UpdatePasswordParam updatePasswordParam) {
|
|
- String mobile = updatePasswordParam.getMobile();
|
|
|
|
- Integer type = updatePasswordParam.getType();
|
|
|
|
- String code = updatePasswordParam.getCode();
|
|
|
|
- String username = updatePasswordParam.getUsername();
|
|
|
|
|
|
+ String token = updatePasswordParam.getToken();
|
|
String password = updatePasswordParam.getPassword();
|
|
String password = updatePasswordParam.getPassword();
|
|
- //根据用户名查询用户信息
|
|
|
|
- User user = super.getOne(new LambdaQueryWrapper<User>()
|
|
|
|
- .eq(User::getUsername, username)
|
|
|
|
- .eq(User::getMobile, mobile));
|
|
|
|
|
|
+ String username = updatePasswordParam.getUsername();
|
|
|
|
+ //查询用户信息
|
|
|
|
+ LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ if (StringUtils.checkPhone(username)) {
|
|
|
|
+ queryWrapper.eq(User::getMobile, username);
|
|
|
|
+ } else {
|
|
|
|
+ queryWrapper.eq(User::getUsername, username);
|
|
|
|
+ }
|
|
|
|
+ User user = super.getOne(queryWrapper);
|
|
if (user == null) {
|
|
if (user == null) {
|
|
return new ResultVo<>(HttpStatusEnum.USERNAME_NOT_EXISTS);
|
|
return new ResultVo<>(HttpStatusEnum.USERNAME_NOT_EXISTS);
|
|
}
|
|
}
|
|
- //短信验证码校验
|
|
|
|
- HttpStatusEnum httpStatusEnum = smsService.smsCheck(type, mobile, code);
|
|
|
|
- if (!Objects.equals(httpStatusEnum, HttpStatusEnum.SUCCESS)) {
|
|
|
|
- return new ResultVo<>(httpStatusEnum);
|
|
|
|
|
|
+ //验证token是否存在
|
|
|
|
+ HttpStatusEnum checkUserTokenEnum = userTokenService.checkUserToken(token, user.getId(), user.getDeviceType());
|
|
|
|
+ if (!Objects.equals(HttpStatusEnum.SUCCESS, checkUserTokenEnum)) {
|
|
|
|
+ return new ResultVo<>(checkUserTokenEnum);
|
|
}
|
|
}
|
|
//密码校验
|
|
//密码校验
|
|
HttpStatusEnum checkPasswordEnum = this.checkPassword(password);
|
|
HttpStatusEnum checkPasswordEnum = this.checkPassword(password);
|
|
@@ -342,11 +346,34 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
super.update(new LambdaUpdateWrapper<User>()
|
|
super.update(new LambdaUpdateWrapper<User>()
|
|
.set(User::getPassword, this.cmfPassword(password))
|
|
.set(User::getPassword, this.cmfPassword(password))
|
|
.set(User::getUpdateTime, LocalDateTime.now())
|
|
.set(User::getUpdateTime, LocalDateTime.now())
|
|
- .eq(User::getId, user.getId()));
|
|
|
|
|
|
+ .eq(User::getUsername, username));
|
|
//返回修改成功
|
|
//返回修改成功
|
|
return new ResultVo<>(HttpStatusEnum.SUCCESS, Boolean.TRUE);
|
|
return new ResultVo<>(HttpStatusEnum.SUCCESS, Boolean.TRUE);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 获取用户信息
|
|
|
|
+ *
|
|
|
|
+ * @param userDetailParam : 用户详情参数
|
|
|
|
+ * @return : 返回用户信息
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public ResultVo<UserVO> getUserDetail(UserDetailParam userDetailParam) {
|
|
|
|
+ String token = userDetailParam.getToken();
|
|
|
|
+ String deviceType = userDetailParam.getDeviceType();
|
|
|
|
+ UserTokenDTO userTokenDTO = userTokenService.getTokenInfoByTokenDevice(token, deviceType);
|
|
|
|
+ if (userTokenDTO == null) {
|
|
|
|
+ return new ResultVo<>(HttpStatusEnum.INVALID_PARAMS);
|
|
|
|
+ }
|
|
|
|
+ //查询用户信息
|
|
|
|
+ User user = super.getById(userTokenDTO.getUserId());
|
|
|
|
+ if (user == null) {
|
|
|
|
+ return new ResultVo<>(HttpStatusEnum.UNKNOWN_ERROR);
|
|
|
|
+ }
|
|
|
|
+ UserVO userVO = BeanUtils.copy(user, UserVO.class);
|
|
|
|
+ return new ResultVo<>(HttpStatusEnum.SUCCESS, userVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 密码cfm加密
|
|
* 密码cfm加密
|
|
*
|
|
*
|