This commit is contained in:
苏元皓
2024-09-01 16:56:35 +08:00
13 changed files with 97 additions and 68 deletions

View File

@@ -56,26 +56,6 @@
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId> <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency> </dependency>
<!--micrometer-tracing指标追踪 1-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing</artifactId>
</dependency>
<!--micrometer-tracing-bridge-brave适配zipkin的桥接包 2-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<!--micrometer-observation 3-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</dependency>
<!--zipkin-reporter-brave 5-->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.alibaba.csp</groupId> <groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId> <artifactId>sentinel-transport-simple-http</artifactId>

View File

@@ -3,9 +3,7 @@ package com.ivmiku.tutorial;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(exclude = { @SpringBootApplication
org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration.class
})
public class Main8133 { public class Main8133 {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(Main8133.class, args); SpringApplication.run(Main8133.class, args);

View File

@@ -1,16 +1,24 @@
server.port=8133 server.port=8133
spring.application.name=gateway spring.application.name=gateway
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.discovery.server-addr=nacos:8848
spring.data.redis.host=127.0.0.1 spring.data.redis.host=redis
spring.data.redis.port=6379 spring.data.redis.port=6379
spring.data.redis.database=0 spring.data.redis.database=0
#spring.data.redis.password=Shuodedaoli114514 spring.data.redis.password=Shuodedaoli114514
spring.cloud.gateway.routes[0].id=user spring.cloud.gateway.routes[0].id=user
spring.cloud.gateway.routes[0].uri=lb://user spring.cloud.gateway.routes[0].uri=lb://user
spring.cloud.gateway.routes[0].predicates[0]=Path=/user/** spring.cloud.gateway.routes[0].predicates[0]=Path=/user/**
spring.cloud.gateway.routes[0].filters[0]=StripPrefix=1
management.zipkin.tracing.endpoint=http://127.0.0.1:9411/api/v2/spans spring.cloud.gateway.routes[1].id=community
management.tracing.sampling.probability=1.0 spring.cloud.gateway.routes[1].uri=lb://community
spring.cloud.gateway.routes[1].predicates[0]=Path=/community/**
spring.cloud.gateway.routes[1].filters[0]=StripPrefix=1
spring.cloud.gateway.routes[2].id=navigate
spring.cloud.gateway.routes[2].uri=lb://navigate
spring.cloud.gateway.routes[2].predicates[0]=Path=/navigate/**
spring.cloud.gateway.routes[2].filters[0]=StripPrefix=1

Binary file not shown.

Binary file not shown.

View File

@@ -109,5 +109,31 @@
<artifactId>tencentcloud-sdk-java-asr</artifactId> <artifactId>tencentcloud-sdk-java-asr</artifactId>
<version>3.1.1083</version> <version>3.1.1083</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/ai.djl/api -->
<dependency>
<groupId>ai.djl</groupId>
<artifactId>api</artifactId>
<version>0.29.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/ai.djl.pytorch/pytorch-model-zoo -->
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-model-zoo</artifactId>
<version>0.29.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/ai.djl.pytorch/pytorch-engine -->
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-engine</artifactId>
<version>0.29.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/ai.djl.pytorch/pytorch-native-auto -->
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-native-auto</artifactId>
<version>1.9.1</version>
<scope>runtime</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -57,10 +57,29 @@ public class NavigateController {
} }
@PostMapping("/ticket") @PostMapping("/ticket")
public Object scanTicket(@RequestPart MultipartFile file) throws IOException { public Object scanTicket(@RequestPart MultipartFile file, @RequestParam String location) throws IOException {
BufferedImage image = ImageIO.read(file.getInputStream()); BufferedImage image = ImageIO.read(file.getInputStream());
Map<String, Object> map = navigateService.scanTicket(image); Map<String, Object> map = navigateService.scanTicket(image);
return Result.ok(map); Map<String, Object> result = new HashMap<>();
if (map.containsKey("登机口")) {
String address = navigateService.deGeoCode(location);
address += map.get("登机口");
address += "登机口";
result.put("地址", address);
} else if (map.containsKey("检票口")) {
if (map.containsKey("左边车站")) {
String address = (String) map.get("左边车站");
address += map.get("检票口");
address += "检票口";
result.put("地址", address);
} else {
String address = navigateService.deGeoCode(location);
address += map.get("检票口");
address += "检票口";
result.put("地址", address);
}
}
return Result.ok(result);
} }
@GetMapping("/geocode") @GetMapping("/geocode")

View File

@@ -64,7 +64,7 @@ public class NavigateService {
OcrClient client = new OcrClient(cred, "ap-shanghai", clientProfile); OcrClient client = new OcrClient(cred, "ap-shanghai", clientProfile);
SmartStructuralOCRV2Request req = new SmartStructuralOCRV2Request(); SmartStructuralOCRV2Request req = new SmartStructuralOCRV2Request();
req.setImageBase64(base64Img); req.setImageBase64(base64Img);
String[] itemNames1 = {"登机口", "检票口"}; String[] itemNames1 = {"登机口", "检票口", "左边车站", "右边车站"};
req.setItemNames(itemNames1); req.setItemNames(itemNames1);
resp = client.SmartStructuralOCRV2(req); resp = client.SmartStructuralOCRV2(req);
} catch (TencentCloudSDKException e) { } catch (TencentCloudSDKException e) {
@@ -106,4 +106,23 @@ public class NavigateService {
JSONObject location = array.getJSONObject(0); JSONObject location = array.getJSONObject(0);
return location.getString("location"); return location.getString("location");
} }
public String deGeoCode(String fomattedLoc) {
Map<String, Object> params = new HashMap<>();
params.put("key", key);
params.put("location", fomattedLoc);
params.put("poitype", "飞机场|火车站|地铁站");
HttpResponse response = HttpRequest.get("https://restapi.amap.com/v3/geocode/regeo")
.form(params)
.execute();
String result = response.body();
response.close();
JSONObject resultObj = JSONObject.parseObject(result);
if (resultObj.getInteger("status")==0) {
return null;
}
JSONObject reGeoCode = resultObj.getJSONObject("regeocode");
String address = reGeoCode.getString("formatted_address");
return address;
}
} }

View File

@@ -0,0 +1,10 @@
package com.ivmiku.tutorial.service;
import org.springframework.stereotype.Service;
@Service
public class RecogintionService {
static {
}
}

View File

@@ -14,6 +14,3 @@ spring.datasource.url=jdbc:mysql://mysql:4514/tutorial?useUnicode=true&character
spring.cloud.nacos.discovery.server-addr=nacos:8848 spring.cloud.nacos.discovery.server-addr=nacos:8848
spring.cloud.nacos.discovery.enabled=true spring.cloud.nacos.discovery.enabled=true
management.zipkin.tracing.endpoint=http://zipkin:9411/api/v2/spans
management.tracing.sampling.probability=1.0

View File

@@ -79,31 +79,6 @@
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId> <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency> </dependency>
<!--micrometer-tracing指标追踪 1-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing</artifactId>
</dependency>
<!--micrometer-tracing-bridge-brave适配zipkin的桥接包 2-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<!--micrometer-observation 3-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</dependency>
<!--zipkin-reporter-brave 5-->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-tracing-brave-zipkin-starter</artifactId>
<version>3.2.13</version>
</dependency>
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>

View File

@@ -4,9 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(exclude = { @SpringBootApplication
org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration.class
})
@MapperScan("com.ivmiku.tutorial.mapper") @MapperScan("com.ivmiku.tutorial.mapper")
public class Main8072 { public class Main8072 {
public static void main(String[] args) { public static void main(String[] args) {

View File

@@ -1,7 +1,7 @@
wx.miniapp.configs[0].appid=wx0d4fdb5c7bf3b12b wx.miniapp.configs[0].appid=wx0d4fdb5c7bf3b12b
wx.miniapp.configs[0].secret=989f155fcc3aee616568473faf1b1d3b wx.miniapp.configs[0].secret=989f155fcc3aee616568473faf1b1d3b
spring.data.redis.host=127.0.0.1 spring.data.redis.host=redis
spring.data.redis.port=6379 spring.data.redis.port=6379
spring.data.redis.database=0 spring.data.redis.database=0
@@ -12,10 +12,9 @@ server.port=8072
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root spring.datasource.username=root
spring.datasource.password=123456 spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tutorial?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai spring.datasource.url=jdbc:mysql://mysql:3306/tutorial?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.discovery.server-addr=nacos:8848
spring.cloud.nacos.discovery.enabled=true spring.cloud.nacos.discovery.enabled=true
management.zipkin.tracing.endpoint=http://127.0.0.1:9411/api/v2/spans
management.tracing.sampling.probability=1.0