Selaa lähdekoodia

拉取中枢设备数据

ZhangManMan 2 vuotta sitten
vanhempi
commit
84433527be

+ 0 - 2
src/main/java/com/sky/ioc/controller/scene/StrategyController.java

@@ -57,8 +57,6 @@ public class StrategyController {
         return strategyService.delBatchById(ids);
     }
 
-
-
     public static void main(String[] args){
         int[] arr = new int[2];
         System.out.println(arr.length);

+ 31 - 0
src/main/java/com/sky/ioc/entity/domain/energy/EnergyDevice.java

@@ -0,0 +1,31 @@
+package com.sky.ioc.entity.domain.energy;
+
+import lombok.Data;
+
+/**
+ * 能源设备
+ * */
+@Data
+public class EnergyDevice {
+
+    /** ID */
+    private Integer id;
+    /** 设备名称 */
+    private String deviceName;
+    /** 设备ID */
+    private String deviceId;
+    /** 设备类型 */
+    private Integer deviceType;
+    /** 设备位置 */
+    private String deviceLocation;
+    /** 回路地址 */
+    private String loopDetail;
+    /** 网关编号 */
+    private String gatewayCode;
+    /** 网关服务器 */
+    private String gatewayIp;
+    /** 用途 */
+    private String usage;
+    /** 设备状态:1-开启 */
+    private int status;
+}

+ 18 - 0
src/main/java/com/sky/ioc/entity/domain/energy/EnergyDeviceType.java

@@ -0,0 +1,18 @@
+package com.sky.ioc.entity.domain.energy;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+@Data
+public class EnergyDeviceType {
+
+    /** ID */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+    /** 设备类型名称 */
+    private String name;
+
+    /** 设备类型编码 */
+    private Integer code;
+}

+ 9 - 0
src/main/java/com/sky/ioc/mapper/energy/EnergyDeviceMapper.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.mapper.energy;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.energy.EnergyDevice;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EnergyDeviceMapper extends BaseMapper<EnergyDevice> {
+}

+ 9 - 0
src/main/java/com/sky/ioc/mapper/energy/EnergyDeviceTypeMapper.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.mapper.energy;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.energy.EnergyDeviceType;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EnergyDeviceTypeMapper extends BaseMapper<EnergyDeviceType> {
+}

+ 6 - 6
src/main/java/com/sky/ioc/service/canteen/impl/RestaurantServiceImpl.java

@@ -196,20 +196,20 @@ public class RestaurantServiceImpl implements RestaurantService {
             iocParam1.setDeptId(iocParam.getDeptId());
             IocTimeRange iocTimeRange = new IocTimeRange();
             iocTimeRange.setStartDate(labKey[i]+" 00:00:00");
-            iocTimeRange.setEndDate(labKey[i]+" 10:00:00");
+            iocTimeRange.setEndDate(labKey[i]+" 12:00:00");
             iocParam1.setTimeRange(iocTimeRange);
 
             IocParam iocParam2 = new IocParam();
             iocParam2.setCompanyId(iocParam.getCompanyId());
             iocParam2.setDeptId(iocParam.getDeptId());
             IocTimeRange iocTimeRange2 = new IocTimeRange();
-            iocTimeRange2.setStartDate(labKey[i]+" 10:00:00");
-            iocTimeRange2.setEndDate(labKey[i]+" 15:00:00");
+            iocTimeRange2.setStartDate(labKey[i]+" 12:00:00");
+            iocTimeRange2.setEndDate(labKey[i]+" 13:00:00");
             iocParam2.setTimeRange(iocTimeRange2);
 
             IocParam iocParam3 = new IocParam();
             IocTimeRange iocTimeRange3 = new IocTimeRange();
-            iocTimeRange3.setStartDate(labKey[i]+" 15:00:00");
+            iocTimeRange3.setStartDate(labKey[i]+" 13:00:00");
             iocTimeRange3.setEndDate(labKey[i]+" 23:59:00");
             iocParam3.setTimeRange(iocTimeRange3);
 
@@ -268,12 +268,12 @@ public class RestaurantServiceImpl implements RestaurantService {
                 String time = order.getOrderTime().substring(10);
                 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
                 Date date1 = sdf.parse(time);
-                Date date2 = sdf.parse("10:00:00");
+                Date date2 = sdf.parse("12:00:00");
                 if(date1.before(date2)&&date1.after(sdf.parse("00:00:00"))){
                     //早餐
                     breakfast+=order.getOrderPrice();
                 }
-                if(date1.before(sdf.parse("15:00:00"))&&date1.after(sdf.parse("10:00:00"))){
+                if(date1.before(sdf.parse("15:00:00"))&&date1.after(sdf.parse("12:00:00"))){
                     //午餐
                     lunch += order.getOrderPrice();
                 }

+ 8 - 0
src/main/java/com/sky/ioc/service/energy/EnergyDeviceService.java

@@ -0,0 +1,8 @@
+package com.sky.ioc.service.energy;
+
+import com.sky.ioc.tool.ReturnMsg;
+
+public interface EnergyDeviceService {
+
+    ReturnMsg getDeviceList();
+}

+ 83 - 0
src/main/java/com/sky/ioc/service/energy/impl/EnergyDeviceServiceImpl.java

@@ -0,0 +1,83 @@
+package com.sky.ioc.service.energy.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sky.ioc.config.RestTemplateConfig;
+import com.sky.ioc.entity.domain.energy.EnergyDevice;
+import com.sky.ioc.entity.domain.energy.EnergyDeviceType;
+import com.sky.ioc.entity.domain.meeting.MeetingRoom;
+import com.sky.ioc.mapper.energy.EnergyDeviceMapper;
+import com.sky.ioc.mapper.energy.EnergyDeviceTypeMapper;
+import com.sky.ioc.service.energy.EnergyDeviceService;
+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 javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@Service
+@Slf4j
+public class EnergyDeviceServiceImpl implements EnergyDeviceService {
+
+    @Resource
+    RestTemplateConfig restTemplateConfig;
+
+    @Autowired
+    EnergyDeviceMapper energyDeviceMapper;
+
+    @Autowired
+    EnergyDeviceTypeMapper energyDeviceTypeMapper;
+
+    final static  String ENERGTY_DEVICE_URL="/api/energy/ENERGY/device/list?pageNum=1&pageSize=1000";
+
+    @Override
+    public ReturnMsg getDeviceList() {
+        // 创建RestTemplate
+        RestTemplate restTemplate = restTemplateConfig.build();
+        // 发送GET请求
+        String url = restTemplateConfig.addBaseUrl(ENERGTY_DEVICE_URL);
+        ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body = responseEntity.getBody();
+        // 获取状态码
+        Integer code = (Integer)body.get("code");
+        // 获取响应信息
+        String message = (String)body.get("msg");
+        if(code==200){
+            ArrayList list = (ArrayList) body.get("rows");
+            if(list!=null&&list.size()>0){
+                energyDeviceMapper.delete(null);
+                for (int i=0;i<list.size();i++){
+                    LinkedHashMap json = (LinkedHashMap) list.get(i);
+                    EnergyDevice energyDevice = new EnergyDevice();
+                    energyDevice.setId((Integer) json.get("id"));
+                    energyDevice.setDeviceName((String) json.get("name"));
+                    energyDevice.setDeviceLocation((String) json.get("location"));
+                    energyDevice.setDeviceType(Integer.valueOf((String) json.get("deviceType")));
+                    energyDevice.setUsage((String) json.get("usage"));
+                    energyDevice.setGatewayCode((String) json.get("gatewayCode"));
+                    energyDevice.setGatewayIp((String) json.get("gatewayIp"));
+                    energyDevice.setLoopDetail((String) json.get("loopDetail"));
+                    EnergyDeviceType energyDeviceType = energyDeviceTypeMapper.selectOne(new LambdaQueryWrapper<EnergyDeviceType>().eq(EnergyDeviceType::getCode,energyDevice.getDeviceType()));
+                    if(energyDeviceType==null){
+                        energyDeviceType = new EnergyDeviceType();
+                        energyDeviceType.setCode(energyDevice.getDeviceType());
+                        energyDeviceTypeMapper.insert(energyDeviceType);
+                    }
+                    energyDeviceMapper.insert(energyDevice);
+                }
+            }
+            return ReturnMsg.ok();
+        }else{
+            log.info("获取能源设备数据:"+message);
+            return ReturnMsg.fail(message);
+        }
+    }
+}