From f10573b5fd69bd79bfad3246a158f23a960c6d01 Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Fri, 4 Jul 2025 10:57:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=B8=8B=E5=8F=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9-=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87=E5=88=A0?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../robot/util/IntelligentLibraryUtil.java | 6 ++-- .../service/impl/PersonFaceServiceImpl.java | 32 ++++++++++++++++--- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java b/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java index 578c0b9..2e6f7f8 100644 --- a/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java +++ b/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java @@ -163,8 +163,10 @@ public class IntelligentLibraryUtil { public static String queryPersonImage(PersonImageVo param){ try { DigestAuthClient client = new DigestAuthClient(DIGEST_USER, md5(DIGEST_PWD)); - String url = BASE_URL + "/label/slice/" + param.getSlice_index(); // 构造请求URL - return client.get(url); // 使用DigestAuthClient发送GET请求 + ObjectMapper mapper = new ObjectMapper(); + String jsonBody = mapper.writeValueAsString(param); + // 将参数转换为JSON字符串 + return client.post(BASE_URL + "/label/slice", jsonBody); // 使用DigestAuthClient发送POST请求 } catch (Exception e) { e.printStackTrace(); return "Error: " + e.getMessage(); // 捕获异常并返回错误信息 diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java b/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java index afc242f..b40eed7 100644 --- a/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java +++ b/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java @@ -1,8 +1,8 @@ package com.bonus.business.service.impl; +import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.alibaba.fastjson2.JSONArray; import com.bonus.business.mapper.PersonFaceMapper; import com.bonus.business.mapper.RobotMapper; import com.bonus.business.robot.util.IntelligentLibraryUtil; @@ -121,6 +121,7 @@ public class PersonFaceServiceImpl implements IPersonFaceService { String result = IntelligentLibraryUtil.addPerson(personVo); JSONObject entries = JSONUtil.parseObj(result); if (entries.getInt("code") == 0) { + //添加成功,获取到index JSONObject datas = entries.getJSONObject("datas"); personVo.setIndex(datas.getInt("label_index")); } else if (entries.getInt("code") == 7) { @@ -129,21 +130,44 @@ public class PersonFaceServiceImpl implements IPersonFaceService { String result2 = IntelligentLibraryUtil.updatePerson(vo); JSONObject entries2 = JSONUtil.parseObj(result2); if (entries2.getInt("code") == 0) { - + //修改成功,无需其他操作 } else { + //修改失败,添加错误信息 sb.append(personVo.getName()).append(":").append(entries.getStr("message")).append("\n"); } } else { + //添加失败,添加错误信息 sb.append(personVo.getName()).append(":").append(entries.getStr("message")).append("\n"); } //调用添加照片 if (personVo.getIndex() > 0) { + //先查询图片数量 PersonImageVo personImageVo = new PersonImageVo(); personImageVo.setGroupname("robotV1"); personImageVo.setLabel_index(personVo.getIndex()); - personImageVo.setImagePath(personVo.getImage()); - String result3 = IntelligentLibraryUtil.addPersonImage(personImageVo); + personImageVo.setRows(4); + //根据index查询图片 + String result3 = IntelligentLibraryUtil.queryPersonImage(personImageVo); JSONObject entries3 = JSONUtil.parseObj(result3); + if (entries3.getInt("code") == 0) { + Integer total = entries3.getInt("total"); + //如果图片满了,就全部删除 + if(total>=4){ + JSONArray datas = entries3.getJSONArray("datas"); + for (int i = 0; i < total; i++) { + personImageVo.setImage_id(datas.getJSONObject(i).getInt("index")); + String result4 = IntelligentLibraryUtil.removePersonImage(personImageVo); + JSONObject entries4 = JSONUtil.parseObj(result4); + if (entries4.getInt("code") == 0) { + //删除成功 + } + } + } + } + //添加图片 + personImageVo.setImagePath(personVo.getImage()); + String result5 = IntelligentLibraryUtil.addPersonImage(personImageVo); + JSONObject entries5 = JSONUtil.parseObj(result3); if (entries3.getInt("code") == 0) { m++; } else {