From 2a36ddf688cdd2fbe44ea38c18d17659cd66b5cb Mon Sep 17 00:00:00 2001 From: zcxlsm Date: Tue, 5 Aug 2025 10:57:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor(huawei):=20=E5=B0=81=E8=A3=85=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/sis/sdk/huawei/HuaWeiBoxApi.java | 3 +- .../sis/sdk/huawei/domain/HWResult.java | 18 ++++++++++ .../huawei/service/HuaWeiBoxApiService.java | 33 +++++-------------- 3 files changed, 29 insertions(+), 25 deletions(-) create mode 100644 ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/domain/HWResult.java diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/HuaWeiBoxApi.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/HuaWeiBoxApi.java index b20da6c0..8abea6e4 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/HuaWeiBoxApi.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/HuaWeiBoxApi.java @@ -1,6 +1,7 @@ package org.dromara.sis.sdk.huawei; import org.dromara.sis.sdk.huawei.domain.AddHWPersonReq; +import org.dromara.sis.sdk.huawei.domain.HWResult; import java.util.Collection; import java.util.List; @@ -35,5 +36,5 @@ public interface HuaWeiBoxApi { * @param base64Img 入参 * @return Map */ - Map findPerson(String base64Img); + HWResult findPerson(String base64Img); } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/domain/HWResult.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/domain/HWResult.java new file mode 100644 index 00000000..f4c27163 --- /dev/null +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/domain/HWResult.java @@ -0,0 +1,18 @@ +package org.dromara.sis.sdk.huawei.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author lsm + * @apiNote HWResult + * @since 2025/8/5 + */ +@Data +@AllArgsConstructor +public class HWResult { + + public Integer code; + + public String message; +} diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/service/HuaWeiBoxApiService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/service/HuaWeiBoxApiService.java index 06aef232..2613406b 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/service/HuaWeiBoxApiService.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/huawei/service/HuaWeiBoxApiService.java @@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.sis.sdk.huawei.HuaWeiBoxApi; import org.dromara.sis.sdk.huawei.domain.AddHWPersonReq; import org.dromara.sis.sdk.huawei.domain.FinaHWPersonReq; +import org.dromara.sis.sdk.huawei.domain.HWResult; import org.dromara.sis.sdk.huawei.utils.HuaWeiHttp; import org.springframework.stereotype.Service; @@ -88,7 +89,7 @@ public class HuaWeiBoxApiService implements HuaWeiBoxApi { * @return Long */ @Override - public Map findPerson(String base64Img) { + public HWResult findPerson(String base64Img) { String url = "/sdk_service/rest/facerepositories/peoples"; FinaHWPersonReq req = new FinaHWPersonReq(); @@ -99,42 +100,26 @@ public class HuaWeiBoxApiService implements HuaWeiBoxApi { String jsonReq = JSONUtil.toJsonStr(req); String jsonStrRes = huaWeiHttp.doPost(url, jsonReq); JSONObject jsonRes = JSONUtil.parseObj(jsonStrRes); - Map result = new HashMap<>(); if (jsonRes.getInt("resultCode") != 0) { - switch (jsonRes.getInt("resultCode")) { - case 912322041: - result.put("code", 912322041); - result.put("msg", "特征值提取失败"); - break; - case 912322022: - result.put("code", 912333003); - result.put("msg", "base64参数非法"); - break; - default: - result.put("code", jsonRes.getInt("resultCode")); - result.put("msg", jsonRes.getStr("resultMsg")); - break; - } - log.info("调用华为盒子人脸比对接口失败,code:{},msg:{}", jsonRes.getInt("resultCode"), jsonRes.getStr("resultMsg")); - return result; + return switch (jsonRes.getInt("resultCode")) { + case 912322041 -> new HWResult(912322041, "特征值提取失败"); + case 912333003 -> new HWResult(912333003, "base64参数非法"); + default -> new HWResult(jsonRes.getInt("resultCode"), jsonRes.getStr("resultMsg")); + }; } JSONArray jsonArr = jsonRes.getJSONArray("algorithmResults"); JSONObject obj = jsonArr.getJSONObject(0); if (Integer.parseInt(obj.getStr("number")) == 0) { - result.put("code", 201); - result.put("msg", "无匹配数据"); log.info("无人脸比对数据"); - return null; + return new HWResult(201, "无匹配数据"); } JSONArray peopleList = obj.getJSONArray("peopleList"); JSONObject people = peopleList.getJSONObject(0); - result.put("code", 200); - result.put("msg", Long.parseLong(people.getStr("peopleId"))); - return result; + return new HWResult(200, people.getStr("peopleId")); } }