liujie
2023-10-09 266fbc08e028cab1f276eeedc682f73215965833
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package com.dsh.guns.modular.system.controller.code;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.course.feignClient.account.AppUserClient;
import com.dsh.course.feignClient.account.FinanceClient;
import com.dsh.course.feignClient.account.VipPaymentClient;
import com.dsh.course.feignClient.account.model.CoachType;
import com.dsh.course.feignClient.account.model.TAppUser;
import com.dsh.course.feignClient.account.model.VipPayment;
import com.dsh.course.feignClient.competition.CompetitionClient;
import com.dsh.course.feignClient.competition.model.Competition;
import com.dsh.course.feignClient.competition.model.CompetitionQuery;
import com.dsh.course.feignClient.competition.model.PaymentCompetition;
import com.dsh.course.feignClient.course.CancelledClassesClient;
import com.dsh.course.feignClient.course.CoursePackagePaymentClient;
import com.dsh.course.feignClient.other.SiteClient;
import com.dsh.course.feignClient.other.StoreClient;
import com.dsh.course.feignClient.other.model.Site;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
import com.dsh.guns.modular.system.model.*;
import com.dsh.guns.modular.system.service.ICityService;
import com.dsh.guns.modular.system.service.IRegionService;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import com.google.maps.internal.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * 闸机数据统计控制器
 *
 */
@Controller
@RequestMapping("/gateData")
public class GateDataController extends BaseController {
 
    @Autowired
    private SiteClient siteClient;
    private String PREFIX = "/system/gateData/";
 
 
 
    /**
     * 跳转到充值记录页面
     */
    @RequestMapping("")
    public String index(Model model) {
        return PREFIX + "GateData.html";
    }
    /**
     * 获取教练类型列表
     */
    @RequestMapping("/list")
    @ResponseBody
    public Object list() {
        List<Site> list = siteClient.getList();
        try {
            for (Site site : list) {
                String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id=" + site.getId();
                URL url = new URL(apiUrl);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                // 发送请求并获取响应
                int responseCode = connection.getResponseCode();
                if (responseCode == HttpURLConnection.HTTP_OK) {
                    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                    String line;
                    StringBuilder response = new StringBuilder();
                    while ((line = reader.readLine()) != null) {
                        response.append(line);
                    }
                    reader.close();
                    // 处理响应数据
                    String data = response.toString();
                    // 使用Jackson库将JSON字符串转换为Java对象
                    ObjectMapper objectMapper = new ObjectMapper();
                    GateDataResponse res = objectMapper.readValue(data, GateDataResponse.class);
                    // 访问Java对象中的数据
                    int code = res.getCode();
                    String message = res.getMessage();
                    // 场地总入场人数
                    int totalNum = res.getData().getTotal_num();
                    List<GateDataResponse.Data.Region> regionNumList = res.getData().getRegion_num();
                    for (GateDataResponse.Data.Region regionNum : regionNumList) {
                        String name = regionNum.getName();
                        int enterNum = regionNum.getEnter_num();
                        System.out.println("Region: " + name + ", EnterNum: " + enterNum);
                    }
                    return regionNumList;
 
                } else {
                    System.out.println("请求失败: " + responseCode);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new ArrayList<>();
    }
}