Commit f26422239f52eecb86747b9ef9078bc6a47dd3ac

Authored by 云中非
1 parent 87e80e72

refactor: 第三方平台用户,绑定即新增

... ... @@ -13,6 +13,7 @@ import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
13 13 import org.thingsboard.server.common.data.yunteng.dto.YtOpinionDTO;
14 14 import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO;
15 15 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum;
  16 +import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum;
16 17 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
17 18 import org.thingsboard.server.controller.BaseController;
18 19 import org.thingsboard.server.dao.yunteng.entities.YtOpinionEntity;
... ... @@ -38,6 +39,7 @@ public class YtThirdPlatformController extends BaseController {
38 39 public YtPageData<YtThirdUserDTO> pageAlarmProfile(
39 40 @RequestParam(PAGE_SIZE) int pageSize,
40 41 @RequestParam(PAGE) int page,
  42 + @RequestParam(value = "platformName", required = false) ThirdPlatformEnum platformName,
41 43 @RequestParam(value = "name", required = false) String name,
42 44 @RequestParam(value = ORDER_FILED, required = false) String orderBy,
43 45 @RequestParam(value = ORDER_TYPE, required = false) OrderTypeEnum orderType)
... ... @@ -45,11 +47,11 @@ public class YtThirdPlatformController extends BaseController {
45 47
46 48
47 49 IPage<YtThirdUserEntity> pageInfrom = thirdService.getPage(page, pageSize, orderBy, orderType);
48   - return thirdService.pageDatas(pageInfrom,name);
  50 + return thirdService.pageDatas(pageInfrom,platformName,name);
49 51 }
50 52
51   - @PostMapping("public")
52   - @ApiOperation("新增|编辑")
  53 + @PostMapping
  54 + @ApiOperation("绑定|编辑")
53 55 public YtThirdUserDTO saveOrUpdateAlarmProfile(
54 56 @Validated @RequestBody YtThirdUserDTO dto) throws ThingsboardException {
55 57 return thirdService.saveOrUpdate(dto);
... ... @@ -63,11 +65,5 @@ public class YtThirdPlatformController extends BaseController {
63 65 return thirdService.deleteDataByIds(deleteDTO);
64 66 }
65 67
66   - @PostMapping("{sysUserId}/{thirdUserId}")
67   - @ApiOperation("绑定")
68   - public boolean bind(@PathVariable("sysUserId") String sysUserId,@PathVariable("thirdUserId") String thirdUserId)
69   - throws ThingsboardException {
70   - return thirdService.bind(sysUserId, thirdUserId);
71   - }
72 68
73 69 }
... ...
... ... @@ -26,7 +26,8 @@ public class YtThirdUserDTO extends BaseDTO {
26 26 @ApiModelProperty(value = "用户头像", required = false)
27 27 private String avatarUrl;
28 28
29   - @ApiModelProperty(value = "系统用户ID", required = false)
  29 + @ApiModelProperty(value = "系统用户ID", required = true)
  30 + @NotEmpty(message = "系统用户ID不能为空")
30 31 private String appUserId;
31 32
32 33
... ...
... ... @@ -14,9 +14,12 @@ import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
14 14 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
15 15 import org.thingsboard.server.common.data.yunteng.dto.YtOpinionDTO;
16 16 import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO;
  17 +import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum;
17 18 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
  19 +import org.thingsboard.server.dao.yunteng.entities.User;
18 20 import org.thingsboard.server.dao.yunteng.entities.YtOpinionEntity;
19 21 import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity;
  22 +import org.thingsboard.server.dao.yunteng.mapper.UserMapper;
20 23 import org.thingsboard.server.dao.yunteng.mapper.YtOpinionMapper;
21 24 import org.thingsboard.server.dao.yunteng.mapper.YtThirdPlatformMapper;
22 25 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
... ... @@ -32,12 +35,13 @@ import java.util.List;
32 35 public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatformMapper, YtThirdUserEntity>
33 36 implements YtThirdPlatformService {
34 37
35   - private final UserOrganizationMappingService userOrganizationMappingService;
  38 + private final UserMapper userMapper;
36 39
37 40 @Override
38   - public YtPageData<YtThirdUserDTO> pageDatas(IPage<YtThirdUserEntity> pageInfrom, String name) {
  41 + public YtPageData<YtThirdUserDTO> pageDatas(IPage<YtThirdUserEntity> pageInfrom, ThirdPlatformEnum platformName, String name) {
39 42 Wrapper pageFilter = new QueryWrapper<YtThirdUserEntity>()
40 43 .lambda()
  44 + .eq(pageInfrom != null,YtThirdUserEntity::getPlatformName,platformName)
41 45 .like(StringUtils.isNotEmpty(name),YtThirdUserEntity::getNickName,name);
42 46 IPage<YtThirdUserEntity> page = baseMapper.selectPage(pageInfrom, pageFilter);
43 47 return getPageData(page, YtThirdUserDTO.class);
... ... @@ -50,6 +54,14 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf
50 54 @Override
51 55 @Transactional(rollbackFor=Exception.class)
52 56 public YtThirdUserDTO saveOrUpdate(YtThirdUserDTO videoDTO) {
  57 + User user = userMapper.selectById(videoDTO.getAppUserId());
  58 + if(user == null){
  59 +
  60 + }
  61 + if(StringUtils.isEmpty(user.getAvatar()) && StringUtils.isNotEmpty(videoDTO.getAvatarUrl())){
  62 + user.setAvatar(videoDTO.getAvatarUrl());
  63 + userMapper.updateById(user);
  64 + }
53 65 Wrapper filter = new QueryWrapper<YtThirdUserEntity>().lambda()
54 66 .eq(YtThirdUserEntity::getThirdUserId,videoDTO.getThirdUserId());
55 67 YtThirdUserEntity oldVideo = baseMapper.selectOne(filter);
... ... @@ -72,11 +84,6 @@ public class YtThirdPlatformServiceImpl extends AbstractBaseService<YtThirdPlatf
72 84 return baseMapper.delete(filter) > 0;
73 85 }
74 86
75   - @Override
76   - public boolean bind(String userId, String thirdId) {
77   -
78   - return false;
79   - }
80 87
81 88 @Override
82 89 public String accessToken(String appKey, String appSecret) {
... ...
... ... @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.JsonNode;
5 5 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
6 6 import org.thingsboard.server.common.data.yunteng.dto.YtOpinionDTO;
7 7 import org.thingsboard.server.common.data.yunteng.dto.YtThirdUserDTO;
  8 +import org.thingsboard.server.common.data.yunteng.enums.ThirdPlatformEnum;
8 9 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
9 10 import org.thingsboard.server.dao.yunteng.entities.YtOpinionEntity;
10 11 import org.thingsboard.server.dao.yunteng.entities.YtThirdUserEntity;
... ... @@ -21,11 +22,11 @@ public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> {
21 22 * @param name 第三方平台用户昵称
22 23 * @return
23 24 */
24   - YtPageData<YtThirdUserDTO> pageDatas(IPage<YtThirdUserEntity> pageInfrom,String name);
  25 + YtPageData<YtThirdUserDTO> pageDatas(IPage<YtThirdUserEntity> pageInfrom, ThirdPlatformEnum platformName,String name);
25 26
26 27
27 28
28   - /**
  29 + /** 第三方平台用户与系统用户绑定
29 30 * @param dto
30 31 * @return
31 32 */
... ... @@ -38,13 +39,7 @@ public interface YtThirdPlatformService extends BaseService<YtThirdUserEntity> {
38 39 boolean deleteDataByIds(DeleteDTO deleteDTO);
39 40
40 41
41   - /**
42   - * 第三方平台用户与系统用户绑定
43   - * @param userId 系统用户主键
44   - * @param thirdId 第三方平台用户唯一标识符
45   - * @return
46   - */
47   - boolean bind(String userId, String thirdId);
  42 +
48 43
49 44 /**
50 45 * 访问令牌
... ...