From 27a09e6722cf5831aa9e24c47753c10eeedef8f3 Mon Sep 17 00:00:00 2001 From: weiweiw <14335254+weiweiw22@user.noreply.gitee.com> Date: Tue, 17 Dec 2024 13:36:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=BA=E8=83=BD=E6=A0=87=E6=B3=A8=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=B1=82=E4=BB=A3=E7=A0=81=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IntelligentAnnotationController.java | 107 ++++++++++++++---- .../mapper/IntelligentAnnotationMapper.java | 4 +- .../IntelligentAnnotationServiceImpl.java | 26 ++++- .../dataset/IntelligentAnnotationService.java | 7 +- .../mapper/IntelligentAnnotationMapper.xml | 44 ++++--- sql/bonus_ai.sql | 4 +- 6 files changed, 144 insertions(+), 48 deletions(-) diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/IntelligentAnnotationController.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/IntelligentAnnotationController.java index 9e45888..7ce2328 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/IntelligentAnnotationController.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/IntelligentAnnotationController.java @@ -1,42 +1,32 @@ package com.bonus.ai.controller; -import com.bonus.ai.client.intelligentAnnotation.AnnotationRequest; -import com.bonus.ai.client.intelligentAnnotation.AnnotationResult; -import com.bonus.ai.client.intelligentAnnotation.IntelligentAnnotationServiceOkHttp; import com.bonus.ai.domain.DataSetBasicFileEntity; -import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity; +import com.bonus.ai.domain.DataSetSampleEntity; import com.bonus.ai.domain.dataset.AnnotationTaskEntity; import com.bonus.ai.domain.dataset.IntelligentAnnotationServiceEntity; import com.bonus.ai.service.DataSetTeamMemberService; import com.bonus.ai.service.dataset.AnnotationTaskService; import com.bonus.ai.service.dataset.IntelligentAnnotationService; import com.bonus.ai.utils.MinioUtil; +import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.annotation.RequiresPermissions; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.catalina.security.SecurityUtil; -import org.apache.commons.io.IOUtils; -import org.checkerframework.checker.units.qual.A; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; @RestController @RequestMapping("/intelligentAnnotation") -public class IntelligentAnnotationController { +public class IntelligentAnnotationController extends BaseController { @Resource private IntelligentAnnotationService intelligentAnnotationService; @@ -45,23 +35,94 @@ public class IntelligentAnnotationController { @Resource private AnnotationTaskService annotationTaskService; - @RequiresPermissions("dataCenter:annotation:intelligentAnnotation:list") + /** + * 查询列表 + */ + @RequiresPermissions("dataCenter:ailabelservice:list") @GetMapping("/service/list") - public AjaxResult getAIAnnotationServiceList() { + public TableDataInfo list(IntelligentAnnotationServiceEntity entity) + { try { - List serviceList = intelligentAnnotationService.getAIAnnotationServiceList(); - return AjaxResult.success(serviceList); - }catch (Exception e){ - return AjaxResult.error("获取智能标注服务列表失败"); + startPage(); + List list = intelligentAnnotationService.getAIAnnotationServiceList(entity); + return getDataTable(list); + }catch (Exception e) { + return getDataTable(new ArrayList<>()); + } + + } + + /** + * 获取详细信息 + */ + @RequiresPermissions("dataCenter:sample:query") + @GetMapping(value = "/getInfo/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + try { + IntelligentAnnotationServiceEntity service = intelligentAnnotationService.getAIAnnotationServiceById(id); + return AjaxResult.success(service); + } catch (Exception e){ + return AjaxResult.error("获取智能标注服务详细信息失败"); } } - /**智能标注,预留接口 + /** + * 新增 + */ + @RequiresPermissions("dataCenter:ailabelservice:add") + @PostMapping("/add") + @SysLog(title = "智能标注服务管理", businessType = OperaType.INSERT,logType = 0,module = "智能标注服务管理",details = "新增数据") + public AjaxResult add(@RequestBody IntelligentAnnotationServiceEntity entity) + { + try { + int result = intelligentAnnotationService.insertAIAnnotationService(entity); + return AjaxResult.success(result); + }catch(Exception e){ + return AjaxResult.error("新增失败"); + } + + } + + /** + * 修改 + */ + @RequiresPermissions("dataCenter:ailabelservice:edit") + @PostMapping("/update") + @SysLog(title = "智能标注服务管理", businessType = OperaType.UPDATE,logType = 0,module = "智能标注服务管理",details = "修改数据") + public AjaxResult edit(@RequestBody IntelligentAnnotationServiceEntity entity) + { + try { + int result = intelligentAnnotationService.updateAIAnnotationService(entity); + return AjaxResult.success(result); + }catch(Exception e){ + return AjaxResult.error("更新失败"); + } + } + + /** + * 删除 + */ + @RequiresPermissions("dataCenter:ailabelservice:remove") + @PostMapping("/delete/{ids}") + @SysLog(title = "智能标注服务管理", businessType = OperaType.DELETE,logType = 0,module = "智能标注服务管理",details = "删除数据") + public AjaxResult remove(@PathVariable Long[] ids) + { + try { + int result = intelligentAnnotationService.deleteAIAnnotationService(ids); + return AjaxResult.success(result); + }catch(Exception e){ + return AjaxResult.error("删除失败"); + } + } + + +/**智能标注,预留接口 * @param task 标注文件的信息 * @return 返回影响的行数或错误信,AnnotationTaskAnnotatorEntity */ @PostMapping("/annotate") + @SysLog(title = "智能标注服务管理", businessType = OperaType.OTHER,logType = 0,module = "智能标注服务管理",details = "智能标注") public AjaxResult aiAnnotate(@Validated @RequestBody AnnotationTaskEntity task) throws IOException { try { IntelligentAnnotationServiceEntity service = intelligentAnnotationService.getAIAnnotationServiceById(task.getIntelligentAnnotationServiceId()); diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/IntelligentAnnotationMapper.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/IntelligentAnnotationMapper.java index 691104d..ee77921 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/IntelligentAnnotationMapper.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/mapper/IntelligentAnnotationMapper.java @@ -19,7 +19,7 @@ public interface IntelligentAnnotationMapper */ int insertIntelligentAnnotationService(IntelligentAnnotationServiceEntity serviceInfo); - int deleteIntelligentAnnotationService(Long serviceId); + int deleteIntelligentAnnotationService(Long[] ids); /** @@ -33,7 +33,7 @@ public interface IntelligentAnnotationMapper * 获取所有未被删除的服务信息列表 * @return 服务信息 */ - List getIntelligentAnnotationService(); + List getIntelligentAnnotationService(IntelligentAnnotationServiceEntity entity); /** * 获取所有未被删除的服务信息列表 diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java index 1839e21..31cbe2a 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java @@ -13,6 +13,7 @@ import com.bonus.ai.mapper.DatasetMapper; import com.bonus.ai.mapper.IntelligentAnnotationMapper; import com.bonus.ai.service.dataset.IntelligentAnnotationService; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -38,8 +39,8 @@ public class IntelligentAnnotationServiceImpl implements IntelligentAnnotationSe private MinioConfig minioConfig; @Override - public List getAIAnnotationServiceList() { - return intelligentAnnotationMapper.getIntelligentAnnotationService(); + public List getAIAnnotationServiceList(IntelligentAnnotationServiceEntity entity) { + return intelligentAnnotationMapper.getIntelligentAnnotationService(entity); } @Override @@ -47,6 +48,27 @@ public class IntelligentAnnotationServiceImpl implements IntelligentAnnotationSe return intelligentAnnotationMapper.getIntelligentAnnotationServiceById(serviceId); } + @Override + public int deleteAIAnnotationService(Long[] ids) { + return intelligentAnnotationMapper.deleteIntelligentAnnotationService(ids); + + } + + @Override + public int insertAIAnnotationService(IntelligentAnnotationServiceEntity serviceInfo) + { + serviceInfo.setCreateBy(SecurityUtils.getUsername()); + return intelligentAnnotationMapper.insertIntelligentAnnotationService(serviceInfo); + } + + @Override + public int updateAIAnnotationService(IntelligentAnnotationServiceEntity serviceInfo) + { + serviceInfo.setUpdateBy(SecurityUtils.getUsername()); + return intelligentAnnotationMapper.updateIntelligentAnnotationService(serviceInfo); + } + + @Override public AjaxResult aiAnnotate(AnnotationTaskEntity taskInfo, List fileList, IntelligentAnnotationServiceEntity aiAnnotationServiceInfo) { try { diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/IntelligentAnnotationService.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/IntelligentAnnotationService.java index 9f4d55e..d0e6705 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/IntelligentAnnotationService.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/dataset/IntelligentAnnotationService.java @@ -13,9 +13,14 @@ import java.util.List; public interface IntelligentAnnotationService { - List getAIAnnotationServiceList(); + List getAIAnnotationServiceList(IntelligentAnnotationServiceEntity entity); IntelligentAnnotationServiceEntity getAIAnnotationServiceById(Long serviceId); AjaxResult aiAnnotate(AnnotationTaskEntity taskInfo,List filelist,IntelligentAnnotationServiceEntity aiAnnotationServiceInfo); + + int deleteAIAnnotationService(Long[] ids); + int insertAIAnnotationService(IntelligentAnnotationServiceEntity serviceInfo); + int updateAIAnnotationService(IntelligentAnnotationServiceEntity serviceInfo); + } \ No newline at end of file diff --git a/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml b/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml index dd4cb1a..8df4a41 100644 --- a/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml +++ b/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml @@ -18,6 +18,20 @@ + + select intelligent_annotation_service_id, intelligent_annotation_service_name, intelligent_annotation_service_url, del_flag, create_by, create_time, update_by, update_time from ai_intelligent_annotation_service + + + + + INSERT INTO ai_intelligent_annotation_service @@ -44,34 +58,28 @@ - - UPDATE ai_intelligent_annotation_service - SET intelligent_annotation_service_name = #{serviceName}, - intelligent_annotation_service_url = #{serviceUrl}, - intelligent_annotation_service_labels = #{annotationLabels}, - del_flag = #{delFlag}, - update_by = #{updateBy}, - update_time = #{updateTime} - WHERE intelligent_annotation_service_id = #{serviceId} + + update ai_intelligent_annotation_service + + intelligent_annotation_service_name = #{serviceName}, + intelligent_annotation_service_url = #{serviceUrl}, + update_by = #{updateBy}, + + where intelligent_annotation_service_id = #{serviceId} - UPDATE ai_intelligent_annotation_service - SET del_flag = '1' - WHERE intelligent_annotation_service_id = #{serviceId} + update ai_intelligent_annotation_service set del_flag='1' where intelligent_annotation_service_id in + + #{id} + - - - diff --git a/sql/bonus_ai.sql b/sql/bonus_ai.sql index a332416..d4ad283 100644 --- a/sql/bonus_ai.sql +++ b/sql/bonus_ai.sql @@ -247,8 +247,8 @@ create table ai_intelligent_annotation_service del_flag char(1) default '0' comment '是否删除(0代表存在,1代表删除)', create_by varchar(64) default '' comment '创建者', update_by varchar(64) default '' comment '更新者', - update_time datetime default null comment '更新时间', - create_time datetime default null comment '创建时间', + update_time datetime default CURRENT_TIMESTAMP on UPDATE CURRENT_TIMESTAMP comment '更新时间', + create_time datetime default CURRENT_TIMESTAMP comment '创建时间', primary key(intelligent_annotation_service_id) )engine=innodb comment = '智能标注服务;