瀏覽代碼

Merge branch 'usky-zyj' of uskycloud/usky-modules into server-165

James 1 年之前
父節點
當前提交
199fe89993

+ 23 - 23
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DeviceHttpController.java

@@ -3,7 +3,7 @@ package com.usky.iot.controller.web;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.iot.service.DmpDataInfoService;
 import com.usky.iot.service.DmpDeviceStatusService;
-//import com.usky.backend.domain.request.DmpDeviceDataRequestVO;
+import com.usky.backend.domain.request.DmpDeviceDataRequestVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -15,28 +15,28 @@ import org.springframework.web.bind.annotation.*;
 @RequestMapping("/deviceHttp")
 public class DeviceHttpController {
 
-//    @Autowired
-//    private DmpDeviceStatusService dmpDeviceStatusService;
-//
-//    @Autowired
-//    private DmpDataInfoService dmpDataInfoService;
-//
-//    @PutMapping("/status")
-//    public ApiResult<Void> status(){
-//        dmpDeviceStatusService.status();
-//        return ApiResult.success();
-//    }
-
-//    /**
-//     * 设备实时历史数据-对接客户
-//     * @param dmpDeviceDataRequestVO
-//     * @return
-//     */
-//    @PostMapping("/data")
-//    public ApiResult<Void> data(@RequestBody DmpDeviceDataRequestVO dmpDeviceDataRequestVO){
-//        dmpDataInfoService.data(dmpDeviceDataRequestVO);
-//        return ApiResult.success();
-//    }
+    @Autowired
+    private DmpDeviceStatusService dmpDeviceStatusService;
+
+    @Autowired
+    private DmpDataInfoService dmpDataInfoService;
+
+    @PutMapping("/status")
+    public ApiResult<Void> status(){
+        dmpDeviceStatusService.status();
+        return ApiResult.success();
+    }
+
+    /**
+     * 设备实时历史数据-对接客户
+     * @param dmpDeviceDataRequestVO
+     * @return
+     */
+    @PostMapping("/data")
+    public ApiResult<Void> data(@RequestBody DmpDeviceDataRequestVO dmpDeviceDataRequestVO){
+        dmpDataInfoService.data(dmpDeviceDataRequestVO);
+        return ApiResult.success();
+    }
 
 
 }

+ 2 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDataInfoService.java

@@ -2,7 +2,7 @@ package com.usky.iot.service;
 
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.iot.domain.DmpDataInfo;
-//import com.usky.backend.domain.request.DmpDeviceDataRequestVO;
+import com.usky.backend.domain.request.DmpDeviceDataRequestVO;
 
 
 /**
@@ -15,6 +15,6 @@ import com.usky.iot.domain.DmpDataInfo;
  */
 public interface DmpDataInfoService extends CrudService<DmpDataInfo> {
 
-//    void data(DmpDeviceDataRequestVO dmpDeviceDataRequestVO);
+    void data(DmpDeviceDataRequestVO dmpDeviceDataRequestVO);
 
 }

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpDeviceStatusService.java

@@ -20,6 +20,6 @@ public interface DmpDeviceStatusService extends CrudService<DmpDeviceStatus> {
 
     List<Map<String,Object>> getCollectByProduct(List<Integer> productIds);
 
-//    void status();
+    void status();
 
 }

+ 22 - 6
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java

@@ -59,10 +59,26 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
         List<BaseAlarmResponeVO> list = new ArrayList<>();
 
         QueryWrapper<BaseAlarmType> wrapper = new QueryWrapper<>();
-        if(StringUtils.isNotBlank(baseAlarmRequestVO.getProductCode())){
-            wrapper.select("distinct product_code as productCode")
-                    .eq("delete_flag",0)
-                    .eq("product_code",baseAlarmRequestVO.getProductCode());
+        if(StringUtils.isNotBlank(baseAlarmRequestVO.getProductName())){
+            LambdaQueryWrapper<DmpProductInfo> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(DmpProductInfo::getDeleteFlag,0)
+                    .like(DmpProductInfo::getProductName,baseAlarmRequestVO.getProductName());
+            List<DmpProductInfo> list1 = dmpProductInfoService.list(queryWrapper);
+            List<String> productCodeList = new ArrayList<>();
+            if(list1.size() > 0){
+                for(int i=0;i<list1.size();i++){
+                    productCodeList.add(list1.get(i).getProductCode());
+                }
+            }
+
+            if(productCodeList.size() > 0){
+                wrapper.select("distinct product_code as productCode")
+                        .eq("delete_flag",0)
+                        .in("product_code",productCodeList);
+            }else{
+                wrapper.eq("product_code","");
+            }
+
         }else{
             wrapper.select("distinct product_code as productCode")
                     .eq("delete_flag",0);
@@ -203,7 +219,7 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
                     list.get(i).setHandleStatus(1);
                     list.get(i).setHandleBy(SecurityUtils.getUsername());
                     list.get(i).setHandleTime(LocalDateTime.now());
-                    list.get(i).setHandlePhone("13715215564");
+                    list.get(i).setHandlePhone(SecurityUtils.getLoginUser().getSysUser().getPhonenumber());
                 }
             }
             this.updateBatchById(list);
@@ -212,7 +228,7 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
             baseAlarm.setHandleStatus(1);
             baseAlarm.setHandleBy(SecurityUtils.getUsername());
             baseAlarm.setHandleTime(LocalDateTime.now());
-            baseAlarm.setHandlePhone("13715215564");
+            baseAlarm.setHandlePhone(SecurityUtils.getLoginUser().getSysUser().getPhonenumber());
             this.updateById(baseAlarm);
         }
     }

+ 79 - 79
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDataInfoServiceImpl.java

@@ -3,14 +3,14 @@ package com.usky.iot.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-//import com.usky.backend.client.DeviceDataClient;
-//import com.usky.backend.domain.request.DeviceDataInfoVO;
+import com.usky.backend.client.DeviceDataClient;
+import com.usky.backend.domain.request.DeviceDataInfoVO;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.iot.domain.*;
 import com.usky.iot.mapper.DmpDataInfoMapper;
 import com.usky.iot.service.*;
-//import com.usky.backend.domain.request.DmpDeviceDataRequestVO;
+import com.usky.backend.domain.request.DmpDeviceDataRequestVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -31,81 +31,81 @@ import java.util.Map;
  */
 @Service
 public class DmpDataInfoServiceImpl extends AbstractCrudService<DmpDataInfoMapper, DmpDataInfo> implements DmpDataInfoService {
-//    @Autowired
-//    private DmpProductInfoService dmpProductInfoService;
-//
-//    @Autowired
-//    private DmpProductAttributeService dmpProductAttributeService;
-//
-//    @Autowired
-//    private DmpDeviceInfoService dmpDeviceInfoService;
-//
-//    @Autowired
-//    private DeviceDataClient deviceDataClient;
-//
-//    @Autowired
-//    private DmpDeviceTypeService dmpDeviceTypeService;
-//
-//    @Override
-//    public void data(DmpDeviceDataRequestVO dmpDeviceDataRequestVO){
-//        List<DeviceDataInfoVO> dataInfo = new ArrayList<>();
-//
-//        LambdaQueryWrapper<DmpDeviceInfo> dmpDeviceQuery = Wrappers.lambdaQuery();
-//        dmpDeviceQuery.eq(DmpDeviceInfo::getDeleteFlag,0)
-//                .eq(DmpDeviceInfo::getDeviceId,dmpDeviceDataRequestVO.getDeviceId());
-//        List<DmpDeviceInfo> deviceDataInfo = dmpDeviceInfoService.list(dmpDeviceQuery);
-//        if(CollectionUtils.isEmpty(deviceDataInfo)){
-//            throw new BusinessException("录入数据失败,"+dmpDeviceDataRequestVO.getDeviceId()+" 这个设备没有注册");
-//        }
-//
-//
-//        LambdaQueryWrapper<DmpProductInfo> queryWrapper = Wrappers.lambdaQuery();
-//        queryWrapper.select(DmpProductInfo::getId,DmpProductInfo::getDeviceType)
-//                .eq(DmpProductInfo::getDeleteFlag,0)
-//                .eq(DmpProductInfo::getProductCode,dmpDeviceDataRequestVO.getProductCode());
-//        List<DmpProductInfo> list = dmpProductInfoService.list(queryWrapper);
-//        if(CollectionUtils.isNotEmpty(list)){
-//
-//            LambdaQueryWrapper<DmpDeviceType> deviceTypeList = Wrappers.lambdaQuery();
-//            deviceTypeList.eq(DmpDeviceType::getTypeCode,list.get(0).getDeviceType());
-//            List<DmpDeviceType> lt = dmpDeviceTypeService.list(deviceTypeList);
-//            if(CollectionUtils.isEmpty(lt)){
-//                throw new BusinessException("查找设备类型简称失败,"+list.get(0).getDeviceType()+" 在设备类型表中不存在");
-//            }
-//            String shortName = lt.get(0).getTypeAbbrevia();
-//
-//            LambdaQueryWrapper<DmpProductAttribute> queryWrapper1 = Wrappers.lambdaQuery();
-//            queryWrapper1.select(DmpProductAttribute::getAttributeCode)
-//                    .eq(DmpProductAttribute::getDeleteFlag,0)
-//                    .eq(DmpProductAttribute::getProductId,list.get(0).getId());
-//            List<DmpProductAttribute> list1 = dmpProductAttributeService.list(queryWrapper1);
-//            if(CollectionUtils.isNotEmpty(list1)){
-//                for(int i=0;i<list1.size();i++){
-//                    Map<String,Float> metrics = dmpDeviceDataRequestVO.getMetrics();
-//                    if(metrics.size()>0){
-//                        for(Map.Entry<String,Float> map:metrics.entrySet()){
-//                            String key = map.getKey();
-//                            float value = map.getValue();
-//                            if(key.equals(list1.get(i).getAttributeCode())){   //属性名需和产品注册信息一致
-//                                DeviceDataInfoVO deviceDataInfoVO = new DeviceDataInfoVO();
-//                                deviceDataInfoVO.setDeviceId(dmpDeviceDataRequestVO.getDeviceId());
-//                                deviceDataInfoVO.setDeviceType(list.get(0).getDeviceType());
-//                                deviceDataInfoVO.setTypeAbbrevia(shortName);
-//                                deviceDataInfoVO.setName(key);
-//                                deviceDataInfoVO.setValue(value);
-//                                deviceDataInfoVO.setTimestamp(LocalDateTime.ofInstant(Instant.ofEpochSecond(dmpDeviceDataRequestVO.getTimestamp()), ZoneId.systemDefault()));
-//                                dataInfo.add(deviceDataInfoVO);
-//                            }
-//                        }
-//                    }
-//                }
-//            }
-//        }else{
-//            throw new BusinessException("查找产品信息失败,"+dmpDeviceDataRequestVO.getProductCode()+" 在产品信息表中不存在");
-//        }
-//        if(CollectionUtils.isNotEmpty(dataInfo)){
-//            deviceDataClient.data(dataInfo);
-//        }
-//    }
+    @Autowired
+    private DmpProductInfoService dmpProductInfoService;
+
+    @Autowired
+    private DmpProductAttributeService dmpProductAttributeService;
+
+    @Autowired
+    private DmpDeviceInfoService dmpDeviceInfoService;
+
+    @Autowired
+    private DeviceDataClient deviceDataClient;
+
+    @Autowired
+    private DmpDeviceTypeService dmpDeviceTypeService;
+
+    @Override
+    public void data(DmpDeviceDataRequestVO dmpDeviceDataRequestVO){
+        List<DeviceDataInfoVO> dataInfo = new ArrayList<>();
+
+        LambdaQueryWrapper<DmpDeviceInfo> dmpDeviceQuery = Wrappers.lambdaQuery();
+        dmpDeviceQuery.eq(DmpDeviceInfo::getDeleteFlag,0)
+                .eq(DmpDeviceInfo::getDeviceId,dmpDeviceDataRequestVO.getDeviceId());
+        List<DmpDeviceInfo> deviceDataInfo = dmpDeviceInfoService.list(dmpDeviceQuery);
+        if(CollectionUtils.isEmpty(deviceDataInfo)){
+            throw new BusinessException("录入数据失败,"+dmpDeviceDataRequestVO.getDeviceId()+" 这个设备没有注册");
+        }
+
+
+        LambdaQueryWrapper<DmpProductInfo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(DmpProductInfo::getId,DmpProductInfo::getDeviceType)
+                .eq(DmpProductInfo::getDeleteFlag,0)
+                .eq(DmpProductInfo::getProductCode,dmpDeviceDataRequestVO.getProductCode());
+        List<DmpProductInfo> list = dmpProductInfoService.list(queryWrapper);
+        if(CollectionUtils.isNotEmpty(list)){
+
+            LambdaQueryWrapper<DmpDeviceType> deviceTypeList = Wrappers.lambdaQuery();
+            deviceTypeList.eq(DmpDeviceType::getTypeCode,list.get(0).getDeviceType());
+            List<DmpDeviceType> lt = dmpDeviceTypeService.list(deviceTypeList);
+            if(CollectionUtils.isEmpty(lt)){
+                throw new BusinessException("查找设备类型简称失败,"+list.get(0).getDeviceType()+" 在设备类型表中不存在");
+            }
+            String shortName = lt.get(0).getTypeAbbrevia();
+
+            LambdaQueryWrapper<DmpProductAttribute> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.select(DmpProductAttribute::getAttributeCode)
+                    .eq(DmpProductAttribute::getDeleteFlag,0)
+                    .eq(DmpProductAttribute::getProductId,list.get(0).getId());
+            List<DmpProductAttribute> list1 = dmpProductAttributeService.list(queryWrapper1);
+            if(CollectionUtils.isNotEmpty(list1)){
+                for(int i=0;i<list1.size();i++){
+                    Map<String,Float> metrics = dmpDeviceDataRequestVO.getMetrics();
+                    if(metrics.size()>0){
+                        for(Map.Entry<String,Float> map:metrics.entrySet()){
+                            String key = map.getKey();
+                            float value = map.getValue();
+                            if(key.equals(list1.get(i).getAttributeCode())){   //属性名需和产品注册信息一致
+                                DeviceDataInfoVO deviceDataInfoVO = new DeviceDataInfoVO();
+                                deviceDataInfoVO.setDeviceId(dmpDeviceDataRequestVO.getDeviceId());
+                                deviceDataInfoVO.setDeviceType(list.get(0).getDeviceType());
+                                deviceDataInfoVO.setTypeAbbrevia(shortName);
+                                deviceDataInfoVO.setName(key);
+                                deviceDataInfoVO.setValue(value);
+                                deviceDataInfoVO.setTimestamp(LocalDateTime.ofInstant(Instant.ofEpochSecond(dmpDeviceDataRequestVO.getTimestamp()), ZoneId.systemDefault()));
+                                dataInfo.add(deviceDataInfoVO);
+                            }
+                        }
+                    }
+                }
+            }
+        }else{
+            throw new BusinessException("查找产品信息失败,"+dmpDeviceDataRequestVO.getProductCode()+" 在产品信息表中不存在");
+        }
+        if(CollectionUtils.isNotEmpty(dataInfo)){
+            deviceDataClient.data(dataInfo);
+        }
+    }
 
 }

+ 28 - 28
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceStatusServiceImpl.java

@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-//import com.usky.backend.client.DataQueryClient;
-//import com.usky.backend.domain.StatusVO;
+import com.usky.backend.client.DataQueryClient;
+import com.usky.backend.domain.StatusVO;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.iot.domain.DmpDeviceStatus;
 import com.usky.iot.mapper.DmpDeviceStatusMapper;
@@ -31,10 +31,10 @@ import java.util.Map;
 @Service
 public class DmpDeviceStatusServiceImpl extends AbstractCrudService<DmpDeviceStatusMapper, DmpDeviceStatus> implements DmpDeviceStatusService {
 
-//
-//    @Autowired
-//    private DataQueryClient dataQueryClient;
-//
+
+    @Autowired
+    private DataQueryClient dataQueryClient;
+
     @Override
     public List<Map<String, Object>> getCollectByProduct(List<Integer> productIds) {
         QueryWrapper<DmpDeviceStatus> query = Wrappers.query();
@@ -43,26 +43,26 @@ public class DmpDeviceStatusServiceImpl extends AbstractCrudService<DmpDeviceSta
                 .groupBy("product_id");
         return this.listMaps(query);
     }
-//
-//    @Override
-//    public void status(){
-//        List<StatusVO> list = dataQueryClient.status();
-//        if(CollectionUtils.isNotEmpty(list)){
-//            for(int i=0;i<list.size();i++){
-//                String date =  list.get(i).getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-//                String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-//                LambdaUpdateWrapper<DmpDeviceStatus> updateWrapper = Wrappers.lambdaUpdate();
-//                if(date.equals(currentDate)){
-//                    updateWrapper.set(DmpDeviceStatus::getDeviceStatus,1)
-//                            .set(DmpDeviceStatus::getLastOnlineTime,list.get(i).getTime())
-//                            .eq(DmpDeviceStatus::getDeviceId,list.get(i).getDeviceId());
-//                }else{
-//                    updateWrapper.set(DmpDeviceStatus::getDeviceStatus,2)
-//                            .set(DmpDeviceStatus::getLastOfflineTime,list.get(i).getTime())
-//                            .eq(DmpDeviceStatus::getDeviceId,list.get(i).getDeviceId());
-//                }
-//                this.update(updateWrapper);
-//            }
-//        }
-//    }
+
+    @Override
+    public void status(){
+        List<StatusVO> list = dataQueryClient.status();
+        if(CollectionUtils.isNotEmpty(list)){
+            for(int i=0;i<list.size();i++){
+                String date =  list.get(i).getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                LambdaUpdateWrapper<DmpDeviceStatus> updateWrapper = Wrappers.lambdaUpdate();
+                if(date.equals(currentDate)){
+                    updateWrapper.set(DmpDeviceStatus::getDeviceStatus,1)
+                            .set(DmpDeviceStatus::getLastOnlineTime,list.get(i).getTime())
+                            .eq(DmpDeviceStatus::getDeviceId,list.get(i).getDeviceId());
+                }else{
+                    updateWrapper.set(DmpDeviceStatus::getDeviceStatus,2)
+                            .set(DmpDeviceStatus::getLastOfflineTime,list.get(i).getTime())
+                            .eq(DmpDeviceStatus::getDeviceId,list.get(i).getDeviceId());
+                }
+                this.update(updateWrapper);
+            }
+        }
+    }
 }

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseAlarmRequestVO.java

@@ -16,5 +16,5 @@ public class BaseAlarmRequestVO {
     /**
      * 产品编码
      */
-    private String productCode;
+    private String productName;
 }