13693261870
2024-09-12 41a12f703f20dcd1eb88602cd0f49837968051b6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.se.simu.service;
 
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
 
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
 
/**
 * SDDB服务类
 *
 * @author WWW
 * @date   2024-09-12
 */
@Slf4j
@Service
public class SedbService {
    @Value("${sedb.host}")
    String host;
 
    @Value("${sedb.user}")
    String user;
 
    @Value("${sedb.pwd}")
    String pwd;
 
    @Resource
    RestTemplate restTemplate;
 
    public String test() {
        String token = getToken();
        String dbid = getDbId(token);
 
        System.out.println(dbid);
 
        return dbid;
    }
 
    public String getPublicKey() {
        //{"datetime":"2024-09-12 17:24:38","code":200,"data":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtFwJCh2taVTEi05C8qT2oG7Y+rDmJhlO4zicpSeRtiro9LsytePeWI7BXM6sfDU0WeKun1izawcfgGkZgnoJuMBluAOKI1tL0uCrR+DreNLqMVtnXHwoWEIk/hGJedDWaf3q22aGDyEB5h9qCq0JklSShP1Ih4ppap4LmgxdTPQIDAQAB"}
        JSONObject obj = restTemplate.getForObject(host + "account-service/security/publickey", JSONObject.class);
 
        return obj.getStr("data");
    }
 
    public String getToken() {
        String key = getPublicKey();
 
        Map<String, Object> map = new HashMap<>(2);
        map.put("userid", user);
        map.put("password", pwd);
 
        JSONObject obj = restTemplate.postForObject(host + "account-service/security/login", map, JSONObject.class);
 
        JSONObject data = obj.getJSONObject("data");
 
        return data.getStr("token");
    }
 
    public String getDbId(String token) {
        Map<String, Object> map = new HashMap<>(1);
        map.put("token", token);
 
        JSONObject obj = restTemplate.postForObject(host + "geo-service/entitydb/list/canview", map, JSONObject.class);
 
        JSONArray arr = obj.getJSONArray("data");
        if (null == arr || arr.size() == 0) {
            return null;
        }
 
        JSONObject dbObj = arr.getJSONObject(0);
 
        return dbObj.getStr("dbid");
    }
}