Showing
5 changed files
with
37 additions
and
44 deletions
@@ -14,6 +14,7 @@ import org.thingsboard.server.common.data.id.UserId; | @@ -14,6 +14,7 @@ import org.thingsboard.server.common.data.id.UserId; | ||
14 | import org.thingsboard.server.common.data.security.UserCredentials; | 14 | import org.thingsboard.server.common.data.security.UserCredentials; |
15 | import org.thingsboard.server.common.data.yunteng.common.DeleteGroup; | 15 | import org.thingsboard.server.common.data.yunteng.common.DeleteGroup; |
16 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; | 16 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
17 | +import org.thingsboard.server.common.data.yunteng.dto.UserDTO; | ||
17 | import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO; | 18 | import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO; |
18 | import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; | 19 | import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; |
19 | import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum; | 20 | import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum; |
@@ -64,8 +65,8 @@ public class YtThirdPlatformController extends BaseController { | @@ -64,8 +65,8 @@ public class YtThirdPlatformController extends BaseController { | ||
64 | @ApiOperation("绑定") | 65 | @ApiOperation("绑定") |
65 | public JwtTokenPair saveOrUpdateAlarmProfile( | 66 | public JwtTokenPair saveOrUpdateAlarmProfile( |
66 | @Validated @RequestBody YtThirdUserDTO dto) throws ThingsboardException { | 67 | @Validated @RequestBody YtThirdUserDTO dto) throws ThingsboardException { |
67 | - String tbUserId = thirdService.saveOrUpdate(dto); | ||
68 | - return buildJwtToken(tbUserId); | 68 | + UserDTO userDto = thirdService.saveOrUpdate(dto); |
69 | + return buildJwtToken(userDto); | ||
69 | } | 70 | } |
70 | 71 | ||
71 | @DeleteMapping | 72 | @DeleteMapping |
@@ -80,22 +81,24 @@ public class YtThirdPlatformController extends BaseController { | @@ -80,22 +81,24 @@ public class YtThirdPlatformController extends BaseController { | ||
80 | @ApiOperation("第三方登录") | 81 | @ApiOperation("第三方登录") |
81 | public JwtTokenPair login(@PathVariable("thirdId") String thirdId) | 82 | public JwtTokenPair login(@PathVariable("thirdId") String thirdId) |
82 | throws ThingsboardException { | 83 | throws ThingsboardException { |
83 | - String tbUserId = thirdService.login(thirdId); | ||
84 | - return buildJwtToken(tbUserId); | 84 | + UserDTO userDto = thirdService.login(thirdId); |
85 | + return buildJwtToken(userDto); | ||
85 | } | 86 | } |
86 | 87 | ||
87 | @NotNull | 88 | @NotNull |
88 | - private JwtTokenPair buildJwtToken(String tbUserId) { | 89 | + private JwtTokenPair buildJwtToken(UserDTO userDto) { |
89 | String accessToken = ""; | 90 | String accessToken = ""; |
90 | String refreshToken = ""; | 91 | String refreshToken = ""; |
91 | - if (StringUtils.isNotEmpty(tbUserId)) { | ||
92 | - UserId userId = new UserId(UUID.fromString(tbUserId)); | 92 | + if (userDto != null && StringUtils.isNotEmpty(userDto.getTbUser())) { |
93 | + UserId userId = new UserId(UUID.fromString(userDto.getTbUser())); | ||
93 | User user = userService.findUserById(null, userId); | 94 | User user = userService.findUserById(null, userId); |
94 | UserCredentials credentials = userService.findUserCredentialsByUserId(user.getTenantId(), userId); | 95 | UserCredentials credentials = userService.findUserCredentialsByUserId(user.getTenantId(), userId); |
95 | String email = user.getEmail(); | 96 | String email = user.getEmail(); |
96 | int emailIndex = email.indexOf("@"); | 97 | int emailIndex = email.indexOf("@"); |
97 | UserPrincipal principal = new UserPrincipal(UserPrincipal.Type.USER_NAME, emailIndex > 0 ? email.substring(0, emailIndex) : email); | 98 | UserPrincipal principal = new UserPrincipal(UserPrincipal.Type.USER_NAME, emailIndex > 0 ? email.substring(0, emailIndex) : email); |
98 | SecurityUser securityUser = new SecurityUser(user, credentials.isEnabled(), principal); | 99 | SecurityUser securityUser = new SecurityUser(user, credentials.isEnabled(), principal); |
100 | + securityUser.setCurrentUserId(userDto.getId()); | ||
101 | + securityUser.setPlatformUserName(userDto.getUsername()); | ||
99 | accessToken = tokenFactory.createAccessJwtToken(securityUser).getToken(); | 102 | accessToken = tokenFactory.createAccessJwtToken(securityUser).getToken(); |
100 | refreshToken = refreshTokenRepository.requestRefreshToken(securityUser).getToken(); | 103 | refreshToken = refreshTokenRepository.requestRefreshToken(securityUser).getToken(); |
101 | 104 |
@@ -6,26 +6,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; | @@ -6,26 +6,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; | ||
6 | import com.fasterxml.jackson.databind.JsonNode; | 6 | import com.fasterxml.jackson.databind.JsonNode; |
7 | import lombok.RequiredArgsConstructor; | 7 | import lombok.RequiredArgsConstructor; |
8 | import lombok.extern.slf4j.Slf4j; | 8 | import lombok.extern.slf4j.Slf4j; |
9 | -import org.springframework.beans.factory.annotation.Autowired; | ||
10 | import org.springframework.security.authentication.BadCredentialsException; | 9 | import org.springframework.security.authentication.BadCredentialsException; |
11 | -import org.springframework.security.authentication.InsufficientAuthenticationException; | ||
12 | -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; | ||
13 | import org.springframework.security.core.userdetails.UsernameNotFoundException; | 10 | import org.springframework.security.core.userdetails.UsernameNotFoundException; |
14 | import org.springframework.security.crypto.password.PasswordEncoder; | 11 | import org.springframework.security.crypto.password.PasswordEncoder; |
15 | import org.springframework.stereotype.Service; | 12 | import org.springframework.stereotype.Service; |
16 | import org.springframework.transaction.annotation.Transactional; | 13 | import org.springframework.transaction.annotation.Transactional; |
17 | import org.thingsboard.server.common.data.StringUtils; | 14 | import org.thingsboard.server.common.data.StringUtils; |
18 | -import org.thingsboard.server.common.data.audit.ActionType; | ||
19 | -import org.thingsboard.server.common.data.id.EntityId; | ||
20 | -import org.thingsboard.server.common.data.id.TenantId; | ||
21 | -import org.thingsboard.server.common.data.id.UserId; | ||
22 | -import org.thingsboard.server.common.data.security.Authority; | ||
23 | import org.thingsboard.server.common.data.yunteng.core.cache.CacheUtils; | 15 | import org.thingsboard.server.common.data.yunteng.core.cache.CacheUtils; |
24 | import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException; | 16 | import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException; |
25 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | 17 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
26 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; | 18 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
19 | +import org.thingsboard.server.common.data.yunteng.dto.UserDTO; | ||
27 | import org.thingsboard.server.common.data.yunteng.dto.UserDetailsDTO; | 20 | import org.thingsboard.server.common.data.yunteng.dto.UserDetailsDTO; |
28 | -import org.thingsboard.server.common.data.yunteng.dto.YtOpinionDTO; | ||
29 | import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO; | 21 | import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO; |
30 | import org.thingsboard.server.common.data.yunteng.dto.request.CodeTTL; | 22 | import org.thingsboard.server.common.data.yunteng.dto.request.CodeTTL; |
31 | import org.thingsboard.server.common.data.yunteng.enums.MessageTypeEnum; | 23 | import org.thingsboard.server.common.data.yunteng.enums.MessageTypeEnum; |
@@ -33,17 +25,14 @@ import org.thingsboard.server.common.data.yunteng.enums.MsgTemplatePurposeEnum; | @@ -33,17 +25,14 @@ import org.thingsboard.server.common.data.yunteng.enums.MsgTemplatePurposeEnum; | ||
33 | import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum; | 25 | import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum; |
34 | import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; | 26 | import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; |
35 | import org.thingsboard.server.dao.yunteng.entities.User; | 27 | import org.thingsboard.server.dao.yunteng.entities.User; |
36 | -import org.thingsboard.server.dao.yunteng.entities.YtOpinionEntity; | ||
37 | import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity; | 28 | import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity; |
38 | import org.thingsboard.server.dao.yunteng.mapper.UserMapper; | 29 | import org.thingsboard.server.dao.yunteng.mapper.UserMapper; |
39 | -import org.thingsboard.server.dao.yunteng.mapper.YtOpinionMapper; | ||
40 | import org.thingsboard.server.dao.yunteng.mapper.YtThirdPlatformMapper; | 30 | import org.thingsboard.server.dao.yunteng.mapper.YtThirdPlatformMapper; |
41 | -import org.thingsboard.server.dao.yunteng.service.*; | 31 | +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
32 | +import org.thingsboard.server.dao.yunteng.service.YtThirdPlatformService; | ||
42 | 33 | ||
43 | -import java.util.List; | ||
44 | import java.util.Objects; | 34 | import java.util.Objects; |
45 | import java.util.Optional; | 35 | import java.util.Optional; |
46 | -import java.util.UUID; | ||
47 | 36 | ||
48 | import static org.thingsboard.server.common.data.yunteng.constant.FastIotConstants.CacheConfigKey.MOBILE_LOGIN_SMS_CODE; | 37 | import static org.thingsboard.server.common.data.yunteng.constant.FastIotConstants.CacheConfigKey.MOBILE_LOGIN_SMS_CODE; |
49 | import static org.thingsboard.server.common.data.yunteng.constant.FastIotConstants.DEFAULT_DELIMITER; | 38 | import static org.thingsboard.server.common.data.yunteng.constant.FastIotConstants.DEFAULT_DELIMITER; |
@@ -71,7 +60,7 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf | @@ -71,7 +60,7 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf | ||
71 | 60 | ||
72 | @Override | 61 | @Override |
73 | @Transactional(rollbackFor = Exception.class) | 62 | @Transactional(rollbackFor = Exception.class) |
74 | - public String saveOrUpdate(YtThirdUserDTO dto) { | 63 | + public UserDTO saveOrUpdate(YtThirdUserDTO dto) { |
75 | User user = null; | 64 | User user = null; |
76 | switch (dto.getLoginMethod()) { | 65 | switch (dto.getLoginMethod()) { |
77 | case PHONE: | 66 | case PHONE: |
@@ -99,7 +88,7 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf | @@ -99,7 +88,7 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf | ||
99 | dto.setId(oldVideo.getId()); | 88 | dto.setId(oldVideo.getId()); |
100 | baseMapper.updateById(dto.getEntity(YtThirdUserEntity.class)); | 89 | baseMapper.updateById(dto.getEntity(YtThirdUserEntity.class)); |
101 | } | 90 | } |
102 | - return user.getTbUser(); | 91 | + return user.getDTO(UserDTO.class); |
103 | } | 92 | } |
104 | 93 | ||
105 | /** | 94 | /** |
@@ -177,8 +166,9 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf | @@ -177,8 +166,9 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf | ||
177 | } | 166 | } |
178 | 167 | ||
179 | @Override | 168 | @Override |
180 | - public String login(String thirdUserId) { | ||
181 | - return baseMapper.login(thirdUserId); | 169 | + public UserDTO login(String thirdUserId) { |
170 | + return baseMapper.login(thirdUserId) | ||
171 | + .getDTO(UserDTO.class); | ||
182 | } | 172 | } |
183 | 173 | ||
184 | @Override | 174 | @Override |
1 | package org.thingsboard.server.dao.yunteng.mapper; | 1 | package org.thingsboard.server.dao.yunteng.mapper; |
2 | 2 | ||
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | -import com.baomidou.mybatisplus.core.metadata.IPage; | ||
5 | import org.apache.ibatis.annotations.Mapper; | 4 | import org.apache.ibatis.annotations.Mapper; |
6 | import org.apache.ibatis.annotations.Param; | 5 | import org.apache.ibatis.annotations.Param; |
7 | -import org.thingsboard.server.common.data.yunteng.dto.YtVideoDTO; | 6 | +import org.thingsboard.server.dao.yunteng.entities.User; |
8 | import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity; | 7 | import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity; |
9 | 8 | ||
10 | -import java.util.List; | ||
11 | - | ||
12 | /** | 9 | /** |
13 | * @author Administrator | 10 | * @author Administrator |
14 | */ | 11 | */ |
@@ -20,5 +17,5 @@ public interface YtThirdPlatformMapper extends BaseMapper<YtThirdUserEntity> { | @@ -20,5 +17,5 @@ public interface YtThirdPlatformMapper extends BaseMapper<YtThirdUserEntity> { | ||
20 | * @param thirdId | 17 | * @param thirdId |
21 | * @return | 18 | * @return |
22 | */ | 19 | */ |
23 | - String login(@Param("thirdId") String thirdId); | 20 | + User login(@Param("thirdId") String thirdId); |
24 | } | 21 | } |
@@ -3,34 +3,36 @@ package org.thingsboard.server.dao.yunteng.service; | @@ -3,34 +3,36 @@ package org.thingsboard.server.dao.yunteng.service; | ||
3 | import com.baomidou.mybatisplus.core.metadata.IPage; | 3 | import com.baomidou.mybatisplus.core.metadata.IPage; |
4 | import com.fasterxml.jackson.databind.JsonNode; | 4 | import com.fasterxml.jackson.databind.JsonNode; |
5 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; | 5 | import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; |
6 | -import org.thingsboard.server.common.data.yunteng.dto.YtOpinionDTO; | 6 | +import org.thingsboard.server.common.data.yunteng.dto.UserDTO; |
7 | import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO; | 7 | import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO; |
8 | import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum; | 8 | import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum; |
9 | import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; | 9 | import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; |
10 | -import org.thingsboard.server.dao.yunteng.entities.YtOpinionEntity; | 10 | +import org.thingsboard.server.dao.yunteng.entities.User; |
11 | import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity; | 11 | import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity; |
12 | 12 | ||
13 | /** | 13 | /** |
14 | * 第三方平台用户管理相关接口 | 14 | * 第三方平台用户管理相关接口 |
15 | * 例如:微信小程序、钉钉等。 | 15 | * 例如:微信小程序、钉钉等。 |
16 | + * | ||
16 | * @author Administrator | 17 | * @author Administrator |
17 | */ | 18 | */ |
18 | public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> { | 19 | public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> { |
19 | 20 | ||
20 | /** | 21 | /** |
21 | - * @param pageInfrom 分页配置信息 | ||
22 | - * @param name 第三方平台用户昵称 | 22 | + * @param pageInfrom 分页配置信息 |
23 | + * @param name 第三方平台用户昵称 | ||
23 | * @return | 24 | * @return |
24 | */ | 25 | */ |
25 | - YtPageData<YtThirdUserDTO> pageDatas(IPage<YtThirdUserEntity> pageInfrom, ThirdPlatformEnum platformName,String name); | 26 | + YtPageData<YtThirdUserDTO> pageDatas(IPage<YtThirdUserEntity> pageInfrom, ThirdPlatformEnum platformName, String name); |
26 | 27 | ||
27 | 28 | ||
28 | - | ||
29 | - /** 第三方平台用户与系统用户绑定 | 29 | + /** |
30 | + * 第三方平台用户与系统用户绑定 | ||
31 | + * | ||
30 | * @param dto | 32 | * @param dto |
31 | * @return | 33 | * @return |
32 | */ | 34 | */ |
33 | - String saveOrUpdate(YtThirdUserDTO dto); | 35 | + UserDTO saveOrUpdate(YtThirdUserDTO dto); |
34 | 36 | ||
35 | /** | 37 | /** |
36 | * @param deleteDTO | 38 | * @param deleteDTO |
@@ -40,16 +42,16 @@ public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> { | @@ -40,16 +42,16 @@ public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> { | ||
40 | 42 | ||
41 | /** | 43 | /** |
42 | * 第三方登录 | 44 | * 第三方登录 |
45 | + * | ||
43 | * @param thirdUserId | 46 | * @param thirdUserId |
44 | * @return | 47 | * @return |
45 | */ | 48 | */ |
46 | - String login(String thirdUserId); | ||
47 | - | ||
48 | - | 49 | + UserDTO login(String thirdUserId); |
49 | 50 | ||
50 | 51 | ||
51 | /** | 52 | /** |
52 | * 访问令牌 | 53 | * 访问令牌 |
54 | + * | ||
53 | * @param appKey | 55 | * @param appKey |
54 | * @param appSecret | 56 | * @param appSecret |
55 | * @return | 57 | * @return |
@@ -58,10 +60,11 @@ public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> { | @@ -58,10 +60,11 @@ public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> { | ||
58 | 60 | ||
59 | /** | 61 | /** |
60 | * 推送第三方程序消息 | 62 | * 推送第三方程序消息 |
63 | + * | ||
61 | * @param receiver | 64 | * @param receiver |
62 | * @param message | 65 | * @param message |
63 | * @return | 66 | * @return |
64 | */ | 67 | */ |
65 | - JsonNode message(String receiver,JsonNode message); | 68 | + JsonNode message(String receiver, JsonNode message); |
66 | 69 | ||
67 | } | 70 | } |
@@ -3,8 +3,8 @@ | @@ -3,8 +3,8 @@ | ||
3 | 3 | ||
4 | <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.YtThirdPlatformMapper"> | 4 | <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.YtThirdPlatformMapper"> |
5 | 5 | ||
6 | - <select id="login" resultType="string"> | ||
7 | - SELECT sus.tb_user | 6 | + <select id="login" resultType="org.thingsboard.server.dao.yunteng.entities.User"> |
7 | + SELECT sus.* | ||
8 | FROM iotfs_third_user base | 8 | FROM iotfs_third_user base |
9 | LEFT JOIN sys_user sus ON base.app_user_id = sus.id | 9 | LEFT JOIN sys_user sus ON base.app_user_id = sus.id |
10 | <where> | 10 | <where> |