Просмотр исходного кода

[fix]
1、游记审核增加自动审核字段以及自动审核未通过的原因字段

chenchen 4 месяцев назад
Родитель
Сommit
892454e3c5

+ 22 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/controller/TourismProjectTravelNotesWriteController.java

@@ -3,6 +3,7 @@ package com.tourism.webadmin.back.controller;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaIgnore;
 import cn.hutool.core.util.ReflectUtil;
+import com.tourism.common.additional.utils.StringUtils;
 import com.tourism.common.core.upload.BaseUpDownloader;
 import com.tourism.common.core.upload.UpDownloaderFactory;
 import com.tourism.common.core.upload.UploadResponseInfo;
@@ -122,9 +123,30 @@ public class TourismProjectTravelNotesWriteController {
         if (errorMessage != null) {
             return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
         }
+        if(tourismProjectTravelNotesWriteDto.getState().equals(AuditState.DRAFT)){
+            return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核状态不能为草稿");
+        }
         if(tourismProjectTravelNotesWriteDto.getState().equals(AuditState.UNAUDITSTATE)){
             return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核状态不能为未审核");
         }
+        else if(tourismProjectTravelNotesWriteDto.getState().equals(AuditState.FAILAUDIT) && StringUtils.isBlank(tourismProjectTravelNotesWriteDto.getReason())){
+            return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核未通过,则审核原因不能为空");
+        }else {
+            if (tourismProjectTravelNotesWriteDto.getIsHotspot() == null){
+                return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核通过,则热度值不能为空");
+            }else if(StringUtils.isBlank(tourismProjectTravelNotesWriteDto.getNoteLabel())){
+                return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核通过,则标签不能为空");
+            }else if(tourismProjectTravelNotesWriteDto.getLikeCount() == null){
+                return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核通过,则点赞数不能为空");
+            }else if(tourismProjectTravelNotesWriteDto.getPageViewCount() == null){
+                return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核通过,则浏览数不能为空");
+            }else if(tourismProjectTravelNotesWriteDto.getHotValue() == null){
+                return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核通过,则热度值不能为空");
+            }else if(tourismProjectTravelNotesWriteDto.getIsOriginal() == null){
+                return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, "审核通过,则是否原创不能为空");
+            }
+
+        }
         TourismProjectTravelNotesWrite tourismProjectTravelNotesWrite = MyModelUtil.copyTo(tourismProjectTravelNotesWriteDto, TourismProjectTravelNotesWrite.class);
         TourismProjectTravelNotesWrite originalTourismProjectTravelNotesWrite = tourismProjectTravelNotesWriteService.getById(tourismProjectTravelNotesWrite.getId());
         if (originalTourismProjectTravelNotesWrite == null) {

+ 8 - 2
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/TourismProjectTravelNotesWriteMapper.xml

@@ -28,6 +28,8 @@
         <result column="hot_value" jdbcType="INTEGER" property="hotValue"/>
         <result column="is_original" jdbcType="TINYINT" property="isOriginal"/>
         <result column="end_place" jdbcType="BIGINT" property="endPlace"/>
+        <result column="auto_audit_status" jdbcType="TINYINT" property="autoAuditStatus"/>
+        <result column="auto_reject_reason" jdbcType="VARCHAR" property="autoRejectReason"/>
     </resultMap>
 
     <insert id="insertList">
@@ -57,7 +59,9 @@
             page_view_count,
             hot_value,
             is_original,
-            end_place)
+            end_place,
+            auto_audit_status,
+            auto_reject_reason)
         VALUES
         <foreach collection="list" index="index" item="item" separator="," >
             (#{item.id},
@@ -85,7 +89,9 @@
             #{item.pageViewCount},
             #{item.hotValue},
             #{item.isOriginal},
-            #{item.endPlace})
+            #{item.endPlace},
+            #{item.autoAuditStatus},
+            #{item.autoRejectReason})
         </foreach>
     </insert>
 

+ 14 - 4
application-webadmin/src/main/java/com/tourism/webadmin/back/dto/TourismProjectTravelNotesWriteDto.java

@@ -2,11 +2,8 @@ package com.tourism.webadmin.back.dto;
 
 import com.tourism.common.core.validator.UpdateGroup;
 import com.tourism.common.core.validator.ConstDictRef;
-import com.tourism.webadmin.back.model.constant.AuditState;
+import com.tourism.webadmin.back.model.constant.*;
 
-import com.tourism.webadmin.back.model.constant.Hotspot;
-import com.tourism.webadmin.back.model.constant.IsOriginal;
-import com.tourism.webadmin.back.model.constant.UnmountState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -167,6 +164,19 @@ public class TourismProjectTravelNotesWriteDto {
     private Long endPlace;
 
     /**
+     * 自动审核结果1:通过,2未通过。
+     */
+    @Schema(description = "自动审核结果1:通过,2未通过。")
+    @ConstDictRef(constDictClass = AudioState.class, message = "数据验证失败,自动审核结果1:通过,2未通过为无效值!")
+    private Integer autoAuditStatus;
+
+    /**
+     * 自动审核未通过原因。
+     */
+    @Schema(description = "自动审核未通过原因。")
+    private String autoRejectReason;
+
+    /**
      * departureTime 范围过滤起始值(>=)。
      * NOTE: 可支持范围操作符的列表数据过滤。
      */

+ 19 - 4
application-webadmin/src/main/java/com/tourism/webadmin/back/model/TourismProjectTravelNotesWrite.java

@@ -1,14 +1,11 @@
 package com.tourism.webadmin.back.model;
 
 import com.baomidou.mybatisplus.annotation.*;
-import com.tourism.webadmin.back.model.constant.AuditState;
+import com.tourism.webadmin.back.model.constant.*;
 import com.tourism.common.core.util.MyCommonUtil;
 import com.tourism.common.core.upload.UploadStoreTypeEnum;
 import com.tourism.common.core.annotation.*;
 import com.tourism.common.core.base.model.BaseModel;
-import com.tourism.webadmin.back.model.constant.Hotspot;
-import com.tourism.webadmin.back.model.constant.IsOriginal;
-import com.tourism.webadmin.back.model.constant.UnmountState;
 import lombok.*;
 
 import java.util.Date;
@@ -163,6 +160,18 @@ public class TourismProjectTravelNotesWrite extends BaseModel {
     private Long endPlace;
 
     /**
+     * 自动审核结果1:通过,2未通过。
+     */
+    @TableField(value = "auto_audit_status")
+    private Integer autoAuditStatus;
+
+    /**
+     * 自动审核未通过原因。
+     */
+    @TableField(value = "auto_reject_reason")
+    private String autoRejectReason;
+
+    /**
      * departureTime 范围过滤起始值(>=)。
      */
     @TableField(exist = false)
@@ -237,4 +246,10 @@ public class TourismProjectTravelNotesWrite extends BaseModel {
 
     @TableField(exist = false)
     private List<Long> directoryInfoIds;
+
+    @RelationConstDict(
+            masterIdField = "autoAuditStatus",
+            constantDictClass = AudioState.class)
+    @TableField(exist = false)
+    private Map<String, Object> autoAuditStatusDictMap;
 }

+ 44 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/model/constant/AudioState.java

@@ -0,0 +1,44 @@
+package com.tourism.webadmin.back.model.constant;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 自动审核状态常量字典对象。
+ *
+ * @author 吃饭睡觉
+ * @date 2024-09-06
+ */
+public final class AudioState {
+
+    /**
+     * 自动审核通过。
+     */
+    public static final int AGREE = 1;
+    /**
+     * 自动审核未通过。
+     */
+    public static final int REJECT = 2;
+
+    private static final Map<Object, String> DICT_MAP = new HashMap<>(2);
+    static {
+        DICT_MAP.put(AGREE, "自动审核通过");
+        DICT_MAP.put(REJECT, "自动审核未通过");
+    }
+
+    /**
+     * 判断参数是否为当前常量字典的合法值。
+     *
+     * @param value 待验证的参数值。
+     * @return 合法返回true,否则false。
+     */
+    public static boolean isValid(Integer value) {
+        return value != null && DICT_MAP.containsKey(value);
+    }
+
+    /**
+     * 私有构造函数,明确标识该常量类的作用。
+     */
+    private AudioState() {
+    }
+}

+ 18 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/vo/TourismProjectTravelNotesWriteVo.java

@@ -149,6 +149,18 @@ public class TourismProjectTravelNotesWriteVo extends BaseVo {
     private String endPlace;
 
     /**
+     * 自动审核结果1:通过,2未通过。
+     */
+    @Schema(description = "自动审核结果1:通过,2未通过")
+    private Integer autoAuditStatus;
+
+    /**
+     * 自动审核未通过原因。
+     */
+    @Schema(description = "自动审核未通过原因")
+    private String autoRejectReason;
+
+    /**
      * endPlace 字典关联数据。
      */
     @Schema(description = "endPlace 字典关联数据")
@@ -189,4 +201,10 @@ public class TourismProjectTravelNotesWriteVo extends BaseVo {
 
     @Schema(description = "联系人图片")
     private List<String> travelNotesBannerAfterConvert;
+
+    /**
+     * autoAuditStatus 常量字典关联数据。
+     */
+    @Schema(description = "autoAuditStatus 常量字典关联数据")
+    private Map<String, Object> autoAuditStatusDictMap;
 }