|
|
@@ -1,14 +1,25 @@
|
|
|
package com.nb.app.assistant.auth;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.nb.app.assistant.api.feign.result.AssistantUserResult;
|
|
|
import com.nb.app.assistant.controller.vo.AssistantUserVo;
|
|
|
+import com.nb.app.assistant.entity.AssistantUserEntity;
|
|
|
+import com.nb.app.assistant.service.LocalAssistantUserService;
|
|
|
+import com.nb.app.doctor.api.entity.AppDoctorUserEntity;
|
|
|
+import com.nb.auth.bean.LoginUser;
|
|
|
import com.nb.auth.controller.vo.AccountInfoVO;
|
|
|
import com.nb.auth.controller.vo.RouteItemVO;
|
|
|
import com.nb.auth.controller.vo.UserInfoVO;
|
|
|
import com.nb.auth.enums.GrantTypeEnum;
|
|
|
import com.nb.auth.granter.IAccountOperator;
|
|
|
+import com.nb.auth.utils.SecurityUtil;
|
|
|
+import com.nb.core.exception.CustomException;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
@@ -19,15 +30,24 @@ import java.util.Set;
|
|
|
* @createTime 2022年08月10日 10:52:00
|
|
|
*/
|
|
|
@Component
|
|
|
-public class AppAssistantUserOperator implements IAccountOperator<AssistantUserVo> {
|
|
|
+@AllArgsConstructor
|
|
|
+public class AppAssistantUserOperator implements IAccountOperator<AssistantUserResult> {
|
|
|
+ private final LocalAssistantUserService userService;
|
|
|
@Override
|
|
|
public boolean matchGrantType(GrantTypeEnum type) {
|
|
|
- return GrantTypeEnum.APP_ASSISTANT_PASSWORD.equals(type);
|
|
|
+ return GrantTypeEnum.APP_ASSISTANT_PASSWORD.equals(type)
|
|
|
+ ||GrantTypeEnum.APP_ASSISTANT_ONCELICK.equals(type);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public UserInfoVO getUserInfo() {
|
|
|
- return null;
|
|
|
+ UserInfoVO userInfoVO = new UserInfoVO();
|
|
|
+ AssistantUserEntity user = userService.getBaseMapper().selectById(SecurityUtil.getStpLogic().getLoginIdAsString());
|
|
|
+ userInfoVO.setUserId(user.getId());
|
|
|
+ userInfoVO.setUsername(user.getPhone());
|
|
|
+ userInfoVO.setRealName(user.getNickname());
|
|
|
+ userInfoVO.setAvatar(user.getAvatar());
|
|
|
+ return userInfoVO;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -41,17 +61,37 @@ public class AppAssistantUserOperator implements IAccountOperator<AssistantUserV
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public AccountInfoVO<AssistantUserVo> getAccountInfo() {
|
|
|
- return null;
|
|
|
+ public AccountInfoVO<AssistantUserResult> getAccountInfo() {
|
|
|
+ AssistantUserResult user = userService.getById(SecurityUtil.getStpLogic().getLoginIdAsString());
|
|
|
+ AccountInfoVO<AssistantUserResult> result = new AccountInfoVO();
|
|
|
+ result.setAvatar(user.getAvatar());
|
|
|
+ result.setRealName(user.getNickname());
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void saveAccountInfo(AccountInfoVO<AssistantUserVo> req) {
|
|
|
|
|
|
+ @Override
|
|
|
+ public void saveAccountInfo(AccountInfoVO<AssistantUserResult> req) {
|
|
|
+ LoginUser<String> loginUser = SecurityUtil.getLoginUser();
|
|
|
+ AssistantUserEntity source = new AssistantUserEntity();
|
|
|
+ source.setId(loginUser.getId());
|
|
|
+ source.setAvatar(req.getAvatar());
|
|
|
+ source.setNickname(req.getRealName());
|
|
|
+ userService.updateById(source);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public boolean updatePass(String oldPass, String newPass) {
|
|
|
- return false;
|
|
|
+ // 密码解密
|
|
|
+ String userId = String.valueOf(String.valueOf(SecurityUtil.getId()));
|
|
|
+ AssistantUserEntity userEntity = userService.getBaseMapper().selectById(userId);
|
|
|
+ if (!SecurityUtil.matchesPassword(oldPass, userEntity.getPassword())) {
|
|
|
+ throw new CustomException("旧密码不正确");
|
|
|
+ }
|
|
|
+ String encryptPassword = SecurityUtil.encryptPassword(newPass);
|
|
|
+ return userService
|
|
|
+ .update(new UpdateWrapper<AssistantUserEntity>()
|
|
|
+ .lambda().eq(AssistantUserEntity::getId,userId)
|
|
|
+ .set(AssistantUserEntity::getPassword,encryptPassword));
|
|
|
}
|
|
|
}
|