|
@@ -1,14 +1,20 @@
|
|
|
package com.sky.ioc.service.personnel.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.sky.ioc.config.RestTemplateConfig;
|
|
|
import com.sky.ioc.entity.Indeicator;
|
|
|
import com.sky.ioc.entity.Label;
|
|
|
import com.sky.ioc.entity.params.IocParam;
|
|
|
import com.sky.ioc.service.personnel.PersonnelService;
|
|
|
import com.sky.ioc.tool.DateUtil;
|
|
|
import com.sky.ioc.tool.GeneralMethod;
|
|
|
+import com.sky.ioc.tool.MathUtils;
|
|
|
import com.sky.ioc.tool.ReturnMsg;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.*;
|
|
@@ -21,9 +27,13 @@ import java.util.concurrent.ThreadLocalRandom;
|
|
|
* @date 2023/2/22 15:14
|
|
|
*/
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class PersonnelServiceImpl implements PersonnelService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ RestTemplateConfig restTemplateConfig;
|
|
|
|
|
|
+ final static String ACCESS_PERSON_URL="/api/statistics/safety/record/totalDoorRecord";
|
|
|
|
|
|
@Override
|
|
|
public ReturnMsg personnelInfoCount() {
|
|
@@ -123,6 +133,42 @@ public class PersonnelServiceImpl implements PersonnelService {
|
|
|
return ReturnMsg.ok(labels1);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ReturnMsg getPopulationPersonData(IocParam iocParam) {
|
|
|
+ String[] param = {"numberPeople"};
|
|
|
+ // 创建RestTemplate
|
|
|
+ RestTemplate restTemplate = restTemplateConfig.build();
|
|
|
+ // 发送GET请求
|
|
|
+ String startStr = iocParam.getTimeRange().getStartDate().replace("/","-");
|
|
|
+ String endStr = iocParam.getTimeRange().getEndDate().replace("/","-");
|
|
|
+ String url = restTemplateConfig.addBaseUrl(ACCESS_PERSON_URL)+"?startTime="+startStr+"&endTime="+endStr+"&scope=day";
|
|
|
+ ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
|
|
|
+ // 获取响应对象里的 body 对象
|
|
|
+ Map<String, Object> body = responseEntity.getBody();
|
|
|
+ // 获取状态码
|
|
|
+ Integer code = (Integer)body.get("cod");
|
|
|
+
|
|
|
+ if(code==200){
|
|
|
+ ArrayList list = (ArrayList) body.get("data");
|
|
|
+ List<Label> labels1 = new ArrayList<>();
|
|
|
+ if(list!=null&&list.size()>0){
|
|
|
+ for(int i=0;i<list.size();i++){
|
|
|
+ LinkedHashMap map = (LinkedHashMap) list.get(i);
|
|
|
+ Label label = new Label();
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put(param[0], Integer.valueOf(map.get("inCount").toString())-Integer.valueOf(map.get("outCount").toString()));
|
|
|
+ label.setJsonObject(jsonObject);
|
|
|
+ label.setLabel(map.get("time").toString());
|
|
|
+ labels1.add(label);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ReturnMsg.ok(labels1);
|
|
|
+ }else{
|
|
|
+
|
|
|
+ return ReturnMsg.fail("获取安防数据出错");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public ReturnMsg getPassengerFlow(IocParam iocParam) {
|
|
|
String[] param = {"Freelance","other"};
|