yfh 2 settimane fa
parent
commit
7604fb6407

+ 14 - 3
fs-service/src/main/java/com/fs/aiTongueApi/service/impl/AiTongueServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fs.aiTongueApi.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.fs.aiTongueApi.config.AiTongueConfig;
 import com.fs.aiTongueApi.domain.AITongueResult;
@@ -12,6 +13,8 @@ import com.fs.aiTongueApi.service.AiTongueService;
 import com.fs.common.utils.uuid.UUID;
 import com.fs.his.domain.FsHealthTongue;
 import com.fs.his.service.IFsHealthTongueService;
+import com.fs.system.domain.SysConfig;
+import com.fs.system.mapper.SysConfigMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.hc.core5.net.URIBuilder;
 import org.apache.http.HttpEntity;
@@ -43,10 +46,12 @@ public class AiTongueServiceImpl implements AiTongueService {
 
     @Autowired
     private IFsHealthTongueService tongueService;
+    @Autowired
+    private SysConfigMapper sysConfigMapper;
 
     @Override
     public AITongueResult<TongueData> getHistoryTongue(QueryAiTongue queryAiTongue) {
-        queryAiTongue.setAppkey(AiTongueConfig.appKey);
+        queryAiTongue.setAppkey(getAppKey());
         String result = sendPost(AiTongueConfig.getFaceHistoryByIDUrl, queryAiTongue);
         System.out.println(result);
         AITongueResult<TongueData> aiTongueResult = JSON.parseObject(result, new TypeReference<AITongueResult<TongueData>>(){});
@@ -65,7 +70,7 @@ public class AiTongueServiceImpl implements AiTongueService {
             // 添加文件或表单参数
             builder.addBinaryBody("file", inputStream, ContentType.DEFAULT_BINARY, "图片.jpg");
 
-            builder.addTextBody("appkey", AiTongueConfig.appKey);
+            builder.addTextBody("appkey", getAppKey());
             HttpEntity multipart = builder.build();
             httpPost.setEntity(multipart);
             // 执行请求
@@ -81,6 +86,12 @@ public class AiTongueServiceImpl implements AiTongueService {
         return aiTongueResult;
     }
 
+    private String getAppKey() {
+        SysConfig config = sysConfigMapper.selectConfigByConfigKey("his.config");
+        JSONObject json = JSON.parseObject(config.getConfigValue());
+        return json.getString("tongueAppKey");
+    }
+
     @Override
     public AITongueResult<TongueData> quanXiTongue(QueryQuanXi queryQuanXi) {
         String s="";
@@ -95,7 +106,7 @@ public class AiTongueServiceImpl implements AiTongueService {
 
             builder.addTextBody("age", queryQuanXi.getAge(), ContentType.create("text/plain", Charset.forName("UTF-8")));
             builder.addTextBody("male", queryQuanXi.getMale(), ContentType.create("text/plain", Charset.forName("UTF-8")));
-            builder.addTextBody("appkey", AiTongueConfig.appKey);
+            builder.addTextBody("appkey", getAppKey());
             if (queryQuanXi.getIsYuejin()!=null){
                 builder.addTextBody("isYuejin", queryQuanXi.getIsYuejin(), ContentType.create("text/plain", Charset.forName("UTF-8")));
             }

+ 7 - 0
fs-service/src/main/java/com/fs/his/service/IFsHealthTongueService.java

@@ -74,6 +74,13 @@ public interface IFsHealthTongueService
 
     R insertFsHealthTongueByImgUrl(FsHealthTongueUParam param);
 
+    /**
+     * 爱看舌-旧版的舌诊功能
+     * @param param
+     * @return
+     */
+    R insertFsHealthTongueByImgUrlOld(FsHealthTongueUParam param);
+
     FsHealthTongueUVO selectFsHealthTongueByUserId(long userId);
 
     List<FsHealthTongueListVO> selectFsHealthTongueListVO(FsHealthTongueParam param);

+ 66 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsHealthTongueServiceImpl.java

@@ -186,6 +186,72 @@ public class FsHealthTongueServiceImpl implements IFsHealthTongueService
         }
     }
 
+    @Override
+    public R insertFsHealthTongueByImgUrlOld(FsHealthTongueUParam param) {
+
+        QueryQuanXi queryQuanXi = new QueryQuanXi();
+        if (param.getName()!=null&&!param.getName().equals("")) {
+            queryQuanXi.setName(param.getName());
+        } else {
+            queryQuanXi.setName("匿名");
+        }
+        if (param.getAge()!=null) {
+            queryQuanXi.setAge(param.getAge()+"");
+        } else {
+            queryQuanXi.setAge("55");
+        }
+
+        queryQuanXi.setFile(param.getTongueUrl());
+        if (param.getSex()!=null) {
+            queryQuanXi.setMale(param.getSex()==1?"1":"0");
+        } else {
+            queryQuanXi.setMale("0");
+        }
+
+        AITongueResult<TongueData> tongueDataAITongueResult = aiTongueService.quanXiTongue(queryQuanXi);
+
+        if (tongueDataAITongueResult.getCode().equals("40001")) {
+            FsHealthTongue fsHealthTongue = new FsHealthTongue();
+            fsHealthTongue.setAge(param.getAge());
+            fsHealthTongue.setPatientId(param.getPatientId());
+            fsHealthTongue.setName(param.getName());
+            fsHealthTongue.setSex(param.getSex());
+            fsHealthTongue.setStatus(0);
+            fsHealthTongue.setUserId(param.getUserId());
+            fsHealthTongue.setTongueUrl(param.getTongueUrl());
+            TongueData data = tongueDataAITongueResult.getData();
+            fsHealthTongue.setTongueId(data.getId());
+            fsHealthTongue.setCreateTime(new Date());
+            fsHealthTongue.setTypeName(data.getTypeName()+"质");
+
+            fsHealthTongue.setBotai(data.getBotai());
+            fsHealthTongue.setBotaiDesc(data.getBotaiDesc());
+            fsHealthTongue.setChihen(data.getChihen());
+            fsHealthTongue.setChihenDesc(data.getChihenDesc());
+            fsHealthTongue.setLiewen(data.getLiewen());
+            fsHealthTongue.setLiewenDesc(data.getLiewenDesc());
+            fsHealthTongue.setShemianName(data.getShemianName());
+            fsHealthTongue.setShemianDesc(data.getShemianDesc());
+            fsHealthTongue.setTaiseName(data.getTaiseName());
+            fsHealthTongue.setTaiseDesc(data.getTaiseDesc());
+            String json =fsHealthTongueMapper.selectTypeJSON();
+            String typeName = fsHealthTongue.getTypeName();
+            String itemTypeJSonValue="[]";
+            List<Map<String, Object>> itemTypeJsonList = (List<Map<String, Object>>) JSON.parse(json);
+            for (Map<String, Object> stringStringMap : itemTypeJsonList) {
+                String itemType = (String) stringStringMap.get("itemType");
+                if (itemType.equals(typeName)){
+                    itemTypeJSonValue= Json.encode(stringStringMap.get("item"));
+                }
+            }
+            fsHealthTongue.setTypeJson(itemTypeJSonValue);
+            fsHealthTongueMapper.insertFsHealthTongue(fsHealthTongue);
+            return R.ok().put("data",fsHealthTongue);
+        } else {
+            return R.error(tongueDataAITongueResult.getMeta().getMsg());
+        }
+    }
+
     @Override
     public FsHealthTongueUVO selectFsHealthTongueByUserId(long userId) {
         return fsHealthTongueMapper.selectFsHealthTongueByUserId(userId);

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/HealthTongueController.java

@@ -152,6 +152,6 @@ public class HealthTongueController extends AppBaseController
 //            }
 //        }
         param.setUserId(Long.parseLong(getUserId()));
-        return fsHealthTongueService.insertFsHealthTongueByImgUrl(param);
+        return fsHealthTongueService.insertFsHealthTongueByImgUrlOld(param);
     }
 }