suerprisePlus
2024-08-27 e9b4cda4c70a3e0185767dee8ac2e4e6f5049ac7
1.API名称:[显示地点] 接口添加
已添加24个文件
已修改7个文件
已删除1个文件
599 ■■■■ 文件已修改
.idea/compiler.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/jarRepositories.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/misc.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/ollama_ai.iml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/AiController.java 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/controller/XzController.java 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/helper/RsaHelper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/message/WebSocketServer.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yb/util/EntityHttpUtil.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/application.yml 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/OllamaAiApplication.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/config/R.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/WebSocketController.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/controller/XzController.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/entity/ReqEntity.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/entity/ResponseEntity.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/helper/RsaHelper.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/message/WebSocketServer.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/message/WebSocketStompConfig.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/message/WebsocketConfiguration.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/util/EntityHttpUtil.class 补丁 | 查看 | 原始文档 | blame | 历史
target/classes/com/yb/util/OkHttpUtil.class 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-archiver/pom.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
target/ollama-ai-0.0.1-SNAPSHOT.jar 补丁 | 查看 | 原始文档 | blame | 历史
target/ollama-ai-0.0.1-SNAPSHOT.jar.original 补丁 | 查看 | 原始文档 | blame | 历史
target/test-classes/com/yb/OllamaApiTest.class 补丁 | 查看 | 原始文档 | blame | 历史
.idea/compiler.xml
@@ -7,12 +7,13 @@
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="ollama-ai" />
        <module name="ollama_ai" />
      </profile>
    </annotationProcessing>
  </component>
  <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
      <module name="ollama-ai" options="-parameters" />
      <module name="ollama_ai" options="-parameters" />
    </option>
  </component>
</project>
.idea/jarRepositories.xml
@@ -4,7 +4,12 @@
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
      <option name="url" value="https://maven.aliyun.com/repository/public" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="https://repo.maven.apache.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
@@ -17,6 +22,16 @@
      <option name="url" value="https://repo.spring.io/snapshot" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="spring-snapshots" />
      <option name="name" value="Spring Snapshots" />
      <option name="url" value="https://maven.aliyun.com/repository/public" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="jboss.community" />
      <option name="name" value="JBoss Community repository" />
      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
.idea/misc.xml
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ExternalStorageConfigurationManager" enabled="true" />
  <component name="JavaScriptSettings">
    <option name="languageLevel" value="ES6" />
  </component>
  <component name="MavenProjectsManager">
    <option name="originalFiles">
      <list>
@@ -8,5 +11,5 @@
      </list>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" />
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" />
</project>
.idea/ollama_ai.iml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4" />
pom.xml
@@ -5,7 +5,7 @@
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.6</version>
        <version>2.6.13</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.yb</groupId>
@@ -15,7 +15,7 @@
    <description>ollama-ai</description>
    <packaging>jar</packaging>
    <properties>
        <java.version>17</java.version>
        <java.version>8</java.version>
        <spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
    </properties>
    <dependencies>
@@ -103,6 +103,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
src/main/java/com/yb/controller/AiController.java
ÎļþÒÑɾ³ý
src/main/java/com/yb/controller/XzController.java
@@ -1,57 +1,108 @@
package com.yb.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yb.config.R;
import com.yb.entity.ReqEntity;
import com.yb.helper.RsaHelper;
import com.yb.util.EntityHttpUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Tag(name="新智接口")
@Tag(name = "新智接口")
@RestController
@RequestMapping("/api/v1")
public class XzController {
    @Autowired
    WebSocketController webSocketController;
    @Autowired
    private EntityHttpUtil entityHttpUtil;
    @Value("${spring.geographical.canview}")
    String canview;
    @Value("${spring.geographical.entityName}")
    String entityName;
    @Value("${spring.geographical.dbid}")
    String dbid;
    @Value("${spring.geographical.layerId}")
    String layerId;
    @Value("${spring.geographical.queryEntity}")
    String queryEntity;
    @Value("${spring.geographical.publickey}")
    String publickey;
    @Value("${spring.geographical.token}")
    String token;
    private JSONObject jsonObject;
    @PostMapping("/poiMap")
    @Operation(summary = "显示地点")
    public R poiMap(@Parameter String place,@Parameter String mid){
        System.out.println("rec message:"+place+"  mid:"+mid);
        HashMap<String,Object> hash = new HashMap<>();
        hash.put("func","poiMap");
        hash.put("mid","mid");
    public R poiMap(@Parameter String place, @Parameter String mid) throws Exception {
        System.out.println("rec message:" + place + "  mid:" + mid);
        HashMap<String, Object> hash = new HashMap<>();
        hash.put("func", "poiMap");
        hash.put("mid", mid);
        ReqEntity reqEntity = new ReqEntity();
        reqEntity.setPlace(place);
        reqEntity.setX("120.9671");
        reqEntity.setY("13.5748");
        hash.put("poi",reqEntity);
        String message = JSON.toJSONString(hash);
        webSocketController.sendAllMessage(message);
        String query = "enti_name like '%" + place + "%'" + "";
        String key = getPublickey();
        String encrypt = RsaHelper.encrypt(key, query);
        HashMap formData = new HashMap<>();
        formData.put("token", token);
        formData.put("start", "1");
        formData.put("count", "0");
        formData.put("containCount", "true");
        formData.put("layerid", layerId);
        formData.put("dbid", dbid);
        formData.put("where", encrypt);
        String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData);
        JSONObject jsonObject = JSON.parseObject(jsonString);
        JSONObject dataObjject = jsonObject.getJSONObject("data");
        JSONArray dataArray = dataObjject.getJSONArray("items");
        JSONObject item = dataArray.getJSONObject(0);
        reqEntity.setX(item.getString("lon"));
        reqEntity.setY(item.getString("lat"));
        System.out.print(item);
        reqEntity.setPlace(item.getString("enti_name"));
        hash.put("poi", reqEntity);
        return R.ok(hash);
    }
    //获取秘钥接口
    public String getPublickey() {
        HashMap<String, String> map = new HashMap<>();
        map.put("token", token);
        String jsonString = entityHttpUtil.getPostMessage(publickey, map);
        JSONObject jsonObject = JSON.parseObject(jsonString);
        return jsonObject.getString("data");
    }
    @PostMapping("/aroundPoi")
    @Operation(summary = "周边查询")
    public R aroundPoi(@RequestBody ReqEntity reqEntity){
        System.out.println("rec message:"+reqEntity);
        HashMap<String,Object> hash = new HashMap<>();
        hash.put("func","aroundPoi");
        hash.put("mid","mid");
    public R aroundPoi(@RequestBody ReqEntity reqEntity) {
        System.out.println("rec message:" + reqEntity);
        HashMap<String, Object> hash = new HashMap<>();
        hash.put("func", "aroundPoi");
        hash.put("mid", "mid");
        List<ReqEntity> list = new ArrayList<>();
        reqEntity.setX("120.9671");
        reqEntity.setY("13.5748");
//        reqEntity.setX("120.9671");
//        reqEntity.setY("13.5748");
        list.add(reqEntity);
        list.add(reqEntity);
        hash.put("poi",list);
        hash.put("poi", list);
        String message = JSON.toJSONString(hash);
        webSocketController.sendAllMessage(message);
@@ -78,14 +129,14 @@
*/
    @PostMapping("/queryMeta")
    @Operation(summary = "元信息查询")
    public R queryMeta(@Parameter String mid){
    public R queryMeta(@Parameter String mid) {
        System.out.println("queryMeta ");
        HashMap<String,Object> hash = new HashMap<>();
        hash.put("func","queryMeta");
        hash.put("mid",mid);
        HashMap<String, Object> hash = new HashMap<>();
        hash.put("func", "queryMeta");
        hash.put("mid", mid);
        List<ReqEntity> list = new ArrayList<>();
        hash.put("meta",list);
        hash.put("meta", list);
        String message = JSON.toJSONString(hash);
        webSocketController.sendAllMessage(message);
src/main/java/com/yb/helper/RsaHelper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.yb.helper;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.security.KeyFactory;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.X509EncodedKeySpec;
public class RsaHelper {
//    RsA秘钥加密
public static String encrypt(String key ,String str) throws Exception {
    // Base64编码的公钥
    byte[] decoded = Base64.decodeBase64(key+ "");
    RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
    // RSA加密:RSA/ECB/NoPadding
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.ENCRYPT_MODE, pubKey);
    String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8")));
    return outStr;
}
}
src/main/java/com/yb/message/WebSocketServer.java
@@ -1,8 +1,6 @@
package com.yb.message;
import jakarta.annotation.PostConstruct;
import jakarta.websocket.*;
import jakarta.websocket.server.ServerEndpoint;
import org.springframework.stereotype.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.*;
@@ -11,6 +9,10 @@
import java.util.*;
import org.slf4j.*;
import javax.annotation.PostConstruct;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/ws/asset")
@Component
public class WebSocketServer
src/main/java/com/yb/util/EntityHttpUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.yb.util;
import com.alibaba.fastjson.JSON;
import okhttp3.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
@Component
@RestController
public class EntityHttpUtil {
    @Value("${spring.geographical.token}")
    String token ;
    @Value("${spring.geographical.url}")
    String url ;
    public  String getMessage(String aurl){
        try{
            String axiosUrl =  url+aurl;
            OkHttpClient client = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS)
                    .readTimeout(5, TimeUnit.SECONDS)
                    .writeTimeout(5, TimeUnit.SECONDS)
                    .build();
            Request request = new Request.Builder()
                    .addHeader("Token",token)
                    .url(axiosUrl)
                    .build();
            Response response = client.newCall(request).execute();
            return response.body().string();
        }catch (IOException e){
            System.out.println(e.getMessage());
        }
        return  null;
    }
    public String getPostMessage(String aurl, HashMap<String,String> parms){
        try{
            String axiosUrl = url+aurl;
            FormBody.Builder builder= new FormBody.Builder();
            for(String key:parms.keySet()){
                builder.add(key,parms.get(key));
            }
            RequestBody requestBody =  builder.build();
            OkHttpClient client = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS)
                    .readTimeout(5, TimeUnit.SECONDS)
                    .writeTimeout(5, TimeUnit.SECONDS)
                    .build();
            Request request = new Request.Builder()
                    .addHeader("Token",token)
                    .url(axiosUrl)
                    .post(requestBody)
                    .build();
            Response response = client.newCall(request).execute();
            return response.body().string();
        }catch (IOException e){
            System.out.println(e.getMessage());
        }
        return  null;
    }
}
src/main/resources/application.yml
@@ -19,6 +19,30 @@
    kc: http://192.168.11.28/api/core/dataset/create
    kl: http://192.168.11.28/api/core/dataset/list
    kd: http://192.168.11.28/api/core/dataset/detail
#  åœ°ç†å®žä½“库
  geographical:
#    Token地址
    token: 9ce350f238ba44fda10ddfe8b80f8967
#    è¯·æ±‚地址
    url: http://106.120.22.26:8013/geo-service/
#    èŽ·å–å®žä½“åº“åˆ—è¡¨
    canview: /entitydb/list/canview
#    æŸ¥è¯¢å›¾å±‚数据(或数量)
    queryEntity: /entitydbdata/query/entity
#    èŽ·å–key唯一标识
    publickey: /setting/publickey
#   å®žä½“库名称
    entityName: å¤§æ¨¡åž‹æµ‹è¯•库
#    å®žä½“库dbid
    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
#    å®žä½“库dbid
    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
#    apikey: fastgpt-hTO28RRPbu8nvPk7mp4jYHHLWfoKfgtATtkOqy1WyoRq30qR7WPtac
#    url: http://192.168.11.104:13000/api/v1/chat/completions
#    kc: http://192.168.11.104:13000/api/core/dataset/create
target/classes/application.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
server:
  port: 7777               # æœåŠ¡å™¨çš„HTTP端口,默认为8080
  servlet:
    context-path: /
spring:
  application:
    name: ollama-ai
  ai:
    ollama:
      base-url: http://127.0.0.1:11434
      chat:
#        model: yi:9b-chat-v1.5-q4_0
        model: qwen2:1.5b
  intent: http://106.120.22.26:5368/intention?message
  fastgpt:
    appid:  6673bfa1d14da0cede023f28
    apikey: fastgpt-eNuz6Rsc5EMrYMiODBQbBXCbGwQYp9nSpYPE06vBBt3nitnFLdHSoQ0BAmNHDyB
    url: http://192.168.11.28/api/v1/chat/completions
    kc: http://192.168.11.28/api/core/dataset/create
    kl: http://192.168.11.28/api/core/dataset/list
    kd: http://192.168.11.28/api/core/dataset/detail
#  åœ°ç†å®žä½“库
  geographical:
#    Token地址
    token: 9ce350f238ba44fda10ddfe8b80f8967
#    è¯·æ±‚地址
    url: http://106.120.22.26:8013/geo-service/
#    èŽ·å–å®žä½“åº“åˆ—è¡¨
    canview: /entitydb/list/canview
#    æŸ¥è¯¢å›¾å±‚数据(或数量)
    queryEntity: /entitydbdata/query/entity
#    èŽ·å–key唯一标识
    publickey: /setting/publickey
#   å®žä½“库名称
    entityName: å¤§æ¨¡åž‹æµ‹è¯•库
#    å®žä½“库dbid
    dbid: 3dce04bbab1540b5ae3d147e8503ab9d
#    å®žä½“库dbid
    layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9
#    apikey: fastgpt-hTO28RRPbu8nvPk7mp4jYHHLWfoKfgtATtkOqy1WyoRq30qR7WPtac
#    url: http://192.168.11.104:13000/api/v1/chat/completions
#    kc: http://192.168.11.104:13000/api/core/dataset/create
#    kl: http://192.168.11.104:13000/api/core/dataset/list
#    kd: http://192.168.11.104:13000/api/core/dataset/detail
target/classes/com/yb/OllamaAiApplication.class
Binary files differ
target/classes/com/yb/config/R.class
Binary files differ
target/classes/com/yb/controller/WebSocketController.class
Binary files differ
target/classes/com/yb/controller/XzController.class
Binary files differ
target/classes/com/yb/entity/ReqEntity.class
Binary files differ
target/classes/com/yb/entity/ResponseEntity.class
Binary files differ
target/classes/com/yb/helper/RsaHelper.class
Binary files differ
target/classes/com/yb/message/WebSocketServer.class
Binary files differ
target/classes/com/yb/message/WebSocketStompConfig.class
Binary files differ
target/classes/com/yb/message/WebsocketConfiguration.class
Binary files differ
target/classes/com/yb/util/EntityHttpUtil.class
Binary files differ
target/classes/com/yb/util/OkHttpUtil.class
Binary files differ
target/maven-archiver/pom.properties
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
artifactId=ollama-ai
groupId=com.yb
version=0.0.1-SNAPSHOT
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
com\yb\controller\WebSocketController.class
com\yb\message\WebsocketConfiguration.class
com\yb\util\EntityHttpUtil.class
com\yb\OllamaAiApplication.class
com\yb\entity\ResponseEntity.class
com\yb\entity\ReqEntity.class
com\yb\helper\RsaHelper.class
com\yb\util\OkHttpUtil.class
com\yb\message\WebSocketServer.class
com\yb\config\R.class
com\yb\controller\XzController.class
com\yb\message\WebSocketStompConfig.class
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\ReqEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\WebSocketController.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\util\EntityHttpUtil.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\message\WebSocketStompConfig.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\OllamaAiApplication.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\util\OkHttpUtil.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\controller\XzController.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\helper\RsaHelper.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\message\WebSocketServer.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\config\R.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\entity\ResponseEntity.java
E:\project\AI大模型\新智对接\ollama_ai\src\main\java\com\yb\message\WebsocketConfiguration.java
target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
com\yb\OllamaApiTest.class
target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
E:\project\AI大模型\新智对接\ollama_ai\src\test\java\com\yb\OllamaApiTest.java
target/ollama-ai-0.0.1-SNAPSHOT.jar
Binary files differ
target/ollama-ai-0.0.1-SNAPSHOT.jar.original
Binary files differ
target/test-classes/com/yb/OllamaApiTest.class
Binary files differ