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.dsh.guns.modular.system.service.TOperatorService; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; import com.google.maps.internal.ApiResponse; import groovyjarjarpicocli.CommandLine; 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/"; @Autowired private TOperatorService operatorService; /** * 跳转到充值记录页面 */ @RequestMapping("") public String index(Model model) { List list = operatorService.list(new QueryWrapper().ne("state", 3)); model.addAttribute("list",list); return PREFIX + "GateData.html"; } /** * 获取闸机数据列表 */ @RequestMapping("/list") @ResponseBody public Object list(Integer storeId) { try { if (storeId!=null){ String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id="+storeId; 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 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<>(); } /** * 获取教练类型列表 */ @RequestMapping("/totalNum") @ResponseBody public Object totalNum(Integer storeId) { try { String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id="+storeId; 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(); return totalNum; } else { System.out.println("请求失败: " + responseCode); } } catch (IOException e) { e.printStackTrace(); } return new ArrayList<>(); } }