调整 ai模块

This commit is contained in:
2025-10-14 15:54:50 +08:00
parent 22fc268fcb
commit 5a45668c61
3 changed files with 42 additions and 17 deletions

View File

@@ -1,11 +1,14 @@
package com.tashow.cloud.ai.dal.mysql.aisample;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSamplePageReqVO;
import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleDO;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
/**
* 样本库 Mapper
@@ -18,4 +21,23 @@ public interface AiSampleMapper extends BaseMapperX<AiSampleDO> {
.likeIfPresent(AiSampleDO::getSampleName, reqVO.getSampleName())
.orderByDesc(AiSampleDO::getId));
}
@Select("<script>" +
"SELECT t.id, t.sample_file_path sampleFilePath,t.sample_name sampleName,t.sample_time sampleTime" +
",sample_mine_type sampleMineType ,sample_size sampleSize, remark,creator,updater,create_time createTime" +
",update_time updateTime,deleted,tenant_id tenantId " +
"FROM tz_ai_sample t " +
"INNER JOIN tz_ai_sample_tag_relate r ON t.id = r.sample_id " +
"<where>" +
" <if test=\"pageReqVO.tagIds != null and pageReqVO.tagIds != ''\">" +
" AND FIND_IN_SET(r.sample_tag_id,${pageReqVO.tagIds}) " +
" </if>" +
" <if test=\"pageReqVO.sampleName != null and pageReqVO.sampleName != ''\">" +
" AND t.sample_name LIKE CONCAT('%',#{pageReqVO.sampleName},'%')" +
" </if>" +
"</where>" +
"ORDER BY t.id DESC" +
"</script>")
IPage<AiSampleDO> getAiSamplePage(Page<AiSampleDO> objectPage, AiSamplePageReqVO pageReqVO);
}

View File

@@ -23,19 +23,19 @@ public interface AiSampleTagMapper extends BaseMapperX<AiSampleTagDO> {
.orderByDesc(AiSampleTagDO::getId));
}
@Select("<script>\n" +
"SELECT t.id, t.tag_name tagName \n" +
"FROM tz_ai_sample_tag t \n" +
"INNER JOIN tz_ai_sample_tag_group_relate r ON t.id = r.sample_tag_id \n" +
"<where>\n" +
" <if test=\"pageReqVO.groupId != null\">\n" +
" AND r.sample_tag_group_id = #{pageReqVO.groupId}\n" +
" </if>\n" +
" <if test=\"pageReqVO.tagName != null and pageReqVO.tagName != ''\">\n" +
" AND t.tag_name LIKE '%' || #{pageReqVO.tagName} || '%'\n" +
" </if>\n" +
"</where>\n" +
"ORDER BY t.id DESC\n" +
@Select("<script>" +
"SELECT t.id, t.tag_name tagName " +
"FROM tz_ai_sample_tag t " +
"INNER JOIN tz_ai_sample_tag_group_relate r ON t.id = r.sample_tag_id " +
"<where>" +
" <if test=\"pageReqVO.groupId != null\">" +
" AND r.sample_tag_group_id = #{pageReqVO.groupId}" +
" </if>" +
" <if test=\"pageReqVO.tagName != null and pageReqVO.tagName != ''\">" +
" AND t.tag_name LIKE CONCAT('%',#{pageReqVO.tagName},'%')" +
" </if>" +
"</where>" +
"ORDER BY t.id DESC" +
"</script>")
IPage<AiSampleTagDO> getAiSampleTagPage(Page<AiSampleTagDO> page, AiSampleTagPageReqVO pageReqVO);

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tashow.cloud.ai.controller.admin.aisample.vo.*;
import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleDO;
import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleTagDO;
@@ -14,6 +15,7 @@ import com.tashow.cloud.ai.dal.mysql.aisample.AiSampleTagRelateMapper;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.util.object.BeanUtils;
import com.tashow.cloud.infraapi.api.file.FileApi;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import jakarta.annotation.Resource;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Value;
@@ -149,9 +151,10 @@ public class AiSampleServiceImpl implements AiSampleService {
@Override
public PageResult<AiSampleDO> getAiSamplePage(AiSamplePageReqVO pageReqVO) {
PageResult<AiSampleDO> aiSampleDOPageResult = aiSampleMapper.selectPage(pageReqVO);
// PageResult<AiSampleDO> aiSampleDOPageResult = aiSampleMapper.selectPage(pageReqVO);
IPage<AiSampleDO> aiSampleDOPageResult = aiSampleMapper.getAiSamplePage(MyBatisUtils.buildPage(pageReqVO),pageReqVO);
//根据样本id获取关联的标签id
List<Long> sampleIds = aiSampleDOPageResult.getList().stream().map(AiSampleDO::getId).toList();
List<Long> sampleIds = aiSampleDOPageResult.getRecords().stream().map(AiSampleDO::getId).toList();
List<AiSampleTagRelateDO> tagRelateDOS = aiSampleTagRelateMapper.selectList(
new LambdaQueryWrapper<AiSampleTagRelateDO>()
.in(!sampleIds.isEmpty(), AiSampleTagRelateDO::getSampleId, sampleIds));
@@ -162,7 +165,7 @@ public class AiSampleServiceImpl implements AiSampleService {
.in(!tagIds.isEmpty(), AiSampleTagDO::getId, tagIds));
//封装标签信息
for (AiSampleDO aiSampleDO : aiSampleDOPageResult.getList()) {
for (AiSampleDO aiSampleDO : aiSampleDOPageResult.getRecords()) {
List<AiSampleTagRelateDO> list = tagRelateDOS.stream()
.filter(a -> ObjectUtil.equals(aiSampleDO.getId(), a.getSampleId()))
.toList();
@@ -171,7 +174,7 @@ public class AiSampleServiceImpl implements AiSampleService {
aiSampleDO.setTags(list1);
aiSampleDO.setSampleFilePath(aiSampleDO.getSampleFilePath());
}
return aiSampleDOPageResult;
return new PageResult<>(aiSampleDOPageResult.getRecords(), aiSampleDOPageResult.getTotal());
}
}