From c6f803b098c1985837bbf6e45bf066ac3d4c7866 Mon Sep 17 00:00:00 2001
From: SjS <email@example.com>
Date: Mon, 21 Apr 2025 18:31:22 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=85=E9=9A=9C=E5=AE=A1=E6=A0=B8=E5=92=8C?=
 =?UTF-8?q?=E5=B9=BF=E5=91=8A=E5=AE=A1=E6=A0=B8=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../main/java/com/ruoyi/bst/ad/domain/Ad.java | 19 ++++++++++++++
 .../java/com/ruoyi/bst/ad/domain/AdQuery.java |  2 ++
 .../java/com/ruoyi/bst/ad/domain/AdVO.java    |  3 +++
 .../com/ruoyi/bst/ad/domain/AdVerifyDTO.java  | 25 ++++++++++++++++++
 .../ruoyi/bst/ad/enums/AdVerifyStatus.java    | 26 +++++++++++++++++++
 .../com/ruoyi/bst/ad/mapper/AdMapper.java     |  2 ++
 .../java/com/ruoyi/bst/ad/mapper/AdMapper.xml | 24 +++++++++++++++--
 7 files changed, 99 insertions(+), 2 deletions(-)
 create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVerifyDTO.java
 create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/ad/enums/AdVerifyStatus.java

diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/Ad.java b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/Ad.java
index 6c07734..ea54bf9 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/Ad.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/Ad.java
@@ -7,6 +7,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.time.LocalDateTime;
+
 /**
  * 广告对象 bst_ad
  *
@@ -48,4 +50,21 @@ public class Ad extends BaseEntity
     @ApiModelProperty("跳转类型,1外链跳转,2站内跳转")
     private String urlType;
 
+    @Excel(name = "审核状态")
+    @ApiModelProperty("审核状态")
+    private String auditStatus;
+
+    @Excel(name = "审核人")
+    @ApiModelProperty("审核人")
+    private Long verifyBy;
+
+    @Excel(name = "审核结束时间")
+    @ApiModelProperty("审核结束时间")
+    private LocalDateTime verifyEndTime;
+
+    @Excel(name = "审核备注")
+    @ApiModelProperty("审核备注")
+    private String verifyRemark;
+
+
 }
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdQuery.java
index 9215645..da44517 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdQuery.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdQuery.java
@@ -15,4 +15,6 @@ public class AdQuery extends Ad{
     @ApiModelProperty("用户ID")
     private Long userId;
 
+    @ApiModelProperty("广告状态列表")
+    private List<String> statusList;
 }
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVO.java
index a4a2343..fad986f 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVO.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVO.java
@@ -9,4 +9,7 @@ public class AdVO extends Ad{
     @ApiModelProperty("所属运营区")
     private String areaName;
 
+    @ApiModelProperty("所属运营区")
+    private String auditStatus;
+
 }
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVerifyDTO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVerifyDTO.java
new file mode 100644
index 0000000..37e6511
--- /dev/null
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/domain/AdVerifyDTO.java
@@ -0,0 +1,25 @@
+package com.ruoyi.bst.ad.domain;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+
+@Data
+public class AdVerifyDTO {
+
+    @ApiModelProperty("广告申请ID")
+    @NotNull(message = "广告申请id")
+    private Long id;
+
+    @ApiModelProperty("是否通过")
+    @NotNull(message = "是否通过不能为空")
+    private Boolean pass;
+
+    @ApiModelProperty("审核备注")
+    @Size(max = 200, message = "审核备注不能超过200个字符")
+    private String verifyRemark;
+
+}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/enums/AdVerifyStatus.java b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/enums/AdVerifyStatus.java
new file mode 100644
index 0000000..dc0b998
--- /dev/null
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/enums/AdVerifyStatus.java
@@ -0,0 +1,26 @@
+package com.ruoyi.bst.ad.enums;
+
+import com.ruoyi.common.utils.collection.CollectionUtils;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.List;
+
+@Getter
+@AllArgsConstructor
+public enum AdVerifyStatus {
+
+    REJECTED("0", "已驳回"),
+    PENDING("1", "待审核"),
+    PASSED("2", "已通过");
+
+    private final String code;
+    private final String name;
+
+    // 可以审核的故障审核状态
+    public static List<String> canVerify() {
+        return CollectionUtils.map(AdVerifyStatus::getCode, PENDING);
+    }
+
+
+}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.java
index 35497a3..baa27ee 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.java
@@ -80,4 +80,6 @@ public interface AdMapper
     int countByAreaId(@Param("areaId") Long areaId, @Param("adId") Long adId);
 
     List<AdVO> selectAdByAreaId(@Param("areaId") Long areaId);
+
+    public int updateByQuery(@Param("data") Ad data,@Param("query") AdQuery query);
 }
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.xml
index 61c7d5a..8f6898e 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/ad/mapper/AdMapper.xml
@@ -37,12 +37,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             bad.remark,
             bad.deleted,
             bad.url_type,
-            ba.name AS areaName,
+            bad.audit_status,
+            bad.verify_end_time,
+            bad.verify_by,
+            bad.verify_remark,
+            ba.name AS area_name,
+            su_verify.user_name as verify_name,
             su.agent_id
             from bst_ad bad
             left join bst_area ba on bad.area_id = ba.id
             left join bst_order bo ON ba.id = bo.area_id
             left join sys_user su on bo.user_id = su.user_id
+            left join sys_user su_verify on bad.verify_by = su_verify.user_id
     </sql>
 
     <sql id="searchCondition">
@@ -300,6 +306,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </update>
 
+    <!--updateByQuery-->
+    <update id="updateByQuery">
+        update bst_ad bad
+        <trim prefix="SET" suffixOverrides=",">
+            <include refid="updateColumns"/>
+        </trim>
+        <where>
+            <include refid="searchCondition"/>
+        </where>
+    </update>
+
     <sql id="updateColumns">
         <if test="data.storeId != null">store_id = #{data.storeId},</if>
         <if test="data.areaId != null">area_id = #{data.areaId},</if>
@@ -313,7 +330,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="data.updateTime != null">update_time = #{data.updateTime},</if>
         <if test="data.remark != null">remark = #{data.remark},</if>
         <if test="data.deleted != null">deleted = #{data.deleted},</if>
-        <if test="data.urlType != null and data.urlType != ''">url_type = #{data.urlType},</if>
+        <if test="data.verifyBy != null">verify_by = #{data.verifyBy},</if>
+        <if test="data.auditStatus != null">audit_status = #{data.auditStatus},</if>
+        <if test="data.verifyEndTime != null">verify_end_time = #{data.verifyEndTime},</if>
+        <if test="data.verifyRemark != null">verify_remark = #{data.verifyRemark},</if>
     </sql>
 
     <delete id="deleteAdByAdId" parameterType="Long">