feat: (REQ-3057) 加上群聊创建/投诉的api/controller
This commit is contained in:
parent
3004829404
commit
75771d49e7
@ -0,0 +1,27 @@
|
||||
package cn.axzo.im.center.api.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.im.center.api.vo.req.ChatGroupCreateReq;
|
||||
import cn.axzo.im.center.api.vo.resp.ChatGroupCreateResp;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* 群聊
|
||||
*
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@FeignClient(name = "im-center", url = "${axzo.service.im-center:http://im-center:8080}")
|
||||
public interface ChatGroupApi {
|
||||
|
||||
/**
|
||||
* 创建群聊
|
||||
*/
|
||||
@PostMapping("api/im/chat/group/create")
|
||||
ApiResult<ChatGroupCreateResp> chatGroupCreate(@RequestBody @Validated ChatGroupCreateReq chatGroupCreateReq);
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.im.center.api.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.im.center.api.vo.req.ChatGroupCreateReq;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* 投诉
|
||||
*
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@FeignClient(name = "im-center", url = "${axzo.service.im-center:http://im-center:8080}")
|
||||
public interface ComplaintApi {
|
||||
|
||||
/**
|
||||
* 投诉
|
||||
*/
|
||||
@PostMapping("api/im/complaint/create")
|
||||
ApiResult<Void> complaintCreate(@RequestBody @Validated ChatGroupCreateReq chatGroupCreateReq);
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package cn.axzo.im.center.api.vo.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 群聊创建请求
|
||||
* @author xudawei
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ChatGroupCreateReq {
|
||||
|
||||
/**
|
||||
* 群组名称,最大长度为 128 字符。
|
||||
*/
|
||||
@NotNull(message = "群组名称不能为空")
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 群主账号,accid,最大长度 32 位字符
|
||||
*/
|
||||
@NotNull(message = "群主账号不能为空")
|
||||
private String owner;
|
||||
|
||||
/**
|
||||
* 邀请的群成员列表,\["aaa","bbb"\](JSONArray 对应的 accid,如果解析出错会报 414)
|
||||
* members 与 owner 总和上限为 200。members 中无需再加 owner 自己的账号
|
||||
*/
|
||||
@NotNull(message = "邀请的群成员列表不能为空")
|
||||
private String members;
|
||||
|
||||
|
||||
/**
|
||||
* 群组头像的 URL,最大长度为 1024 字符。
|
||||
*/
|
||||
@NotNull(message = "群组头像的 URL,最大长度为 1024 字符。")
|
||||
private String icon;
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package cn.axzo.im.center.api.vo.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 投诉
|
||||
* @author xudawei
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ComplaintCreateReq {
|
||||
|
||||
/**
|
||||
* 投诉内容
|
||||
*/
|
||||
@NotNull(message = "投诉内容不能为空")
|
||||
private String complaintContent;
|
||||
|
||||
/**
|
||||
* 类型,私聊:private,群聊:group
|
||||
*/
|
||||
@NotNull(message = "类型不能为空")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 群聊Id或者IM账号Id,根据type而订
|
||||
*/
|
||||
@NotNull(message = "群聊Id或者IM账号Id,不能为空")
|
||||
private String t_acc_id;
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.im.center.api.vo.resp;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 创建群聊
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ChatGroupCreateResp {
|
||||
|
||||
private String tid;
|
||||
|
||||
private JSONArray faccid;
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package cn.axzo.im.center.api.vo.resp;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 投诉
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ComplaintCreateResp {
|
||||
|
||||
private String tid;
|
||||
|
||||
private JSONArray faccid;
|
||||
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package cn.axzo.im.controller;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.im.center.api.feign.ChatGroupApi;
|
||||
import cn.axzo.im.center.api.vo.req.ChatGroupCreateReq;
|
||||
import cn.axzo.im.center.api.vo.resp.ChatGroupCreateResp;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 群聊
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class ChatGroupController implements ChatGroupApi {
|
||||
|
||||
@Override
|
||||
public ApiResult<ChatGroupCreateResp> chatGroupCreate(ChatGroupCreateReq chatGroupCreateReq) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package cn.axzo.im.controller;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.im.center.api.feign.ChatGroupApi;
|
||||
import cn.axzo.im.center.api.feign.ComplaintApi;
|
||||
import cn.axzo.im.center.api.vo.req.ChatGroupCreateReq;
|
||||
import cn.axzo.im.center.api.vo.resp.ChatGroupCreateResp;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 投诉
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/11/04
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class ComplaintController implements ComplaintApi {
|
||||
|
||||
|
||||
@Override
|
||||
public ApiResult<Void> complaintCreate(ChatGroupCreateReq chatGroupCreateReq) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user