feat: 提交审核时间 submit_review_time 与审核台 createTime 语义对齐
- 新增 t_ugc_work.submit_review_time,publish/withdraw/revoke 维护 - 内容审核 VO:createTime 优先为提交审核时间,补充 workCreateTime Made-with: Cursor
This commit is contained in:
parent
872cd22bcc
commit
079aed72e8
@ -211,6 +211,7 @@ public class PublicContentReviewService {
|
|||||||
uw.eq(UgcWork::getId, id)
|
uw.eq(UgcWork::getId, id)
|
||||||
.set(UgcWork::getStatus, WorkPublishStatus.PENDING_REVIEW.getValue())
|
.set(UgcWork::getStatus, WorkPublishStatus.PENDING_REVIEW.getValue())
|
||||||
.set(UgcWork::getReviewTime, null)
|
.set(UgcWork::getReviewTime, null)
|
||||||
|
.set(UgcWork::getSubmitReviewTime, LocalDateTime.now())
|
||||||
.set(UgcWork::getReviewerId, null)
|
.set(UgcWork::getReviewerId, null)
|
||||||
.set(UgcWork::getReviewNote, null)
|
.set(UgcWork::getReviewNote, null)
|
||||||
.set(UgcWork::getModifyTime, LocalDateTime.now());
|
.set(UgcWork::getModifyTime, LocalDateTime.now());
|
||||||
@ -316,11 +317,14 @@ public class PublicContentReviewService {
|
|||||||
} else if ("views".equals(sortBy)) {
|
} else if ("views".equals(sortBy)) {
|
||||||
wrapper.orderByDesc(UgcWork::getViewCount);
|
wrapper.orderByDesc(UgcWork::getViewCount);
|
||||||
} else if ("oldest".equals(sortBy)) {
|
} else if ("oldest".equals(sortBy)) {
|
||||||
|
wrapper.orderByAsc(UgcWork::getSubmitReviewTime);
|
||||||
wrapper.orderByAsc(UgcWork::getCreateTime);
|
wrapper.orderByAsc(UgcWork::getCreateTime);
|
||||||
} else if ("latest".equals(sortBy) || !StringUtils.hasText(sortBy)) {
|
} else if ("latest".equals(sortBy) || !StringUtils.hasText(sortBy)) {
|
||||||
|
wrapper.orderByDesc(UgcWork::getSubmitReviewTime);
|
||||||
wrapper.orderByDesc(UgcWork::getPublishTime);
|
wrapper.orderByDesc(UgcWork::getPublishTime);
|
||||||
wrapper.orderByDesc(UgcWork::getCreateTime);
|
wrapper.orderByDesc(UgcWork::getCreateTime);
|
||||||
} else {
|
} else {
|
||||||
|
wrapper.orderByDesc(UgcWork::getSubmitReviewTime);
|
||||||
wrapper.orderByDesc(UgcWork::getCreateTime);
|
wrapper.orderByDesc(UgcWork::getCreateTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -420,7 +424,10 @@ public class PublicContentReviewService {
|
|||||||
vo.put("reviewNote", work.getReviewNote());
|
vo.put("reviewNote", work.getReviewNote());
|
||||||
vo.put("reviewTime", work.getReviewTime());
|
vo.put("reviewTime", work.getReviewTime());
|
||||||
vo.put("publishTime", work.getPublishTime());
|
vo.put("publishTime", work.getPublishTime());
|
||||||
vo.put("createTime", work.getCreateTime());
|
// 审核台「创建时间」语义:优先展示提交审核时间(与 POST /public/works/{id}/publish 一致),非作品首次入库时间
|
||||||
|
vo.put("submitReviewTime", work.getSubmitReviewTime());
|
||||||
|
vo.put("workCreateTime", work.getCreateTime());
|
||||||
|
vo.put("createTime", work.getSubmitReviewTime() != null ? work.getSubmitReviewTime() : work.getCreateTime());
|
||||||
|
|
||||||
// 补充作者信息(user 与 creator 同构,便于前端组件复用)
|
// 补充作者信息(user 与 creator 同构,便于前端组件复用)
|
||||||
if (work.getUserId() != null) {
|
if (work.getUserId() != null) {
|
||||||
|
|||||||
@ -196,6 +196,7 @@ public class PublicUserWorkService {
|
|||||||
throw new BusinessException(400, "当前状态不可发布");
|
throw new BusinessException(400, "当前状态不可发布");
|
||||||
}
|
}
|
||||||
work.setStatus(WorkPublishStatus.PENDING_REVIEW.getValue());
|
work.setStatus(WorkPublishStatus.PENDING_REVIEW.getValue());
|
||||||
|
work.setSubmitReviewTime(LocalDateTime.now());
|
||||||
work.setModifyTime(LocalDateTime.now());
|
work.setModifyTime(LocalDateTime.now());
|
||||||
ugcWorkMapper.updateById(work);
|
ugcWorkMapper.updateById(work);
|
||||||
}
|
}
|
||||||
@ -217,6 +218,7 @@ public class PublicUserWorkService {
|
|||||||
uw.eq(UgcWork::getId, id)
|
uw.eq(UgcWork::getId, id)
|
||||||
.set(UgcWork::getStatus, WorkPublishStatus.UNPUBLISHED.getValue())
|
.set(UgcWork::getStatus, WorkPublishStatus.UNPUBLISHED.getValue())
|
||||||
.set(UgcWork::getReviewTime, null)
|
.set(UgcWork::getReviewTime, null)
|
||||||
|
.set(UgcWork::getSubmitReviewTime, null)
|
||||||
.set(UgcWork::getReviewerId, null)
|
.set(UgcWork::getReviewerId, null)
|
||||||
.set(UgcWork::getReviewNote, null)
|
.set(UgcWork::getReviewNote, null)
|
||||||
.set(UgcWork::getModifyTime, LocalDateTime.now());
|
.set(UgcWork::getModifyTime, LocalDateTime.now());
|
||||||
|
|||||||
@ -57,6 +57,10 @@ public class UgcWork implements Serializable {
|
|||||||
@TableField("review_time")
|
@TableField("review_time")
|
||||||
private LocalDateTime reviewTime;
|
private LocalDateTime reviewTime;
|
||||||
|
|
||||||
|
@Schema(description = "提交审核时间(用户发起上架审核,非作品创建时间)")
|
||||||
|
@TableField("submit_review_time")
|
||||||
|
private LocalDateTime submitReviewTime;
|
||||||
|
|
||||||
@Schema(description = "审核人ID")
|
@Schema(description = "审核人ID")
|
||||||
@TableField("reviewer_id")
|
@TableField("reviewer_id")
|
||||||
private Long reviewerId;
|
private Long reviewerId;
|
||||||
|
|||||||
@ -0,0 +1,11 @@
|
|||||||
|
-- 用户发起「提交审核」时间(与作品 create_time 区分,供内容审核台列表/详情展示)
|
||||||
|
ALTER TABLE t_ugc_work
|
||||||
|
ADD COLUMN submit_review_time DATETIME(3) NULL COMMENT '提交审核时间(用户 POST /public/works/{id}/publish)' AFTER review_time;
|
||||||
|
|
||||||
|
-- 历史待审核数据:用 modify_time 近似提交时间(通常为最近一次提交审核时更新)
|
||||||
|
UPDATE t_ugc_work
|
||||||
|
SET submit_review_time = modify_time
|
||||||
|
WHERE status = 'pending_review'
|
||||||
|
AND submit_review_time IS NULL;
|
||||||
|
|
||||||
|
CREATE INDEX idx_ugc_work_submit_review ON t_ugc_work (submit_review_time);
|
||||||
Loading…
Reference in New Issue
Block a user