|
|
|
@ -1,18 +1,16 @@ |
|
|
|
|
package com.psdc.service.impl; |
|
|
|
|
|
|
|
|
|
import com.psdc.entity.PsdcDevice; |
|
|
|
|
import com.psdc.entity.PsdcScene; |
|
|
|
|
import com.psdc.entity.request.PsdcSceneRequest; |
|
|
|
|
import com.psdc.entity.vo.SceneVo; |
|
|
|
|
import com.psdc.mapper.PsdcSceneMapper; |
|
|
|
|
import com.psdc.service.IPsdcSceneService; |
|
|
|
|
import com.psdc.utils.SecurityUtils; |
|
|
|
|
import com.psdc.utils.poi.ExcelUtil; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import java.io.InputStream; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
@ -28,17 +26,6 @@ import static org.springframework.transaction.annotation.Propagation.REQUIRES_NE |
|
|
|
|
public class PsdcSceneServiceImpl implements IPsdcSceneService { |
|
|
|
|
@Autowired |
|
|
|
|
private PsdcSceneMapper psdcSceneMapper; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 通过ID查询单条数据 |
|
|
|
|
* |
|
|
|
|
* @param sceneId 主键 |
|
|
|
|
* @return 实例对象 |
|
|
|
|
*/ |
|
|
|
|
public PsdcScene queryById(Integer sceneId){ |
|
|
|
|
return psdcSceneMapper.queryById(sceneId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -47,17 +34,71 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { |
|
|
|
|
* @return Boolean |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
@Transactional(propagation = REQUIRES_NEW) |
|
|
|
|
public Boolean insert(List<SceneVo> scenes){ |
|
|
|
|
public Boolean insert(PsdcSceneRequest scenes){ |
|
|
|
|
Date date = new Date(); |
|
|
|
|
long timestamp = getSecondTimestampTwo(date); |
|
|
|
|
long userId = SecurityUtils.getUserId(); |
|
|
|
|
List<SceneVo> scenesList = new ArrayList<>(); |
|
|
|
|
if (null != scenes.getIntemp() && !"".equals(scenes.getIntemp())){ |
|
|
|
|
SceneVo sceneVo; |
|
|
|
|
sceneVo = new SceneVo(scenes.getSceneName(), scenes.getDeviceId(), "进水温度", "intemp", scenes.getIntemp()); |
|
|
|
|
scenesList.add(sceneVo); |
|
|
|
|
} |
|
|
|
|
if (null != scenes.getOuttemp() && !"".equals(scenes.getOuttemp())){ |
|
|
|
|
SceneVo sceneVo = new SceneVo(scenes.getSceneName(), scenes.getDeviceId(), "出水温度", "outtemp", scenes.getOuttemp()); |
|
|
|
|
scenesList.add(sceneVo); |
|
|
|
|
} |
|
|
|
|
if (null != scenes.getTemp() && !"".equals(scenes.getTemp())){ |
|
|
|
|
SceneVo sceneVo = new SceneVo(scenes.getSceneName(), scenes.getDeviceId(), "温度", "temp", scenes.getTemp()); |
|
|
|
|
scenesList.add(sceneVo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
for (SceneVo sc : scenes){ |
|
|
|
|
for (SceneVo sc : scenesList){ |
|
|
|
|
sc.setSceneCode(timestamp); |
|
|
|
|
sc.setUserId(userId); |
|
|
|
|
} |
|
|
|
|
psdcSceneMapper.InsertSceneData(scenes); |
|
|
|
|
psdcSceneMapper.InsertSceneData(scenesList); |
|
|
|
|
return true; |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
log.info("Sorry,新增场景策略失败!+ 错误原因: {}", e.getMessage()); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 在原有策略基础上增加设备温度管理 |
|
|
|
|
* @param scenes |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public Boolean insertByCode(PsdcSceneRequest scenes) { |
|
|
|
|
long userId = SecurityUtils.getUserId(); |
|
|
|
|
List<SceneVo> scenesList = new ArrayList<>(); |
|
|
|
|
String sceneName = psdcSceneMapper.querySceneNameById(scenes.getSceneCode()); |
|
|
|
|
Integer deviceId = scenes.getDeviceId(); |
|
|
|
|
if (null != scenes.getIntemp() && !"".equals(scenes.getIntemp())){ |
|
|
|
|
SceneVo sceneVo = new SceneVo(sceneName, deviceId, "进水温度", "intemp", scenes.getIntemp()); |
|
|
|
|
scenesList.add(sceneVo); |
|
|
|
|
} |
|
|
|
|
if (null != scenes.getOuttemp() && !"".equals(scenes.getOuttemp())){ |
|
|
|
|
SceneVo sceneVo = new SceneVo(sceneName, deviceId, "出水温度", "outtemp", scenes.getOuttemp()); |
|
|
|
|
scenesList.add(sceneVo); |
|
|
|
|
} |
|
|
|
|
if (null != scenes.getTemp() && !"".equals(scenes.getTemp())){ |
|
|
|
|
SceneVo sceneVo = new SceneVo(sceneName, deviceId, "温度", "temp", scenes.getTemp()); |
|
|
|
|
scenesList.add(sceneVo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
for (SceneVo sc : scenesList){ |
|
|
|
|
sc.setSceneCode(scenes.getSceneCode()); |
|
|
|
|
sc.setUserId(userId); |
|
|
|
|
} |
|
|
|
|
psdcSceneMapper.InsertSceneData(scenesList); |
|
|
|
|
return true; |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
@ -80,9 +121,9 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
@Transactional(propagation = REQUIRES_NEW) |
|
|
|
|
public Boolean update(List<SceneVo> scenes) { |
|
|
|
|
public Boolean update(PsdcScene scenes) { |
|
|
|
|
try { |
|
|
|
|
psdcSceneMapper.UpdateSceneData(scenes); |
|
|
|
|
psdcSceneMapper.update(scenes); |
|
|
|
|
return true; |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
@ -93,12 +134,17 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 通过策略名称删除数据 |
|
|
|
|
* @param sceneName |
|
|
|
|
* @param scene |
|
|
|
|
* @return 是否成功 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public Boolean deleteBySceneName(String sceneName) { |
|
|
|
|
int count = psdcSceneMapper.deleteBySceneName(sceneName); |
|
|
|
|
public Boolean deleteByScene(PsdcSceneRequest scene) { |
|
|
|
|
int count = 0; |
|
|
|
|
if (null != scene.getSceneCode() && !"".equals(scene.getSceneCode())){ |
|
|
|
|
count = psdcSceneMapper.deleteBySceneName(scene.getSceneCode()); |
|
|
|
|
} else { |
|
|
|
|
count = psdcSceneMapper.deleteById(scene.getSceneId()); |
|
|
|
|
} |
|
|
|
|
if (count > 0){ |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
@ -136,13 +182,10 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<SceneVo> findSceneByUserAndSceneName(Integer sceneId) { |
|
|
|
|
public List<SceneVo> findSceneByUserAndSceneName(Long sceneCode) { |
|
|
|
|
Long userId = SecurityUtils.getUserId(); |
|
|
|
|
String sceneName = ""; |
|
|
|
|
if (0 != sceneId){ |
|
|
|
|
psdcSceneMapper.queryById(sceneId).getSceneName(); |
|
|
|
|
} |
|
|
|
|
return psdcSceneMapper.findSceneByUserAndSceneName(userId, sceneName); |
|
|
|
|
return psdcSceneMapper.findSceneByUserAndSceneName(userId, sceneCode, sceneName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -158,4 +201,6 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { |
|
|
|
|
return Long.valueOf(timestamp); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |