puzhibing
2023-12-08 f88cfa02e36752e4acad7adc4b045155e8e50f21
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.ISiteBookingService;
import com.dsh.guns.modular.system.service.IStoreService;
import com.dsh.guns.modular.system.service.ITSiteService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
@@ -26,6 +29,8 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
@@ -45,32 +50,172 @@
    private IStoreService storeService;
    @Autowired
    private ISiteBookingService siteBookingService;
    @RequestMapping("/listAll")
    @ResponseBody
    public Object list(String spaceId,String type,String date,String cityCode){
        if(spaceId==null){
            spaceId="";
        }
        if(type==null){
            type="y";
        }
        if(date==null){
            date="";
        }
        if(cityCode==null){
            cityCode="";
        }
    String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/cityGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
        URL url1 = null;
        try {
            url1 = new URL(apiUrl1);
            HttpURLConnection connection1 = (HttpURLConnection) url1.openConnection();
            connection1.setRequestMethod("GET");
            // 发送请求并获取响应
            int responseCode1 = connection1.getResponseCode();
            if (responseCode1 == HttpURLConnection.HTTP_OK) {
                BufferedReader reader1 = new BufferedReader(new InputStreamReader(connection1.getInputStream()));
                String line1;
                StringBuilder response1 = new StringBuilder();
                while ((line1 = reader1.readLine()) != null) {
                    response1.append(line1);
                }
                reader1.close();
                // 处理响应数据
                String data1 = response1.toString();
                // 使用Jackson库将JSON字符串转换为Java对象
                ObjectMapper objectMapper1 = new ObjectMapper();
                CityGameOne res1 = objectMapper1.readValue(data1, CityGameOne.class);
                List<CityGameDataOne> data2 = res1.getData();
                return data2;
        }
    } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new ArrayList<>();
    }
    @RequestMapping("/listAll1")
    @ResponseBody
    public Object listAll1(String spaceId,String type,String date,String cityCode){
        if(spaceId==null){
            spaceId="";
        }
        if(type==null){
            type="y";
        }
        if(date==null){
            date="";
        }
        if(cityCode==null){
            cityCode="";
        }
//        String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id=1001"+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
        String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode;
        URL url1 = null;
        try {
            url1 = new URL(apiUrl1);
            HttpURLConnection connection1 = (HttpURLConnection) url1.openConnection();
            connection1.setRequestMethod("GET");
            // 发送请求并获取响应
            int responseCode1 = connection1.getResponseCode();
            if (responseCode1 == HttpURLConnection.HTTP_OK) {
                BufferedReader reader1 = new BufferedReader(new InputStreamReader(connection1.getInputStream()));
                String line1;
                StringBuilder response1 = new StringBuilder();
                while ((line1 = reader1.readLine()) != null) {
                    response1.append(line1);
                }
                reader1.close();
                // 处理响应数据
                String data1 = response1.toString();
                // 使用Jackson库将JSON字符串转换为Java对象
                ObjectMapper objectMapper1 = new ObjectMapper();
                AccuracyGameOne res1 = objectMapper1.readValue(data1, AccuracyGameOne.class);
                List<AccuracyGameDataOne> data2 = res1.getData();
                return data2;
            }
        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new ArrayList<>();
    }
    /**
     * 跳转到充值记录页面
     * 跳转到智慧球场数据统计页面
     */
    @RequestMapping("")
    public String index(Model model) {
        try {
            // 年度数据
            // 创建 HttpClient 实例
            HttpClient httpClient = HttpClients.createDefault();
            // 创建 POST 请求
            HttpPost httpPost = new HttpPost("https://try.daowepark.com/v7/user_api/general/gameList");
            // 设置请求体数据
            String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id=1001&sutu_id=1001";
            StringEntity entity = new StringEntity(postData, ContentType.APPLICATION_FORM_URLENCODED);
            httpPost.setEntity(entity);
            // 执行请求
            HttpResponse response = httpClient.execute(httpPost);
            // 处理响应
            HttpEntity responseEntity = response.getEntity();
            if (responseEntity != null) {
                String responseData = EntityUtils.toString(responseEntity);
                ObjectMapper objectMapper = new ObjectMapper();
                GameList res = objectMapper.readValue(responseData, GameList.class);
                List<GameListData> list = res.getData();
                model.addAttribute("games",list);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        List<String> strings = new ArrayList<>();
        List<TSite> list = siteService.list(new QueryWrapper<TSite>());
        List<TSite> result = new ArrayList<>();
        for (TSite tSite : list) {
            if (!strings.contains(tSite.getCity())){
            if (!strings.contains(tSite.getCity())) {
                strings.add(tSite.getCity());
                result.add(tSite);
            }
        }
        List<TStore> stores = storeService.list(new QueryWrapper<TStore>());
        model.addAttribute("list",result);
        model.addAttribute("stores",stores);
        model.addAttribute("sites",list);
        model.addAttribute("stores", stores);
        model.addAttribute("list", result);
        model.addAttribute("sites", list);
        if(UserExt.getUser().getObjectType() == 2){
            List<TStore> operatorId = storeService.list(new QueryWrapper<TStore>()
                    .eq("operatorId", UserExt.getUser().getObjectId()));
            model.addAttribute("stores", operatorId);
            List<TSite> sites = siteService.list(new QueryWrapper<TSite>()
                    .eq("operatorId", UserExt.getUser().getObjectId()));
            model.addAttribute("sites", sites);
        }
        return PREFIX + "GameData.html";
    }
    /**
     * 获取激战球场统计
     */
    @RequestMapping("/list")
    @ResponseBody
    public Object list(Integer storeId) {
    public Object list(String range,String storeId) {
        Map<String, Object> result = new HashMap<>();
        try {
            // 年度数据
@@ -79,7 +224,7 @@
            // 创建 POST 请求
            HttpPost httpPost = new HttpPost("https://try.daowepark.com/v7/user_api/general/getBatterData");
            // 设置请求体数据
            String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id=1001&date_type=y";
            String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id="+storeId+"&date_type="+range+"&year=";
            StringEntity entity = new StringEntity(postData, ContentType.APPLICATION_FORM_URLENCODED);
            httpPost.setEntity(entity);
@@ -91,51 +236,25 @@
                String responseData = EntityUtils.toString(responseEntity);
                ObjectMapper objectMapper = new ObjectMapper();
                Batter batter = objectMapper.readValue(responseData, Batter.class);
                result.put("totalNumber",batter.getData().getAll_batter_num());
                result.put("totalTime",batter.getData().getAll_batter_time());
                result.put("totalNumber", batter.getData().getAll_batter_num());
                result.put("totalTime", batter.getData().getAll_batter_time());
                List<BatterData> dataList = batter.getData().getList();
                // 年份
                List<String> yearList = new ArrayList<>();
                for (BatterData data : dataList) {
                    yearList.add(data.getDate());
                }
                result.put("yearList",yearList);
                result.put("yearList", yearList);
                // 年度数据
                result.put("yDataList",dataList);
                result.put("yDataList", dataList);
            }
            // 获取月度数据 (今年的十二个月数据)
            Calendar calendar = Calendar.getInstance();
            // 当前年份
            int year = calendar.get(Calendar.YEAR);
            // 月度数据
            // 创建 HttpClient 实例
            HttpClient httpClient1 = HttpClients.createDefault();
            // 创建 POST 请求
            HttpPost httpPost1 = new HttpPost("https://try.daowepark.com/v7/user_api/general/getBatterData");
            // 设置请求体数据
            String postData1 = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id=1001&date_type=m&year=2022";
            StringEntity entity1 = new StringEntity(postData1, ContentType.APPLICATION_FORM_URLENCODED);
            httpPost1.setEntity(entity1);
            // 执行请求
            HttpResponse response1 = httpClient1.execute(httpPost1);
            // 处理响应
            HttpEntity responseEntity1 = response1.getEntity();
            if (responseEntity1 != null) {
                String responseData = EntityUtils.toString(responseEntity1);
                ObjectMapper objectMapper = new ObjectMapper();
                Batter batter = objectMapper.readValue(responseData, Batter.class);
                result.put("totalNumber",batter.getData().getAll_batter_num());
                result.put("totalTime",batter.getData().getAll_batter_time());
                List<BatterData> dataList = batter.getData().getList();
                // 月度数据
                result.put("mDataList",dataList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    /**
     * 获取SUTU智慧球门统计
     */
@@ -170,8 +289,8 @@
                for (SUTUData sutuData : list) {
                    games.add(sutuData.getGame_name());
                }
                result.put("data1",list);
                result.put("games",games);
                result.put("data1", list);
                result.put("games", games);
                return result;
            } else {
                System.out.println("请求失败: " + responseCode);
@@ -181,15 +300,16 @@
        }
        return result;
    }
    /**
     * 获取SUTU智慧球门统计
     */
    @RequestMapping("/listSUTU1")
    @ResponseBody
    public Object listSUTU1() {
    public Object listSUTU1(String range,String gameId, String time, String spaceId, String cityCode) {
        Map<String, Object> result = new HashMap<>();
        try {
            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getSingleGameData?game_id=1&date_type=d&date=2021-02";
            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getSingleGameData?game_id=" + gameId + "&date_type=" + range + "&date=" + time + "&space_id=" + spaceId + "&city_code=" + cityCode;
            URL url = new URL(apiUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
@@ -207,31 +327,102 @@
                String data = response.toString();
                // 使用Jackson库将JSON字符串转换为Java对象
                ObjectMapper objectMapper = new ObjectMapper();
                SUTU res = objectMapper.readValue(data, SUTU.class);
                SUTUOne res = objectMapper.readValue(data, SUTUOne.class);
                // 场地总入场人数
                String totalNum = res.getData().getTotal_num();
                List<SUTUData> list = res.getData().getList();
                List<String> games = new ArrayList<>();
                for (SUTUData sutuData : list) {
                    games.add(sutuData.getGame_name());
                List<SUTUDataOne> list = res.getData().getList();
                List<String> years = new ArrayList<>();
                for (SUTUDataOne sutuDataOne : list) {
                    years.add(sutuDataOne.getDate());
                }
                result.put("data1",list);
                result.put("games",games);
                return result;
            } else {
                System.out.println("请求失败: " + responseCode);
                result.put("data1", list);
                result.put("years", years);
            }
            return result;
        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }
    /**
     * 获取90°准度赛全球总数
     */
    @RequestMapping("/cityGameOne")
    @ResponseBody
    public Object cityGameOne() {
        Map<String, Object> result = new HashMap<>();
        try {
            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getAccuracyGameCount?space_id=";
            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();
                CityGame res = objectMapper.readValue(data, CityGame.class);
                result.put("totalNum", res.getData().getTotal_num());
                    return result;
                }
            }
         catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }
    /**
     * 获取跨城赛统计全球总数
     */
    @RequestMapping("/cityGame")
    @ResponseBody
    public Object cityGame() {
        Map<String, Object> result = new HashMap<>();
        try {
            String apiUrl = "https://try.daowepark.com/v7/user_api/general/getCityGameCount";
            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();
                CityGame res = objectMapper.readValue(data, CityGame.class);
                result.put("totalNum", res.getData().getTotal_num());
                return result;
            }
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }
}