| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package com.template.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.fasterxml.jackson.databind.JsonNode;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.template.annotation.PassToken;
- import com.template.api.BookingControllerAPI;
- import com.template.api.ToiletBaseControllerAPI;
- import com.template.mapper.BookingMapper;
- import com.template.mapper.ToiletBaseMapper;
- import com.template.model.result.CommonResult;
- import org.apache.http.client.config.RequestConfig;
- import org.apache.http.client.methods.CloseableHttpResponse;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.client.methods.HttpRequestBase;
- import org.apache.http.impl.client.CloseableHttpClient;
- import org.apache.http.impl.client.HttpClientBuilder;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.client.RestTemplate;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2023-03-30
- */
- @RestController
- public class ToiletBaseController implements ToiletBaseControllerAPI {
- @Value("${diseaseRightUrl}")
- String url;
- @Autowired
- private ToiletBaseMapper toiletBaseMapper;
- @Override
- @PassToken
- public CommonResult getToiletBaseCount() {
- List<Map<String, String>> toiletBaseCount = toiletBaseMapper.getToiletBaseCount();
- if (toiletBaseCount.isEmpty()){
- return CommonResult.ok(toiletBaseCount);
- }
- return CommonResult.ok(toiletBaseCount);
- }
- @Override
- @PassToken
- public CommonResult getToiletBaseInfo() {
- List<Map<String, String>> toiletBaseInfo = toiletBaseMapper.getToiletBaseInfo();
- if (toiletBaseInfo.isEmpty()){
- return CommonResult.ok(toiletBaseInfo);
- }
- return CommonResult.ok(toiletBaseInfo);
- }
- @Override
- @PassToken
- public CommonResult getToiletRealTime() {
- RestTemplate client = new RestTemplate();
- List<Map<String, String>> toiletBaseInfo = toiletBaseMapper.getToiletBaseInfo();
- int ToiletCount=toiletBaseInfo.size();
- int intoNum=0;
- if(!toiletBaseInfo.isEmpty()){
- for (Map<String, String> infoMap:toiletBaseInfo) {
- String id=String.valueOf(infoMap.get("id"));
- ResponseEntity<String> responseEntity = client.getForEntity(url+id, String.class);
- String body = responseEntity.getBody();
- if (!responseEntity.getStatusCode().is2xxSuccessful()) {
- continue;
- }
- if ("false".equals(JSONObject.parseObject(body).getString("success"))) {
- return CommonResult.fail("请求实时数据异常:"+JSONObject.parseObject(body).getString("message"));
- }
- JSONObject jsonObject=JSONObject.parseObject(body).getJSONObject("data");
- //入流量
- int dataOfMan=jsonObject.getJSONObject("dataOfMan").getInteger("intoNum");
- int dataOfWoman=jsonObject.getJSONObject("dataOfWoman").getInteger("intoNum");
- int dataOfThird=jsonObject.getJSONObject("dataOfThird").getInteger("intoNum");
- intoNum=intoNum+dataOfMan+dataOfWoman+dataOfThird;
- }
- }
- Map<String, Object> resultMap=new HashMap<>();
- resultMap.put("ToiletCount",ToiletCount);
- Long intoNumTotal= toiletBaseMapper.getToiletBaseInfoHis();
- resultMap.put("intoNumTotal",intoNumTotal);
- resultMap.put("intoNum",intoNum);
- return CommonResult.ok(resultMap);
- }
- @Override
- @PassToken
- public CommonResult getToiletRealTimeById(String toiletId) {
- if("".equals(toiletId)){
- return CommonResult.fail("请求厕所实时数据toiletId不能为空");
- }
- RestTemplate client = new RestTemplate();
- ResponseEntity<String> responseEntity = client.getForEntity(url+toiletId, String.class);
- String body = responseEntity.getBody();
- if (!responseEntity.getStatusCode().is2xxSuccessful()) {
- return CommonResult.fail("请求厕所实时数据异常");
- }
- if ("false".equals(JSONObject.parseObject(body).getString("success"))) {
- return CommonResult.fail("请求实时数据异常:"+JSONObject.parseObject(body).getString("message"));
- }
- JSONObject jsonObject=JSONObject.parseObject(body).getJSONObject("data");
- return CommonResult.ok(jsonObject);
- }
- }
|