Procházet zdrojové kódy

feat(store): 新增二期AI视频审核任务模块

- 添加SecondAiTask实体类,用于映射AI视频审核任务表
- 创建SecondAiTaskController控制器,提供基础ping接口
- 实现SecondAiTaskMapper接口,继承MyBatis-Plus的BaseMapper
- 定义SecondAiTaskService服务接口及其实现类
- 配置Swagger注解以支持API文档生成
- 引入Lombok注解简化实体类代码编写
- 设置JSON序列化格式统一时间字段输出格式
- 使用MyBatis-Plus注解完成数据库字段映射
- 为任务状态、风险级别等字段添加描述性注释
- 初始化retry_count、create_time、update_time等业务字段
Lhaibo před 2 týdny
rodič
revize
756b0e0087

+ 68 - 0
alien-entity/src/main/java/shop/alien/entity/store/SecondAiTask.java

@@ -0,0 +1,68 @@
+package shop.alien.entity.store;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * second_ai_task 表实体
+ */
+@Data
+@TableName("second_ai_task")
+@ApiModel(value = "SecondAiTask", description = "AI视频审核任务表")
+public class SecondAiTask implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("数据ID")
+    @TableField("data_id")
+    private String dataId;
+
+    @ApiModelProperty("视频URL")
+    @TableField("video_url")
+    private String videoUrl;
+
+    @ApiModelProperty("任务ID")
+    @TableField("task_id")
+    private String taskId;
+
+    @ApiModelProperty("任务状态 SUBMITTED/PROCESSING/...")
+    @TableField("status")
+    private String status;
+
+    @ApiModelProperty("风险级别 none/low/medium/high")
+    @TableField("risk_level")
+    private String riskLevel;
+
+    @ApiModelProperty("审核结果(JSON)")
+    @TableField("result")
+    private String result;
+
+    @ApiModelProperty("重试次数")
+    @TableField("retry_count")
+    private Integer retryCount;
+
+    @ApiModelProperty("创建时间")
+    @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    @ApiModelProperty("更新时间")
+    @TableField("update_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+}
+
+

+ 14 - 0
alien-entity/src/main/java/shop/alien/mapper/SecondAiTaskMapper.java

@@ -0,0 +1,14 @@
+package shop.alien.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import shop.alien.entity.store.SecondAiTask;
+
+/**
+ * second_ai_task Mapper
+ */
+@Mapper
+public interface SecondAiTaskMapper extends BaseMapper<SecondAiTask> {
+}
+
+

+ 35 - 0
alien-store/src/main/java/shop/alien/store/controller/SecondAiTaskController.java

@@ -0,0 +1,35 @@
+package shop.alien.store.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import shop.alien.entity.result.R;
+import shop.alien.store.service.SecondAiTaskService;
+
+/**
+ * second_ai_task 控制器(占位)
+ */
+@Api(tags = "二期-AI任务")
+@Slf4j
+@RestController
+@CrossOrigin
+@RequestMapping("/second/ai/task")
+@RequiredArgsConstructor
+public class SecondAiTaskController {
+
+    private final SecondAiTaskService secondAiTaskService;
+
+    @ApiOperation("AI任务模块占位")
+    @GetMapping("/ping")
+    public R<String> ping() {
+        log.info("SecondAiTaskController.ping");
+        return R.success("second_ai_task ready");
+    }
+}
+
+

+ 12 - 0
alien-store/src/main/java/shop/alien/store/service/SecondAiTaskService.java

@@ -0,0 +1,12 @@
+package shop.alien.store.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import shop.alien.entity.store.SecondAiTask;
+
+/**
+ * second_ai_task 服务接口
+ */
+public interface SecondAiTaskService extends IService<SecondAiTask> {
+}
+
+

+ 18 - 0
alien-store/src/main/java/shop/alien/store/service/impl/SecondAiTaskServiceImpl.java

@@ -0,0 +1,18 @@
+package shop.alien.store.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import shop.alien.entity.store.SecondAiTask;
+import shop.alien.mapper.SecondAiTaskMapper;
+import shop.alien.store.service.SecondAiTaskService;
+
+/**
+ * second_ai_task 服务实现
+ */
+@Service
+@RequiredArgsConstructor
+public class SecondAiTaskServiceImpl extends ServiceImpl<SecondAiTaskMapper, SecondAiTask> implements SecondAiTaskService {
+}
+
+