From e8ef361dc975aeaedeee6f28dfe679489a22f9d5 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Mon, 02 Sep 2019 17:42:06 +0800
Subject: [PATCH] Merge branch 'master' of http://blit.7drlb.com:8888/r/screen_api_v2

---
 src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java |  128 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 125 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
index c53e102..4dce55d 100644
--- a/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceVersionServiceImpl.java
@@ -1,13 +1,135 @@
 package com.moral.service.impl;
 
-import com.moral.mapper.DeviceVersionMapper;
-import com.moral.service.DeviceVersionService;
-import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 
 import javax.annotation.Resource;
+
+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