|
@@ -3,14 +3,22 @@ package org.dromara.system.controller;
|
|
|
import cn.hutool.core.date.DateField;
|
|
import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import okhttp3.OkHttpClient;
|
|
import okhttp3.OkHttpClient;
|
|
|
import org.dromara.common.core.domain.R;
|
|
import org.dromara.common.core.domain.R;
|
|
|
|
|
+import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
|
import org.dromara.common.web.core.BaseController;
|
|
import org.dromara.common.web.core.BaseController;
|
|
|
import org.dromara.system.domain.CountData;
|
|
import org.dromara.system.domain.CountData;
|
|
|
|
|
+import org.dromara.system.domain.bo.TblCarInfoBo;
|
|
|
import org.dromara.system.domain.vo.CountDataVo;
|
|
import org.dromara.system.domain.vo.CountDataVo;
|
|
|
|
|
+import org.dromara.system.domain.vo.TblCarInfoVo;
|
|
|
|
|
+import org.dromara.system.service.ISysDataScopeService;
|
|
|
|
|
+import org.dromara.system.service.ITblCarInfoService;
|
|
|
import org.dromara.system.service.ITblCountDataService;
|
|
import org.dromara.system.service.ITblCountDataService;
|
|
|
import org.dromara.system.service.ITblGoodsOrderService;
|
|
import org.dromara.system.service.ITblGoodsOrderService;
|
|
|
import org.dromara.util.MessageUtils;
|
|
import org.dromara.util.MessageUtils;
|
|
@@ -21,17 +29,20 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import java.time.Duration;
|
|
import java.time.Duration;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Validated
|
|
@Validated
|
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
|
@RestController
|
|
@RestController
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@RequestMapping("/statistic")
|
|
@RequestMapping("/statistic")
|
|
|
-public class StatisticController extends BaseController {
|
|
|
|
|
|
|
+public class StatisticController extends TblBaseController {
|
|
|
private final ITblCountDataService countDataService;
|
|
private final ITblCountDataService countDataService;
|
|
|
|
|
|
|
|
private final ITblGoodsOrderService goodsOrderService;
|
|
private final ITblGoodsOrderService goodsOrderService;
|
|
|
|
|
+ private final ISysDataScopeService dataScopeService;
|
|
|
|
|
|
|
|
|
|
+ private final ITblCarInfoService carInfoService;
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/passenger/flow")
|
|
@PostMapping("/passenger/flow")
|
|
@@ -73,4 +84,43 @@ public class StatisticController extends BaseController {
|
|
|
|
|
|
|
|
return R.ok(qs);
|
|
return R.ok(qs);
|
|
|
}
|
|
}
|
|
|
|
|
+ @PostMapping("/passenger/flow1")
|
|
|
|
|
+ public Object sitesFlow1(@RequestBody(required = false) Map<String,Object> data) {
|
|
|
|
|
+ if(data==null) data=new HashMap<>();
|
|
|
|
|
+ if(data.get("start")==null || data.get("end")==null ){
|
|
|
|
|
+ return R.fail("参数不对");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ Map<String,Object> temp = new HashMap<>();
|
|
|
|
|
+ try{
|
|
|
|
|
+ TblCarInfoBo bo = new TblCarInfoBo();
|
|
|
|
|
+ getDepts(dataScopeService,bo);
|
|
|
|
|
+ if(bo.getParams().get("depts")!=null){
|
|
|
|
|
+ List<String> allcodes = new ArrayList<>();
|
|
|
|
|
+ List<TblCarInfoVo> carInfos = carInfoService.queryList(bo);
|
|
|
|
|
+
|
|
|
|
|
+ carInfos.forEach(carInfo->{
|
|
|
|
|
+ try{
|
|
|
|
|
+ JSONUtil.parseArray(carInfo.getDeviceInfos()).toList(JSONObject.class).forEach(deviceInfo -> {
|
|
|
|
|
+ if(deviceInfo.getStr("type").equals("people_count")){
|
|
|
|
|
+ allcodes.add(StrUtil.format("'{}'",deviceInfo.getStr("code")));
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }catch (Exception e){}
|
|
|
|
|
+ });
|
|
|
|
|
+ temp.put("devicecodes",allcodes.stream().collect(Collectors.joining(",")));
|
|
|
|
|
+ }
|
|
|
|
|
+ }catch (Exception e){}
|
|
|
|
|
+
|
|
|
|
|
+ temp.put("start",data.get("start"));
|
|
|
|
|
+ temp.put("end",data.get("end"));
|
|
|
|
|
+ CountDataVo countDataVo = countDataService.queryByDate(temp);
|
|
|
|
|
+ if(countDataVo==null){
|
|
|
|
|
+ countDataVo = new CountDataVo();countDataVo.setOutcount(0);countDataVo.setIncount(0);
|
|
|
|
|
+ }
|
|
|
|
|
+ temp.put("flowCount",countDataVo);
|
|
|
|
|
+ return R.ok(temp);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|