From f28149d8183a62f87fa9c8df9ae589070d83f612 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Thu, 24 Dec 2020 13:47:50 +0800
Subject: [PATCH] 波动补偿

---
 src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java |  130 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 121 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
index e5aaa1e..4dce55d 100644
--- a/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
@@ -1,23 +1,135 @@
 package com.moral.service.impl;
 
-import com.moral.common.bean.PageBean;
-import com.moral.common.util.ExampleUtil;
-import com.moral.common.util.MyBatisBaseMapUtil;
-import com.moral.entity.DeviceVersion;
-import com.moral.mapper.DeviceVersionMapper;
-import com.moral.service.DeviceVersionService;
-import org.springframework.stereotype.Service;
-import tk.mybatis.mapper.entity.Example;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 
 import javax.annotation.Resource;
-import java.io.UnsupportedEncodingException;
+
+import org.springframework.stereotype.Service;
+
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.MyBatisBaseMapUtil;
+import com.moral.common.util.RedisUtils;
+import com.moral.entity.DeviceVersion;
+import com.moral.entity.DeviceVersionSensor;
+import com.moral.mapper.DeviceVersionMapper;
+import com.moral.mapper.DeviceVersionSensorMapper;
+import com.moral.service.DeviceVersionService;
+
+import tk.mybatis.mapper.entity.Example;
 
 @Service
 public class DeviceVersionServiceImpl implements DeviceVersionService {
       @Resource
       private DeviceVersionMapper deviceVersionMapper;
+      @Resource
+      private DeviceVersionSensorMapper deviceVersionSensorMapper;
       private static Class ENTITY_CLASS = DeviceVersion.class;
+      @Override
       public PageBean queryByPageBean(PageBean pageBean){
            return MyBatisBaseMapUtil.queryPage(deviceVersionMapper,pageBean,ENTITY_CLASS);
       }
+      @Override
+      public void addOrModify(DeviceVersion deviceVersion){
+            try{
+                  if(deviceVersion.getId()==null){
+                        deviceVersion.setUpdateTime(new Date());
+                        deviceVersionMapper.insertSelective(deviceVersion);
+                  }else{
+                        deviceVersion.setUpdateTime(new Date());
+                        deviceVersionMapper.updateByPrimaryKeySelective(deviceVersion);
+                  }
+            }
+            catch (Exception ex){
+                  throw  ex;
+            }
+      }
+
+      @Override
+      public void deleteByIds(Integer... ids) {
+            if(ids!=null&&ids.length>0){
+                  if(ids.length==1){
+                        DeviceVersion deviceVersion = new DeviceVersion();
+                        deviceVersion.setId(ids[0]);
+                        deviceVersion.setIsDelete(true);
+                        deviceVersion.setUpdateTime(new Date());
+                        deviceVersionMapper.updateByPrimaryKeySelective(deviceVersion);
+                  }else{
+                        DeviceVersion deviceVersion = new DeviceVersion();
+                        deviceVersion.setIsDelete(true);
+                        deviceVersion.setUpdateTime(new Date());
+                        Example example = new Example(ENTITY_CLASS);
+                        example.or().andIn("id", Arrays.asList(ids));
+                        deviceVersionMapper.updateByExampleSelective(deviceVersion,example);
+                  }
+
+            }
+      }
+      
+      @Resource
+      private RedisUtils redisUtils;
+      @Override
+      public void versionSensorConfig(Integer deviceVersionId, Integer[] sensorIds){
+            Example example = new Example(DeviceVersionSensor.class);
+            example.or().andEqualTo("deviceVersionId",deviceVersionId);
+            deviceVersionSensorMapper.deleteByExample(example);
+            redisUtils.remove("deviceVersion_" + deviceVersionId);
+            if(sensorIds!=null && sensorIds.length >0){
+                  List<DeviceVersionSensor> deviceVersionSensorList = new ArrayList<DeviceVersionSensor>();
+                  for(int sensorId:sensorIds){
+                        DeviceVersionSensor deviceVersionSensor = new DeviceVersionSensor();
+                        deviceVersionSensor.setDeviceVersionId(deviceVersionId);
+                        deviceVersionSensor.setSensorId(sensorId);
+                        deviceVersionSensorList.add(deviceVersionSensor);
+                  }
+                  deviceVersionSensorMapper.insertList(deviceVersionSensorList);
+            }
+      }
+      public List<DeviceVersion> getVersionsByOrgId(int organizationId){
+            return null;
+      }
+
+      @Override
+      public Integer queryMaxVersionNo() {
+            Example example = new Example(DeviceVersion.class);
+            example.orderBy("version").desc();
+            List<DeviceVersion> deviceVersionList = deviceVersionMapper.selectByExample(example);
+            if(deviceVersionList.size()>0){
+                  return deviceVersionList.get(0).getVersion();
+            }
+            return null;
+      }
+      @Override
+      public DeviceVersion queryByVersionNo(int versionNo) {
+            DeviceVersion query = new DeviceVersion();
+            query.setVersion(versionNo);
+            return deviceVersionMapper.selectOne(query);
+      }
+      @Override
+      public List<Integer> getSensorIds(int deviceVersionId){
+            DeviceVersionSensor deviceVersionSensor = new DeviceVersionSensor();
+            deviceVersionSensor.setDeviceVersionId(deviceVersionId);
+            List<DeviceVersionSensor> deviceVersionSensorList = deviceVersionSensorMapper.select(deviceVersionSensor);
+            List<Integer> sensorIds = new ArrayList<>();
+            for(DeviceVersionSensor dvSensor:deviceVersionSensorList ){
+                  sensorIds.add(dvSensor.getSensorId());
+            }
+            return sensorIds;
+      }
+      @Override
+      public  List<DeviceVersion> queryByOrgId(Integer organizationId){
+            return  this.deviceVersionMapper.selectListByOrgId(organizationId);
+      }
+      @Override
+      public  List<DeviceVersion> queryByMpointId(Integer mpointId){
+            return  this.deviceVersionMapper.selectListByMpointId(mpointId);
+      }
+
+      @Override
+      public DeviceVersion queryVersionById(Integer versionId) {
+            return deviceVersionMapper.selectByPrimaryKey(versionId);
+      }
+
 }

--
Gitblit v1.8.0