结构
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package org.xyzh.api.workcase.dto;
|
||||
|
||||
import java.util.List;
|
||||
import org.xyzh.common.dto.BaseDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description 客服人员配置表数据对象DTO
|
||||
* @filename TbCustomerServiceDTO.java
|
||||
* @author cascade
|
||||
* @copyright xyzh
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "客服人员配置表对象")
|
||||
public class TbCustomerServiceDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "员工ID(关联sys用户ID)")
|
||||
private String userId;
|
||||
|
||||
@Schema(description = "员工姓名")
|
||||
private String username;
|
||||
|
||||
@Schema(description = "员工工号")
|
||||
private String userCode;
|
||||
|
||||
@Schema(description = "状态:online-在线 busy-忙碌 offline-离线")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "技能标签")
|
||||
private List<String> skillTags;
|
||||
|
||||
@Schema(description = "最大并发接待数")
|
||||
private Integer maxConcurrent;
|
||||
|
||||
@Schema(description = "当前工作量")
|
||||
private Integer currentWorkload;
|
||||
|
||||
@Schema(description = "累计服务次数")
|
||||
private Integer totalServed;
|
||||
|
||||
@Schema(description = "平均响应时间(秒)")
|
||||
private Integer avgResponseTime;
|
||||
|
||||
@Schema(description = "满意度评分(0-5)")
|
||||
private Double satisfactionScore;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package org.xyzh.api.workcase.dto;
|
||||
|
||||
import org.xyzh.common.dto.BaseDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description 会议参与记录表数据对象DTO
|
||||
* @filename TbMeetingParticipantDTO.java
|
||||
* @author cascade
|
||||
* @copyright xyzh
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "会议参与记录表对象")
|
||||
public class TbMeetingParticipantDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "参与记录ID")
|
||||
private String participantId;
|
||||
|
||||
@Schema(description = "会议ID")
|
||||
private String meetingId;
|
||||
|
||||
@Schema(description = "用户ID")
|
||||
private String userId;
|
||||
|
||||
@Schema(description = "用户类型:guest-来客 agent-客服")
|
||||
private String userType;
|
||||
|
||||
@Schema(description = "用户名称")
|
||||
private String userName;
|
||||
|
||||
@Schema(description = "加入时间")
|
||||
private String joinTime;
|
||||
|
||||
@Schema(description = "离开时间")
|
||||
private String leaveTime;
|
||||
|
||||
@Schema(description = "参与时长(秒)")
|
||||
private Integer durationSeconds;
|
||||
|
||||
@Schema(description = "是否主持人")
|
||||
private Boolean isModerator;
|
||||
|
||||
@Schema(description = "加入方式:web-网页 mobile-移动端 desktop-桌面端")
|
||||
private String joinMethod;
|
||||
|
||||
@Schema(description = "设备信息")
|
||||
private String deviceInfo;
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package org.xyzh.api.workcase.dto;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import org.xyzh.common.dto.BaseDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description 视频会议表数据对象DTO
|
||||
* @filename TbVideoMeetingDTO.java
|
||||
* @author cascade
|
||||
* @copyright xyzh
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "视频会议表对象")
|
||||
public class TbVideoMeetingDTO extends BaseDTO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "会议ID")
|
||||
private String meetingId;
|
||||
|
||||
@Schema(description = "关联聊天室ID")
|
||||
private String roomId;
|
||||
|
||||
@Schema(description = "关联工单ID")
|
||||
private String workcaseId;
|
||||
|
||||
@Schema(description = "会议名称")
|
||||
private String meetingName;
|
||||
|
||||
@Schema(description = "会议密码")
|
||||
private String meetingPassword;
|
||||
|
||||
@Schema(description = "JWT Token")
|
||||
private String jwtToken;
|
||||
|
||||
@Schema(description = "Jitsi房间名")
|
||||
private String jitsiRoomName;
|
||||
|
||||
@Schema(description = "Jitsi服务器地址")
|
||||
private String jitsiServerUrl;
|
||||
|
||||
@Schema(description = "状态:scheduled-已安排 ongoing-进行中 ended-已结束 cancelled-已取消")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建者ID")
|
||||
private String creatorId;
|
||||
|
||||
@Schema(description = "创建者类型:guest-来客 agent-客服")
|
||||
private String creatorType;
|
||||
|
||||
@Schema(description = "创建者名称")
|
||||
private String creatorName;
|
||||
|
||||
@Schema(description = "参与人数")
|
||||
private Integer participantCount;
|
||||
|
||||
@Schema(description = "最大参与人数")
|
||||
private Integer maxParticipants;
|
||||
|
||||
@Schema(description = "实际开始时间")
|
||||
private String actualStartTime;
|
||||
|
||||
@Schema(description = "实际结束时间")
|
||||
private String actualEndTime;
|
||||
|
||||
@Schema(description = "会议时长(秒)")
|
||||
private Integer durationSeconds;
|
||||
|
||||
@Schema(description = "iframe嵌入URL")
|
||||
private String iframeUrl;
|
||||
|
||||
@Schema(description = "Jitsi配置项")
|
||||
private JSONObject config;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package org.xyzh.api.workcase.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.xyzh.common.vo.BaseVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 客服人员配置VO
|
||||
* 用于前端展示客服人员信息
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "客服人员配置VO")
|
||||
public class CustomerServiceVO extends BaseVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "员工ID(关联sys用户ID)")
|
||||
private String userId;
|
||||
|
||||
@Schema(description = "员工姓名")
|
||||
private String username;
|
||||
|
||||
@Schema(description = "员工工号")
|
||||
private String userCode;
|
||||
|
||||
@Schema(description = "员工头像")
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "状态:online-在线 busy-忙碌 offline-离线")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "状态名称")
|
||||
private String statusName;
|
||||
|
||||
@Schema(description = "技能标签")
|
||||
private List<String> skillTags;
|
||||
|
||||
@Schema(description = "最大并发接待数")
|
||||
private Integer maxConcurrent;
|
||||
|
||||
@Schema(description = "当前工作量")
|
||||
private Integer currentWorkload;
|
||||
|
||||
@Schema(description = "累计服务次数")
|
||||
private Integer totalServed;
|
||||
|
||||
@Schema(description = "平均响应时间(秒)")
|
||||
private Integer avgResponseTime;
|
||||
|
||||
@Schema(description = "平均响应时间(格式化)")
|
||||
private String avgResponseTimeFormatted;
|
||||
|
||||
@Schema(description = "满意度评分(0-5)")
|
||||
private Double satisfactionScore;
|
||||
|
||||
@Schema(description = "是否可接待(工作量未满)")
|
||||
private Boolean isAvailable;
|
||||
}
|
||||
Reference in New Issue
Block a user