feat: 定义im自定义消息的feign api
This commit is contained in:
parent
35bc5e05e7
commit
92fad59a1b
@ -1,15 +1,16 @@
|
||||
package cn.axzo.im.center.api.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.im.center.api.vo.req.CustomMessageInfo;
|
||||
import cn.axzo.im.center.api.vo.req.MessageInfo;
|
||||
import cn.axzo.im.center.api.vo.resp.MessageCustomResp;
|
||||
import cn.axzo.im.center.api.vo.resp.MessageDispatchResp;
|
||||
import java.util.List;
|
||||
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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* IM消息管理API
|
||||
*
|
||||
@ -34,4 +35,10 @@ public interface MessageApi {
|
||||
@PostMapping("api/im/message/dispatch")
|
||||
ApiResult<List<MessageDispatchResp>> sendMessage(@RequestBody @Validated MessageInfo messageInfo);
|
||||
|
||||
/**
|
||||
* 发送自定义消息
|
||||
*/
|
||||
@PostMapping("api/im/custom-message/send")
|
||||
ApiResult<List<MessageCustomResp>> sendCustomMessage(@RequestBody @Validated CustomMessageInfo messageInfo);
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,50 @@
|
||||
package cn.axzo.im.center.api.vo.req;
|
||||
|
||||
import cn.axzo.im.center.common.enums.AppTypeEnum;
|
||||
import cn.axzo.im.center.common.enums.BizTypeEnum;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2023/12/21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CustomMessageInfo {
|
||||
|
||||
/**
|
||||
* 发送消息到App端
|
||||
* 工人端、企业端、服务器
|
||||
* CM、CMP、SYSTEM
|
||||
*
|
||||
* @See cn.axzo.im.center.common.enums.AppTypeEnum
|
||||
*/
|
||||
@NotEmpty(message = "消息接收端类型appTypeList不能为空")
|
||||
private List<AppTypeEnum> appTypeList;
|
||||
|
||||
/**
|
||||
* 接收用户自然人Id
|
||||
*/
|
||||
@NotBlank(message = "接收用户自然人Id不能为空")
|
||||
private String toPersonId;
|
||||
|
||||
/**
|
||||
* 业务类型
|
||||
*/
|
||||
@NotNull(message = "业务类型不能为空")
|
||||
private BizTypeEnum bizType;
|
||||
|
||||
/**
|
||||
* 推送内容 - 业务数据,json格式
|
||||
*/
|
||||
private String payload;
|
||||
}
|
||||
@ -1,9 +1,12 @@
|
||||
package cn.axzo.im.center.api.vo.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import java.util.Map;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 账户信息
|
||||
@ -13,6 +16,9 @@ import java.util.Map;
|
||||
* @date 2023/10/9 16:01
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserAccountReq {
|
||||
|
||||
/**
|
||||
@ -45,4 +51,13 @@ public class UserAccountReq {
|
||||
* 用户账户扩展信息
|
||||
*/
|
||||
private Map<String, String> attachments;
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(JSONUtil.toJsonStr(UserAccountReq.builder()
|
||||
.userId("84982")
|
||||
.appType("SYSTEM")
|
||||
.nickName("自定义")
|
||||
.headImageUrl("")
|
||||
.build()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
package cn.axzo.im.center.api.vo.resp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2023/12/21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MessageCustomResp {
|
||||
|
||||
/**
|
||||
* 接收消息端类型
|
||||
*/
|
||||
private String appType;
|
||||
|
||||
/**
|
||||
* 接收人IM账户
|
||||
*/
|
||||
private String toImAccount;
|
||||
|
||||
/**
|
||||
* 接收人personId
|
||||
*/
|
||||
private String personId;
|
||||
|
||||
/**
|
||||
* true - 发送成功
|
||||
* false - 发送失败
|
||||
*/
|
||||
private Boolean isSuccess;
|
||||
}
|
||||
@ -1,6 +1,5 @@
|
||||
package cn.axzo.im.center.api.vo.resp;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
|
||||
@ -20,7 +20,12 @@ public enum AccountTypeEnum {
|
||||
/**
|
||||
* 普通用户
|
||||
*/
|
||||
USER("user", "普通用户");
|
||||
USER("user", "普通用户"),
|
||||
/**
|
||||
* 自定义用户
|
||||
*/
|
||||
CUSTOM("custom", "自定义用户"),
|
||||
;
|
||||
|
||||
private final String code;
|
||||
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.im.center.common.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 业务类型
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum BizTypeEnum {
|
||||
|
||||
/**
|
||||
* 工友圈
|
||||
*/
|
||||
WORKMATE("WORKMATE", "工友圈"),
|
||||
/**
|
||||
* 招工
|
||||
*/
|
||||
RECRUIT("RECRUIT", "招工"),
|
||||
/**
|
||||
* 待办
|
||||
*/
|
||||
PENDING("PENDING", "待办"),
|
||||
;
|
||||
|
||||
|
||||
private final String code;
|
||||
|
||||
private final String message;
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user