Pārlūkot izejas kodu

绑定手机号res修改

hr~ 2 nedēļas atpakaļ
vecāks
revīzija
d875412af8

+ 1 - 2
poyee-account/src/main/java/com/tzy/controller/AppAccountController.java

@@ -4,7 +4,6 @@ import com.tzy.common.dto.OutDTO;
 import com.tzy.common.dto.UserInfo;
 import com.tzy.common.utils.UserUtils;
 import com.tzy.dto.AccountProfileInfoDTO;
-import com.tzy.dto.EndUserDTO;
 import com.tzy.req.AccountPasswordRequest;
 import com.tzy.req.BindPhoneRequest;
 import com.tzy.req.ProfileUpdateRequest;
@@ -56,7 +55,7 @@ public class AppAccountController {
     @PostMapping("/phone/bind")
     @ApiOperation("绑定手机号")
     public OutDTO bindPhone(@ApiParam(value = "绑定手机号参数", required = true) @RequestBody BindPhoneRequest request) {
-        EndUserDTO user = appAccountOidcService.bindPhone(request);
+        AccountProfileInfoDTO user = appAccountOidcService.bindPhoneProfile(request);
         return OutDTO.ok().put("user", user);
     }
 

+ 2 - 0
poyee-account/src/main/java/com/tzy/service/AppAccountOidcService.java

@@ -25,6 +25,8 @@ public interface AppAccountOidcService {
 
     EndUserDTO bindPhone(BindPhoneRequest request);
 
+    AccountProfileInfoDTO bindPhoneProfile(BindPhoneRequest request);
+
     AccountProfileInfoDTO getCurrentProfile(Integer userId);
 
     AccountProfileInfoDTO mockRealNameVerify(Integer userId);

+ 25 - 9
poyee-account/src/main/java/com/tzy/service/impl/AppAccountOidcServiceImpl.java

@@ -227,6 +227,15 @@ public class AppAccountOidcServiceImpl implements AppAccountOidcService {
         return toEndUser(phone, account, baseUser);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public AccountProfileInfoDTO bindPhoneProfile(BindPhoneRequest request) {
+        EndUserDTO user = bindPhone(request);
+        AppBaseUser baseUser = poyeeAppBaseUserMapper.selectByUsername(user.getUsername());
+        AppAccount account = poyeeAppAccountMapper.selectByLoginId(user.getUsername());
+        return toProfileInfo(user.getUsername(), account, baseUser);
+    }
+
     @Override
     public AccountProfileInfoDTO getCurrentProfile(Integer userId) {
         if (userId == null) {
@@ -240,15 +249,7 @@ public class AppAccountOidcServiceImpl implements AppAccountOidcService {
                 ? poyeeAppAccountMapper.selectByLoginId(baseUser.getUsername())
                 : null;
 
-        AccountProfileInfoDTO profile = new AccountProfileInfoDTO();
-        profile.setAvatar(baseUser.getAvatar());
-        profile.setUserId(userId.longValue());
-        profile.setLoginId(baseUser.getUsername());
-        profile.setNickname(baseUser.getNickname());
-        profile.setFaceVerify(baseUser.getFaceVerify());
-        profile.setIdCard(baseUser.getIdCard());
-        profile.setPhone(account == null ? null : account.getPhone());
-        return profile;
+        return toProfileInfo(baseUser.getUsername(), account, baseUser);
     }
 
     @Override
@@ -409,6 +410,21 @@ public class AppAccountOidcServiceImpl implements AppAccountOidcService {
         return dto;
     }
 
+    private AccountProfileInfoDTO toProfileInfo(String loginId, AppAccount account, AppBaseUser baseUser) {
+        if (baseUser == null) {
+            throw new ServiceException("用户不存在");
+        }
+        AccountProfileInfoDTO profile = new AccountProfileInfoDTO();
+        profile.setAvatar(baseUser.getAvatar());
+        profile.setUserId(baseUser.getId() == null ? null : baseUser.getId().longValue());
+        profile.setLoginId(StringUtils.hasText(baseUser.getUsername()) ? baseUser.getUsername() : loginId);
+        profile.setNickname(baseUser.getNickname());
+        profile.setFaceVerify(baseUser.getFaceVerify());
+        profile.setIdCard(baseUser.getIdCard());
+        profile.setPhone(account == null ? null : account.getPhone());
+        return profile;
+    }
+
     private LocalDateTime resolveRegistrationTime(AppAccount account, AppBaseUser baseUser) {
         Date createTime = baseUser != null && baseUser.getCreateTime() != null
                 ? baseUser.getCreateTime()