mirror of
https://github.com/zongzibinbin/MallChat.git
synced 2026-03-14 06:03:42 +08:00
feat:单聊群聊表结构,接口定义
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.abin.mallchat.custom.chat.service.adapter;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.abin.mallchat.common.chat.domain.entity.Room;
|
||||
import com.abin.mallchat.custom.chat.domain.vo.response.ChatRoomResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.abin.mallchat.custom.user.controller;
|
||||
|
||||
|
||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
||||
import com.abin.mallchat.common.common.domain.vo.request.PageBaseReq;
|
||||
import com.abin.mallchat.common.common.domain.vo.response.ApiResult;
|
||||
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
|
||||
import com.abin.mallchat.common.common.domain.vo.response.PageBaseResp;
|
||||
import com.abin.mallchat.common.common.utils.RequestHolder;
|
||||
import com.abin.mallchat.common.user.service.cache.UserCache;
|
||||
import com.abin.mallchat.custom.chat.domain.vo.response.ChatMemberResp;
|
||||
import com.abin.mallchat.custom.chat.service.ChatService;
|
||||
import com.abin.mallchat.custom.user.domain.vo.request.friend.FriendApplyReq;
|
||||
import com.abin.mallchat.custom.user.domain.vo.request.friend.FriendApproveReq;
|
||||
import com.abin.mallchat.custom.user.domain.vo.request.friend.FriendCheckReq;
|
||||
import com.abin.mallchat.custom.user.domain.vo.request.friend.FriendDeleteReq;
|
||||
import com.abin.mallchat.custom.user.domain.vo.response.friend.FriendApplyResp;
|
||||
import com.abin.mallchat.custom.user.domain.vo.response.friend.FriendCheckResp;
|
||||
import com.abin.mallchat.custom.user.domain.vo.response.friend.FriendUnreadResp;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 好友相关接口
|
||||
* </p>
|
||||
*
|
||||
* @author <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* @since 2023-07-16
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/capi/user/friend")
|
||||
@Api(tags = "好友相关接口")
|
||||
@Slf4j
|
||||
public class FriendController {
|
||||
@Autowired
|
||||
private ChatService chatService;
|
||||
@Autowired
|
||||
private UserCache userCache;
|
||||
|
||||
@GetMapping("/check")
|
||||
@ApiOperation("批量判断是否是自己好友")
|
||||
public ApiResult<FriendCheckResp> check(@Valid FriendCheckReq request) {//todo
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@PostMapping("/apply")
|
||||
@ApiOperation("申请好友")
|
||||
public ApiResult<Void> apply(@Valid @RequestBody FriendApplyReq request) {//todo
|
||||
Long uid = RequestHolder.get().getUid();
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@DeleteMapping()
|
||||
@ApiOperation("删除好友")
|
||||
public ApiResult<Void> delete(@Valid @RequestBody FriendDeleteReq request) {//todo
|
||||
Long uid = RequestHolder.get().getUid();
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/apply/page")
|
||||
@ApiOperation("好友申请列表")
|
||||
public ApiResult<PageBaseResp<FriendApplyResp>> page(@Valid PageBaseReq request) {//todo
|
||||
Long uid = RequestHolder.get().getUid();
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/apply/unread")
|
||||
@ApiOperation("申请未读数")
|
||||
public ApiResult<FriendUnreadResp> unread() {//todo
|
||||
Long uid = RequestHolder.get().getUid();
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@PutMapping("/apply")
|
||||
@ApiOperation("申请审批")
|
||||
public ApiResult<Void> applyApprove(@Valid @RequestBody FriendApproveReq request) {//todo
|
||||
Long uid = RequestHolder.get().getUid();
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
@PutMapping("/page")
|
||||
@ApiOperation("联系人列表")
|
||||
public ApiResult<CursorPageBaseResp<ChatMemberResp>> applyApprove(@Valid CursorPageBaseReq request) {//todo
|
||||
Long uid = RequestHolder.get().getUid();
|
||||
return ApiResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.request.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 申请好友信息
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendApplyReq {
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("申请信息")
|
||||
private String msg;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("好友uid")
|
||||
private Long targetUid;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.request.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 申请好友信息
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendApproveReq {
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty("审批动作 2同意")
|
||||
private Integer approveStatus;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.request.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 好友校验
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendCheckReq {
|
||||
|
||||
@NotEmpty
|
||||
@Size(max = 50)
|
||||
@ApiModelProperty("校验好友的uid")
|
||||
private List<Long> uidList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.request.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 申请好友信息
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendDeleteReq {
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty("好友uid")
|
||||
private Long targetUid;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.response.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 好友校验
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendApplyResp {
|
||||
|
||||
@ApiModelProperty("申请人uid")
|
||||
private Long uid;
|
||||
|
||||
@ApiModelProperty("申请类型 1加好友")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("申请信息")
|
||||
private String msg;
|
||||
|
||||
@ApiModelProperty("申请状态 1待审批 2同意")//todo 自己去加枚举
|
||||
private Integer status;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.response.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 好友校验
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendCheckResp {
|
||||
|
||||
@ApiModelProperty("校验结果")
|
||||
private List<FriendCheck> checkedList;
|
||||
|
||||
@Data
|
||||
public static class FriendCheck {
|
||||
private Long uid;
|
||||
private Boolean isFriend;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.response.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 好友校验
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendResp {
|
||||
|
||||
@ApiModelProperty("申请列表的未读数")
|
||||
private Integer unReadCount;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.abin.mallchat.custom.user.domain.vo.response.friend;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
/**
|
||||
* Description: 好友校验
|
||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||
* Date: 2023-03-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FriendUnreadResp {
|
||||
|
||||
@ApiModelProperty("申请列表的未读数")
|
||||
private Integer unReadCount;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user