图像模型

This commit is contained in:
spllzh
2025-10-15 09:22:08 +08:00
parent 71c0a04b53
commit abd370beb5
23 changed files with 1613 additions and 22 deletions

View File

@@ -0,0 +1,111 @@
package com.rj.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.ImageModel;
/**
* 图像模型服务接口
*
* 提供图像模型相关的业务逻辑接口,包括:
* - 图像模型记录的增删改查操作
* - 根据不同条件查询图像模型记录
* - 图像模型数据的业务处理逻辑
*
* 继承MyBatis-Plus的IService接口获得基础的CRUD能力
* 同时定义特定的业务方法。
*
* @author 系统生成
* @date 2025/1/30
* @version 1.0
*/
public interface IImageModelService extends IService<ImageModel> {
/**
* 保存图像模型记录
*
* 将图像模型数据保存到数据库中,包括完整的业务逻辑处理。
* 该方法会进行数据验证、日志记录等操作。
*
* @param imageModel 图像模型记录对象,包含所有必要的字段信息
* @return 是否保存成功true表示保存成功false表示保存失败
*/
boolean saveImageModel(ImageModel imageModel);
/**
* 根据UUID查询图像模型记录
*
* 通过唯一标识符查询对应的图像模型记录。
* UUID是主键查询结果唯一。
*
* @param uuid 唯一标识符,对应数据库主键
* @return 图像模型记录如果未找到则返回null
*/
ImageModel getByUuid(String uuid);
/**
* 根据请求ID查询图像模型记录
*
* 通过请求ID查询对应的图像模型记录。
* 一个请求ID可能对应多条记录此方法返回最新的一条。
*
* @param requestId 请求ID用于追踪处理请求
* @return 图像模型记录如果未找到则返回null
*/
ImageModel getByRequestId(String requestId);
/**
* 根据任务ID查询图像模型记录
*
* 通过任务ID查询对应的图像模型记录。
* 一个任务ID可能对应多条记录此方法返回最新的一条。
*
* @param taskId 任务ID用于追踪异步处理任务
* @return 图像模型记录如果未找到则返回null
*/
ImageModel getByTaskId(String taskId);
/**
* 根据所属人电话查询图像模型记录
*
* 通过所属人电话查询对应的图像模型记录。
* 一个电话号码可能对应多条记录,此方法返回最新的一条。
*
* @param ownerPhone 所属人电话,用于查询特定用户的记录
* @return 图像模型记录如果未找到则返回null
*/
ImageModel getByOwnerPhone(String ownerPhone);
/**
* 去除图像中的中英文字符或常见水印
*
* 处理图像去除水印的业务逻辑,包括:
* - 图像预处理和参数设置
* - 调用AI模型进行水印去除
* - 结果处理和URL生成
* - 记录保存和状态更新
*
* @param imageModel 图像模型记录对象,包含处理参数和结果信息
* @return 处理后的图像模型记录包含结果URL等信息
*/
ImageModel removeWatermar(ImageModel imageModel);
/**
* 上传图片素材
*
* 处理图片素材上传的完整业务逻辑,包括:
* - 文件验证和格式检查
* - 上传到MinIO存储
* - 生成永久URL和临时URL
* - 保存上传记录到数据库
*
* @param file 上传的图片文件
* @param ownerName 所属人姓名
* @param ownerPhone 所属人电话
* @param imageType 图片类型
* @return 图像模型记录包含上传结果和URL信息
*/
ImageModel uploadImageMaterial(org.springframework.web.multipart.MultipartFile file,
String ownerName, String ownerPhone, String imageType,String imageName);
boolean removeByUuid(String uuid);
}