| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- package com.ylx.massage.service;
- import com.baomidou.mybatisplus.extension.service.IService;
- import com.ylx.massage.domain.CommentUserAudit;
- import java.io.Serializable;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 用户评论审核服务接口
- * <p>
- * 提供用户评论审核功能的业务接口,包括审核通过、审核拒绝等操作。
- * 继承自 MyBatis-Plus 的 IService 接口,提供基础的 CRUD 操作。
- * </p>
- *
- * @author ylx
- * @version 1.0
- * @since 2024
- */
- public interface TCommentUserAuditService extends IService<CommentUserAudit> {
- /**
- * 审核用户评论
- * <p>
- * 根据审核结果更新评论状态,并记录审核信息到审核表。
- * 审核通过后,评论状态更新为"通过";
- * 审核拒绝后,评论状态更新为"拒绝",并可记录拒绝原因。
- * </p>
- *
- * @param commentId 评论ID,用于标识待审核的评论
- * @param auditStatus 审核状态:1-通过,2-拒绝
- * @param auditReason 审核原因/拒绝理由,审核拒绝时必填,审核通过时可为空
- * @param auditorId 审核人ID,当前登录管理员的ID
- * @param auditorName 审核人姓名,当前登录管理员的姓名
- * @return 审核是否成功
- */
- Boolean auditComment(String commentId, Integer auditStatus, String auditReason, String auditorId, String auditorName);
- /**
- * 批量审核用户评论
- * <p>
- * 批量审核多条用户评论,支持统一通过或拒绝。
- * 对每条评论进行独立的验证和处理,记录详细的审核结果。
- * 返回审核结果统计,包括成功数量、失败数量和失败详情。
- * </p>
- *
- * @param commentIds 评论ID列表,用于标识待审核的多条评论
- * @param auditStatus 审核状态:1-通过,2-拒绝
- * @param auditReason 审核原因/拒绝理由,审核拒绝时必填,审核通过时可为空
- * @param auditorId 审核人ID,当前登录管理员的ID
- * @param auditorName 审核人姓名,当前登录管理员的姓名
- * @return 审核结果对象,包含成功数量、失败数量和失败详情
- */
- BatchAuditResult batchAuditComments(List<String> commentIds, Integer auditStatus,
- String auditReason, String auditorId, String auditorName);
- /**
- * 批量审核结果
- * <p>
- * 封装批量审核操作的执行结果,包括成功和失败的统计信息。
- * </p>
- */
- class BatchAuditResult implements Serializable {
- private static final long serialVersionUID = 1L;
- /**
- * 成功审核的评论数量
- */
- private int successCount;
- /**
- * 审核失败的评论数量
- */
- private int failCount;
- /**
- * 失败详情
- * Key: 评论ID
- * Value: 失败原因
- */
- private Map<String, String> failDetails;
- public BatchAuditResult() {
- this.successCount = 0;
- this.failCount = 0;
- this.failDetails = new HashMap<>();
- }
- public int getSuccessCount() {
- return successCount;
- }
- public void setSuccessCount(int successCount) {
- this.successCount = successCount;
- }
- public int getFailCount() {
- return failCount;
- }
- public void setFailCount(int failCount) {
- this.failCount = failCount;
- }
- public java.util.Map<String, String> getFailDetails() {
- return failDetails;
- }
- public void setFailDetails(java.util.Map<String, String> failDetails) {
- this.failDetails = failDetails;
- }
- /**
- * 增加成功计数
- */
- public void incrementSuccess() {
- this.successCount++;
- }
- /**
- * 增加失败计数
- */
- public void incrementFail() {
- this.failCount++;
- }
- /**
- * 添加失败详情
- *
- * @param commentId 评论ID
- * @param reason 失败原因
- */
- public void addFailDetail(String commentId, String reason) {
- this.failDetails.put(commentId, reason);
- this.incrementFail();
- }
- /**
- * 获取总数量
- *
- * @return 成功数量 + 失败数量
- */
- public int getTotalCount() {
- return successCount + failCount;
- }
- /**
- * 是否全部成功
- *
- * @return true-全部成功,false-存在失败
- */
- public boolean isAllSuccess() {
- return failCount == 0;
- }
- }
- }
|