|
@@ -9,6 +9,7 @@
|
|
|
*/
|
|
*/
|
|
|
package cc.iotkit.manager.controller;
|
|
package cc.iotkit.manager.controller;
|
|
|
|
|
|
|
|
|
|
+import antlr.StringUtils;
|
|
|
import cc.iotkit.common.api.PageRequest;
|
|
import cc.iotkit.common.api.PageRequest;
|
|
|
import cc.iotkit.common.api.Paging;
|
|
import cc.iotkit.common.api.Paging;
|
|
|
import cc.iotkit.common.api.Request;
|
|
import cc.iotkit.common.api.Request;
|
|
@@ -24,6 +25,7 @@ import cc.iotkit.manager.dto.vo.category.CategoryVo;
|
|
|
import cc.iotkit.manager.dto.vo.product.ProductVo;
|
|
import cc.iotkit.manager.dto.vo.product.ProductVo;
|
|
|
import cc.iotkit.manager.dto.vo.productmodel.ProductModelVo;
|
|
import cc.iotkit.manager.dto.vo.productmodel.ProductModelVo;
|
|
|
import cc.iotkit.manager.dto.vo.thingmodel.ThingModelVo;
|
|
import cc.iotkit.manager.dto.vo.thingmodel.ThingModelVo;
|
|
|
|
|
+import cc.iotkit.manager.service.IDeviceManagerService;
|
|
|
import cc.iotkit.manager.service.IProductService;
|
|
import cc.iotkit.manager.service.IProductService;
|
|
|
import cc.iotkit.model.product.Category;
|
|
import cc.iotkit.model.product.Category;
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
@@ -32,6 +34,7 @@ import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.apache.logging.log4j.util.Strings;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -47,6 +50,10 @@ import java.util.stream.Collectors;
|
|
|
public class HomeController {
|
|
public class HomeController {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IProductService productService;
|
|
private IProductService productService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IDeviceManagerService deviceServiceImpl;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@ApiOperation("简介")
|
|
@ApiOperation("简介")
|
|
|
@PostMapping("/data")
|
|
@PostMapping("/data")
|
|
|
public Map data() {
|
|
public Map data() {
|
|
@@ -64,12 +71,93 @@ public class HomeController {
|
|
|
List<ProductVo> productVos = productService.selectProductList();
|
|
List<ProductVo> productVos = productService.selectProductList();
|
|
|
if(CollectionUtil.isNotEmpty(productVos)){
|
|
if(CollectionUtil.isNotEmpty(productVos)){
|
|
|
dataMap.put("productAllNum",productVos.size());
|
|
dataMap.put("productAllNum",productVos.size());
|
|
|
- Integer productTodayNum = categoryVos.stream().map(item->new Date(item.getCreateAt()).compareTo(todayZero)>0)
|
|
|
|
|
|
|
+ Integer productTodayNum = productVos.stream().map(item->new Date(item.getCreateAt()).compareTo(todayZero)>0)
|
|
|
|
|
+ .collect(Collectors.toList()).size();
|
|
|
|
|
+ dataMap.put("productTodayNum",productTodayNum);
|
|
|
|
|
+ }
|
|
|
|
|
+ return dataMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @ApiOperation("pnglei")
|
|
|
|
|
+ @PostMapping("/category")
|
|
|
|
|
+ public Map categoryData() {
|
|
|
|
|
+ Map<String,Object> dataMap = new HashMap<>();
|
|
|
|
|
+ List<CategoryVo> categoryVos = productService.selectCategoryList();
|
|
|
|
|
+ Date todayZero = todayZeroTime();
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(categoryVos)){
|
|
|
|
|
+ dataMap.put("categoryAllNum",categoryVos.size());
|
|
|
|
|
+ Integer categoryTodayNum = categoryVos.stream().map(item->new Date(item.getCreateAt()).compareTo(todayZero)>0)
|
|
|
|
|
+ .collect(Collectors.toList()).size();
|
|
|
|
|
+ dataMap.put("categoryTodayNum",categoryTodayNum);
|
|
|
|
|
+ }
|
|
|
|
|
+ return dataMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @ApiOperation("shangpin")
|
|
|
|
|
+ @PostMapping("/product")
|
|
|
|
|
+ public Map productData() {
|
|
|
|
|
+ Map<String,Object> dataMap = new HashMap<>();
|
|
|
|
|
+ Date todayZero = todayZeroTime();
|
|
|
|
|
+ List<ProductVo> productVos = productService.selectProductList();
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(productVos)){
|
|
|
|
|
+ dataMap.put("productAllNum",productVos.size());
|
|
|
|
|
+ Integer productTodayNum = productVos.stream().map(item->new Date(item.getCreateAt()).compareTo(todayZero)>0)
|
|
|
.collect(Collectors.toList()).size();
|
|
.collect(Collectors.toList()).size();
|
|
|
dataMap.put("productTodayNum",productTodayNum);
|
|
dataMap.put("productTodayNum",productTodayNum);
|
|
|
}
|
|
}
|
|
|
return dataMap;
|
|
return dataMap;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @ApiOperation("shebei")
|
|
|
|
|
+ @PostMapping("/device")
|
|
|
|
|
+ public Map deviceData() {
|
|
|
|
|
+ Map statisMap = deviceServiceImpl.countMap();
|
|
|
|
|
+ return statisMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @ApiOperation("deviceStates")
|
|
|
|
|
+ @PostMapping("/deviceStates")
|
|
|
|
|
+ public Map deviceStates() {
|
|
|
|
|
+ Map statisMap = deviceServiceImpl.countStateMap();
|
|
|
|
|
+ return statisMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @ApiOperation("deviceCategory")
|
|
|
|
|
+ @PostMapping("/deviceCategory")
|
|
|
|
|
+ public Map deviceCategory() {
|
|
|
|
|
+ Map<String,Long> dataMap = new HashMap<>();
|
|
|
|
|
+ List<CategoryVo> categoryVos = productService.selectCategoryList();
|
|
|
|
|
+ Date todayZero = todayZeroTime();
|
|
|
|
|
+ Map<String,String> categoryMap = new HashMap<>();
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(categoryVos)){
|
|
|
|
|
+ categoryMap = categoryVos.stream().collect(Collectors.toMap(CategoryVo::getId,CategoryVo::getName));
|
|
|
|
|
+ }
|
|
|
|
|
+ List<ProductVo> productVos = productService.selectProductList();
|
|
|
|
|
+ Map<String,String> productMap = new HashMap<>();
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(productVos)){
|
|
|
|
|
+ productMap = productVos.stream().collect(Collectors.toMap(ProductVo::getProductKey,ProductVo::getCategory));
|
|
|
|
|
+ }
|
|
|
|
|
+ Long allNum = 0L;
|
|
|
|
|
+ Map statisMap = deviceServiceImpl.countCategoryMap();
|
|
|
|
|
+ for (Object key :statisMap.keySet()){
|
|
|
|
|
+ String category = productMap.get(key);
|
|
|
|
|
+ Long tmpNum = (Long)statisMap.get(key);
|
|
|
|
|
+ allNum = allNum+tmpNum;
|
|
|
|
|
+ if(Strings.isNotEmpty(category)){
|
|
|
|
|
+ Long num = dataMap.get(category);
|
|
|
|
|
+ if(Objects.nonNull(num)){
|
|
|
|
|
+ dataMap.put(category,num+tmpNum);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ dataMap.put(category,tmpNum);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ dataMap.put("设备总数",allNum);
|
|
|
|
|
+ return dataMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
private Date todayZeroTime(){
|
|
private Date todayZeroTime(){
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
calendar.set(Calendar.HOUR_OF_DAY,0);
|
|
calendar.set(Calendar.HOUR_OF_DAY,0);
|