diff --git a/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdFriendController.java b/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdFriendController.java new file mode 100644 index 0000000..44e000e --- /dev/null +++ b/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdFriendController.java @@ -0,0 +1,35 @@ +package com.bx.implatform.controller.third; + +import com.bx.implatform.dto.third.friend.ThirdAddFriendDto; +import com.bx.implatform.dto.third.user.ThirdLoginDTO; +import com.bx.implatform.result.Result; +import com.bx.implatform.result.ResultUtils; +import com.bx.implatform.service.third.ThirdFriendService; +import com.bx.implatform.vo.third.ThirdLoginVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/third/friend") +@Tag(name = "第三方/好友") +@RequiredArgsConstructor +public class ThirdFriendController { + + private final ThirdFriendService thirdFriendService; + + @PostMapping("/add") + @Operation(summary = "添加好友", description = "添加好友") + public Result addFriend(@Valid @RequestBody ThirdAddFriendDto dto) { + thirdFriendService.addFriend(dto); + return ResultUtils.success(); + } + +} diff --git a/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdUserController.java b/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdUserController.java index a27d701..d07272b 100644 --- a/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdUserController.java +++ b/im-platform/src/main/java/com/bx/implatform/controller/third/ThirdUserController.java @@ -1,8 +1,8 @@ package com.bx.implatform.controller.third; -import com.bx.implatform.dto.third.ThirdCreateOrUpdateUserDTO; -import com.bx.implatform.dto.third.ThirdGetUserByUserIdDTO; -import com.bx.implatform.dto.third.ThirdLoginDTO; +import com.bx.implatform.dto.third.user.ThirdCreateOrUpdateUserDTO; +import com.bx.implatform.dto.third.user.ThirdGetUserByUserIdDTO; +import com.bx.implatform.dto.third.user.ThirdLoginDTO; import com.bx.implatform.result.Result; import com.bx.implatform.result.ResultUtils; import com.bx.implatform.service.third.ThirdUserService; diff --git a/im-platform/src/main/java/com/bx/implatform/dto/third/friend/ThirdAddFriendDto.java b/im-platform/src/main/java/com/bx/implatform/dto/third/friend/ThirdAddFriendDto.java new file mode 100644 index 0000000..2c7449d --- /dev/null +++ b/im-platform/src/main/java/com/bx/implatform/dto/third/friend/ThirdAddFriendDto.java @@ -0,0 +1,19 @@ +package com.bx.implatform.dto.third.friend; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +@Schema(description = "third添加朋友DTO") +public class ThirdAddFriendDto { + + @NotNull(message = "用户id不存在") + @Schema(description = "用户id") + private Long userId; + + @NotNull(message = "被加用户id不存在") + @Schema(description = "被加用户id") + private Long targetUserId; + +} diff --git a/im-platform/src/main/java/com/bx/implatform/dto/third/ThirdCreateOrUpdateUserDTO.java b/im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdCreateOrUpdateUserDTO.java similarity index 96% rename from im-platform/src/main/java/com/bx/implatform/dto/third/ThirdCreateOrUpdateUserDTO.java rename to im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdCreateOrUpdateUserDTO.java index 074a26c..526143d 100644 --- a/im-platform/src/main/java/com/bx/implatform/dto/third/ThirdCreateOrUpdateUserDTO.java +++ b/im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdCreateOrUpdateUserDTO.java @@ -1,4 +1,4 @@ -package com.bx.implatform.dto.third; +package com.bx.implatform.dto.third.user; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; diff --git a/im-platform/src/main/java/com/bx/implatform/dto/third/ThirdGetUserByUserIdDTO.java b/im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdGetUserByUserIdDTO.java similarity index 88% rename from im-platform/src/main/java/com/bx/implatform/dto/third/ThirdGetUserByUserIdDTO.java rename to im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdGetUserByUserIdDTO.java index a6f4fdb..9de20c2 100644 --- a/im-platform/src/main/java/com/bx/implatform/dto/third/ThirdGetUserByUserIdDTO.java +++ b/im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdGetUserByUserIdDTO.java @@ -1,4 +1,4 @@ -package com.bx.implatform.dto.third; +package com.bx.implatform.dto.third.user; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; diff --git a/im-platform/src/main/java/com/bx/implatform/dto/third/ThirdLoginDTO.java b/im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdLoginDTO.java similarity index 88% rename from im-platform/src/main/java/com/bx/implatform/dto/third/ThirdLoginDTO.java rename to im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdLoginDTO.java index 0e32ec3..695535e 100644 --- a/im-platform/src/main/java/com/bx/implatform/dto/third/ThirdLoginDTO.java +++ b/im-platform/src/main/java/com/bx/implatform/dto/third/user/ThirdLoginDTO.java @@ -1,9 +1,8 @@ -package com.bx.implatform.dto.third; +package com.bx.implatform.dto.third.user; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; -import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; diff --git a/im-platform/src/main/java/com/bx/implatform/service/third/ThirdFriendService.java b/im-platform/src/main/java/com/bx/implatform/service/third/ThirdFriendService.java new file mode 100644 index 0000000..312672d --- /dev/null +++ b/im-platform/src/main/java/com/bx/implatform/service/third/ThirdFriendService.java @@ -0,0 +1,13 @@ +package com.bx.implatform.service.third; + +import com.bx.implatform.dto.third.friend.ThirdAddFriendDto; +import jakarta.validation.Valid; + +public interface ThirdFriendService { + + /** + * 添加好友 + */ + void addFriend(@Valid ThirdAddFriendDto dto); + +} diff --git a/im-platform/src/main/java/com/bx/implatform/service/third/ThirdUserService.java b/im-platform/src/main/java/com/bx/implatform/service/third/ThirdUserService.java index 7a4cd9d..0888875 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/third/ThirdUserService.java +++ b/im-platform/src/main/java/com/bx/implatform/service/third/ThirdUserService.java @@ -1,9 +1,9 @@ package com.bx.implatform.service.third; import com.baomidou.mybatisplus.extension.service.IService; -import com.bx.implatform.dto.third.ThirdCreateOrUpdateUserDTO; -import com.bx.implatform.dto.third.ThirdGetUserByUserIdDTO; -import com.bx.implatform.dto.third.ThirdLoginDTO; +import com.bx.implatform.dto.third.user.ThirdCreateOrUpdateUserDTO; +import com.bx.implatform.dto.third.user.ThirdGetUserByUserIdDTO; +import com.bx.implatform.dto.third.user.ThirdLoginDTO; import com.bx.implatform.entity.User; import com.bx.implatform.vo.third.ThirdGetUserByUserIdVo; import com.bx.implatform.vo.third.ThirdLoginVO; diff --git a/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdFriendServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdFriendServiceImpl.java new file mode 100644 index 0000000..7b2f934 --- /dev/null +++ b/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdFriendServiceImpl.java @@ -0,0 +1,31 @@ +package com.bx.implatform.service.third.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bx.implatform.dto.third.friend.ThirdAddFriendDto; +import com.bx.implatform.entity.Friend; +import com.bx.implatform.mapper.FriendMapper; +import com.bx.implatform.service.FriendService; +import com.bx.implatform.service.third.ThirdFriendService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 第三方好友 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class ThirdFriendServiceImpl extends ServiceImpl implements ThirdFriendService { + + private final FriendService friendService; + + /** + * 添加好友 + */ + @Override + public void addFriend(ThirdAddFriendDto dto) { + friendService.bindFriend(dto.getUserId(), dto.getTargetUserId()); + } + +} diff --git a/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdUserServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdUserServiceImpl.java index 9435c93..f42bbcb 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdUserServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/third/impl/ThirdUserServiceImpl.java @@ -5,9 +5,9 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bx.imcommon.util.JwtUtil; import com.bx.implatform.config.props.JwtProperties; -import com.bx.implatform.dto.third.ThirdCreateOrUpdateUserDTO; -import com.bx.implatform.dto.third.ThirdGetUserByUserIdDTO; -import com.bx.implatform.dto.third.ThirdLoginDTO; +import com.bx.implatform.dto.third.user.ThirdCreateOrUpdateUserDTO; +import com.bx.implatform.dto.third.user.ThirdGetUserByUserIdDTO; +import com.bx.implatform.dto.third.user.ThirdLoginDTO; import com.bx.implatform.entity.User; import com.bx.implatform.exception.GlobalException; import com.bx.implatform.mapper.UserMapper;