feat: 接口字段补 @Schema 中文说明 + 精简冗余字段 + 接入 Prometheus 监控
- 全部 VO 字段补 @Schema(description) 中文说明,在线文档字段可读 - AppEpisodeVO 精简 duration/isFree 冗余字段(保留 durationSec/locked) - framework 引入 actuator + micrometer-registry-prometheus - SecurityConfig 放行 /actuator/prometheus,双服务配置 management 暴露指标 - 新增 deploy/docker-compose.yml + prometheus.yml 监控部署配置
This commit is contained in:
1 parent
efe8af6c9b
commit
5f9483a86c
140 files changed
+1357
-19
No files matched your search
+2
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/** 开通创作者账号:用户名默认取 creator.code 小写,可用这个字段覆盖。 */
|
||||
@@ -9,5 +10,6 @@ import lombok.Data;
|
||||
public class CreatorAccountOpenReqVO {
|
||||
|
||||
/** 覆盖默认登录名;留空则用 creator.code 的小写形式 */
|
||||
@Schema(description = "覆盖默认登录名(留空则用 creator.code 的小写形式)")
|
||||
private String username;
|
||||
}
|
||||
+7
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -13,13 +14,19 @@ import lombok.Data;
|
||||
@Data
|
||||
public class CreatorAccountRespVO {
|
||||
|
||||
@Schema(description = "创作者 ID")
|
||||
private Long creatorId;
|
||||
@Schema(description = "管理员用户 ID")
|
||||
private Long adminUserId;
|
||||
@Schema(description = "用户名")
|
||||
private String username;
|
||||
/** 一次性明文初始密码;幂等命中时为 null */
|
||||
@Schema(description = "一次性明文初始密码(幂等命中时为 null)")
|
||||
private String password;
|
||||
/** true = 这次真的新建了账号 */
|
||||
@Schema(description = "是否本次新建账号")
|
||||
private Boolean created;
|
||||
/** 给运营看的一句话说明 */
|
||||
@Schema(description = "给运营看的一句话说明")
|
||||
private String message;
|
||||
}
|
||||
+2
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -10,5 +11,6 @@ import lombok.Data;
|
||||
public class CreatorAttachReqVO {
|
||||
|
||||
@NotNull(message = "缺少媒资 ID")
|
||||
@Schema(description = "媒资 ID")
|
||||
private Long assetId;
|
||||
}
|
||||
+4
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/** 创作者入驻审核请求。 */
|
||||
@@ -9,9 +10,12 @@ import lombok.Data;
|
||||
public class CreatorAuditReqVO {
|
||||
|
||||
/** APPROVE / REJECT / FREEZE */
|
||||
@Schema(description = "操作(APPROVE / REJECT / FREEZE)")
|
||||
private String action;
|
||||
/** 驳回原因码,REJECT 时必填 */
|
||||
@Schema(description = "驳回原因码(REJECT 时必填)")
|
||||
private String rejectCode;
|
||||
/** 审核说明 / 驳回原因 */
|
||||
@Schema(description = "审核说明 / 驳回原因")
|
||||
private String reason;
|
||||
}
|
||||
+3
@@ -3,6 +3,7 @@
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import com.fruitshorts.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -15,6 +16,8 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CreatorCenterDramaQueryReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "关键字")
|
||||
private String keyword;
|
||||
@Schema(description = "状态")
|
||||
private String status;
|
||||
}
|
||||
+23
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -12,30 +13,52 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class CreatorCenterDramaVO {
|
||||
|
||||
@Schema(description = "ID")
|
||||
private Long id;
|
||||
@Schema(description = "编号")
|
||||
private String code;
|
||||
@Schema(description = "标题")
|
||||
private String title;
|
||||
@Schema(description = "副标题")
|
||||
private String subtitle;
|
||||
@Schema(description = "题材")
|
||||
private String genre;
|
||||
/** 简介(实体字段是 synopsis) */
|
||||
@Schema(description = "简介")
|
||||
private String description;
|
||||
@Schema(description = "封面")
|
||||
private String cover;
|
||||
/** 整剧预告片 */
|
||||
@Schema(description = "整剧预告片地址")
|
||||
private String trailerUrl;
|
||||
@Schema(description = "语言")
|
||||
private String language;
|
||||
@Schema(description = "状态")
|
||||
private String status;
|
||||
@Schema(description = "状态文本")
|
||||
private String statusText;
|
||||
@Schema(description = "集数")
|
||||
private Integer episodes;
|
||||
@Schema(description = "观看次数")
|
||||
private Long views;
|
||||
@Schema(description = "更新时间")
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
/** 最近一次内容提交(没有提交过则为空) */
|
||||
@Schema(description = "最近一次内容提交 ID")
|
||||
private Long submissionId;
|
||||
@Schema(description = "提交类型")
|
||||
private String submissionType;
|
||||
@Schema(description = "提交状态")
|
||||
private String submissionStatus;
|
||||
@Schema(description = "提交状态文本")
|
||||
private String submissionStatusText;
|
||||
@Schema(description = "审核说明")
|
||||
private String reviewNote;
|
||||
@Schema(description = "驳回原因码")
|
||||
private String rejectCode;
|
||||
@Schema(description = "提交时间")
|
||||
private LocalDateTime submitAt;
|
||||
@Schema(description = "审核时间")
|
||||
private LocalDateTime reviewAt;
|
||||
}
|
||||
+7
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -16,12 +17,18 @@ import java.time.LocalDateTime;
|
||||
public class CreatorCenterNoticeVO {
|
||||
|
||||
/** 来源单据 id */
|
||||
@Schema(description = "来源单据 ID")
|
||||
private Long id;
|
||||
/** CREATOR(入驻审核)/ SUBMISSION(内容提交审核) */
|
||||
@Schema(description = "业务类型(CREATOR / SUBMISSION)")
|
||||
private String bizType;
|
||||
@Schema(description = "标题")
|
||||
private String title;
|
||||
@Schema(description = "内容")
|
||||
private String content;
|
||||
/** 通过 / 驳回 等结果文案 */
|
||||
@Schema(description = "结果文案(通过 / 驳回 等)")
|
||||
private String result;
|
||||
@Schema(description = "时间")
|
||||
private LocalDateTime time;
|
||||
}
|
||||
+13
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -10,20 +11,32 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class CreatorCenterProfileVO {
|
||||
|
||||
@Schema(description = "ID")
|
||||
private Long id;
|
||||
@Schema(description = "编号")
|
||||
private String code;
|
||||
@Schema(description = "名称")
|
||||
private String name;
|
||||
/** INDIVIDUAL / COMPANY */
|
||||
@Schema(description = "类型(INDIVIDUAL / COMPANY)")
|
||||
private String type;
|
||||
/** pending / approved / rejected / frozen */
|
||||
@Schema(description = "状态(pending / approved / rejected / frozen)")
|
||||
private String status;
|
||||
@Schema(description = "状态文本")
|
||||
private String statusText;
|
||||
/** 入驻审核意见(驳回时是原因) */
|
||||
@Schema(description = "入驻审核意见(驳回时是原因)")
|
||||
private String auditNote;
|
||||
@Schema(description = "审核时间")
|
||||
private LocalDateTime auditAt;
|
||||
@Schema(description = "联系人姓名")
|
||||
private String contactName;
|
||||
@Schema(description = "联系人邮箱")
|
||||
private String contactEmail;
|
||||
@Schema(description = "国家/地区代码")
|
||||
private String countryCode;
|
||||
/** 我的作品数(只统计自己的) */
|
||||
@Schema(description = "我的作品数")
|
||||
private Long dramaTotal;
|
||||
}
|
||||
+6
@@ -2,15 +2,21 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/** 代看目标下拉项:超管选择要看哪个创作者时用(只给 id / 名称 / 状态,不给联系方式)。 */
|
||||
@Data
|
||||
public class CreatorCenterTargetVO {
|
||||
|
||||
@Schema(description = "ID")
|
||||
private Long id;
|
||||
@Schema(description = "编号")
|
||||
private String code;
|
||||
@Schema(description = "名称")
|
||||
private String name;
|
||||
@Schema(description = "状态")
|
||||
private String status;
|
||||
@Schema(description = "状态文本")
|
||||
private String statusText;
|
||||
}
|
||||
+9
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -15,14 +16,22 @@ import lombok.Data;
|
||||
public class CreatorDramaEditReqVO {
|
||||
|
||||
@NotBlank(message = "请填写作品名称")
|
||||
@Schema(description = "标题")
|
||||
private String title;
|
||||
|
||||
@Schema(description = "副标题")
|
||||
private String subtitle;
|
||||
@Schema(description = "分类 ID")
|
||||
private Long categoryId;
|
||||
@Schema(description = "题材")
|
||||
private String genre;
|
||||
@Schema(description = "简介")
|
||||
private String description;
|
||||
@Schema(description = "封面")
|
||||
private String cover;
|
||||
/** 整剧预告片(复用 drama.trailer_url) */
|
||||
@Schema(description = "整剧预告片地址")
|
||||
private String trailerUrl;
|
||||
@Schema(description = "语言")
|
||||
private String language;
|
||||
}
|
||||
+7
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -14,11 +15,17 @@ import lombok.Data;
|
||||
public class CreatorEpisodeReqVO {
|
||||
|
||||
/** 不传则自动取下一集 */
|
||||
@Schema(description = "集号(不传则自动取下一集)")
|
||||
private Integer epNo;
|
||||
@Schema(description = "标题")
|
||||
private String title;
|
||||
@Schema(description = "时长(秒)")
|
||||
private Integer durationSec;
|
||||
@Schema(description = "封面")
|
||||
private String cover;
|
||||
/** 片源地址(批 3 接分片上传后会写这里) */
|
||||
@Schema(description = "片源地址")
|
||||
private String videoUrl;
|
||||
@Schema(description = "排序")
|
||||
private Integer sort;
|
||||
}
|
||||
+5
@@ -3,6 +3,7 @@
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import com.fruitshorts.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -12,10 +13,14 @@ import lombok.EqualsAndHashCode;
|
||||
public class CreatorQueryReqVO extends PageParam {
|
||||
|
||||
/** 名称 / 编号 / 联系人 / 联系方式 关键字 */
|
||||
@Schema(description = "名称 / 编号 / 联系人 / 联系方式 关键字")
|
||||
private String keyword;
|
||||
/** pending / approved / rejected / frozen */
|
||||
@Schema(description = "状态(pending / approved / rejected / frozen)")
|
||||
private String status;
|
||||
/** INDIVIDUAL / COMPANY */
|
||||
@Schema(description = "类型(INDIVIDUAL / COMPANY)")
|
||||
private String type;
|
||||
@Schema(description = "国家/地区代码")
|
||||
private String countryCode;
|
||||
}
|
||||
+9
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -14,16 +15,24 @@ import lombok.Data;
|
||||
public class CreatorSaveReqVO {
|
||||
|
||||
@NotBlank(message = "请填写创作者名称")
|
||||
@Schema(description = "名称")
|
||||
private String name;
|
||||
|
||||
/** INDIVIDUAL / COMPANY,默认 INDIVIDUAL */
|
||||
@Schema(description = "类型(INDIVIDUAL / COMPANY,默认 INDIVIDUAL)")
|
||||
private String type;
|
||||
/** 编号:不传则自动生成 CR+日期+序号;也是开账号时默认的登录名(小写) */
|
||||
@Schema(description = "编号(不传则自动生成)")
|
||||
private String code;
|
||||
@Schema(description = "联系人姓名")
|
||||
private String contactName;
|
||||
@Schema(description = "联系人手机号")
|
||||
private String contactMobile;
|
||||
@Schema(description = "联系人邮箱")
|
||||
private String contactEmail;
|
||||
@Schema(description = "国家/地区代码")
|
||||
private String countryCode;
|
||||
/** 可选:绑定已有的 C 端账号 app_user.id */
|
||||
@Schema(description = "绑定的 C 端账号 app_user.id(可选)")
|
||||
private Long userId;
|
||||
}
|
||||
+2
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -10,5 +11,6 @@ import lombok.Data;
|
||||
public class CreatorSubmitReqVO {
|
||||
|
||||
@NotBlank(message = "请选择提交类型")
|
||||
@Schema(description = "提交类型(CREATE / UPDATE / PUBLISH / OFFLINE)")
|
||||
private String type;
|
||||
}
|
||||
+4
@@ -2,6 +2,7 @@
|
||||
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/** 内容提交审核请求。 */
|
||||
@@ -9,9 +10,12 @@ import lombok.Data;
|
||||
public class SubmissionAuditReqVO {
|
||||
|
||||
/** APPROVE / REJECT / WITHDRAW */
|
||||
@Schema(description = "操作(APPROVE / REJECT / WITHDRAW)")
|
||||
private String action;
|
||||
/** 驳回原因码,REJECT 时必填 */
|
||||
@Schema(description = "驳回原因码(REJECT 时必填)")
|
||||
private String rejectCode;
|
||||
/** 审核说明 / 驳回原因 */
|
||||
@Schema(description = "审核说明 / 驳回原因")
|
||||
private String reason;
|
||||
}
|
||||
+5
@@ -3,6 +3,7 @@
|
||||
package com.fruitshorts.creator.vo;
|
||||
|
||||
import com.fruitshorts.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -11,10 +12,14 @@ import lombok.EqualsAndHashCode;
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SubmissionQueryReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "创作者 ID")
|
||||
private Long creatorId;
|
||||
@Schema(description = "短剧 ID")
|
||||
private Long dramaId;
|
||||
/** DRAFT / SUBMITTED / REVIEWING / APPROVED / REJECTED / WITHDRAWN */
|
||||
@Schema(description = "状态(DRAFT / SUBMITTED / REVIEWING / APPROVED / REJECTED / WITHDRAWN)")
|
||||
private String status;
|
||||
/** CREATE / UPDATE / PUBLISH / OFFLINE */
|
||||
@Schema(description = "类型(CREATE / UPDATE / PUBLISH / OFFLINE)")
|
||||
private String type;
|
||||
}
|
||||
Reference in new issue
Block a user