| 
					
				 | 
			
			
				@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.exception.BaseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.mapper.UserMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.vo.UserLoginVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zanxiang.sdk.domain.vo.UserVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.sdk.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.logging.log4j.util.Strings; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -316,22 +318,24 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //根据用户名查询用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             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); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -342,11 +346,34 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super.update(new LambdaUpdateWrapper<User>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .set(User::getPassword, this.cmfPassword(password)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .set(User::getUpdateTime, LocalDateTime.now()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(User::getId, user.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(User::getUsername, username)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //返回修改成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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加密 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 |