From acd16dc4f17d09e21cd6516da19d58c697b1f61a Mon Sep 17 00:00:00 2001 From: XMnhwj_BackTechnologyDevelopment <3512363680@qq.com> Date: Tue, 30 May 2023 10:03:33 +0800 Subject: [PATCH] =?UTF-8?q?2023-05-30=2010:24:19=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=AD=96=E7=95=A5=E7=AE=A1=E7=90=86=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E3=80=81=E6=9F=A5=E8=AF=A2=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/psdc/service/IPsdcSceneService.java | 5 +- .../service/impl/PsdcSceneServiceImpl.java | 98 ++++++++++--------- .../mapper/business/PsdcSceneMapper.xml | 31 +++--- .../manager/PsdcSceneController.java | 2 +- 4 files changed, 70 insertions(+), 66 deletions(-) diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java index 342b24a..da2323d 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcSceneService.java @@ -3,7 +3,6 @@ package com.psdc.service; import com.psdc.entity.PsdcScene; import com.psdc.entity.request.PsdcSceneRequest; import com.psdc.entity.res.PsdcSceneRes; -import com.psdc.entity.vo.SceneVo; import java.util.List; import java.util.Map; @@ -20,8 +19,6 @@ public interface IPsdcSceneService { */ Boolean insert(PsdcSceneRes scenes); - Boolean insertByCode(PsdcSceneRequest scenes); - List sceneList(); /** @@ -29,7 +26,7 @@ public interface IPsdcSceneService { * @param scenes 实例对象 * @return 实例对象 */ - Boolean update(PsdcScene scenes); + Boolean update(PsdcSceneRes scenes); /** * 通过策略名称删除数据 diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java index 87713be..98730fb 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcSceneServiceImpl.java @@ -6,13 +6,15 @@ import com.psdc.entity.res.PsdcSceneRes; import com.psdc.entity.vo.DeviceVo; import com.psdc.entity.vo.SceneVo; import com.psdc.mapper.PsdcSceneMapper; +import com.psdc.mapper.SysUserMapper; import com.psdc.service.IPsdcSceneService; import com.psdc.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -27,9 +29,15 @@ import static org.springframework.transaction.annotation.Propagation.REQUIRES_NE @Slf4j @Service public class PsdcSceneServiceImpl implements IPsdcSceneService { - @Autowired + @Resource private PsdcSceneMapper psdcSceneMapper; + @Resource + private SysUserMapper sysUserMapper; + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + /** * 新增数据 @@ -41,6 +49,7 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { public Boolean insert(PsdcSceneRes scenes) { Date date = new Date(); long timestamp = getSecondTimestampTwo(date); + String userName = sysUserMapper.selectUserById(scenes.getUserId()).getUserName(); List scenesList = new ArrayList<>(); for (DeviceVo dev : scenes.getDeviceVos()) { if (null != dev.getIntemp() && !"".equals(dev.getIntemp())) { @@ -58,51 +67,13 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { } } - try { for (SceneVo sc : scenesList) { sc.setSceneCode(timestamp); sc.setUserId(scenes.getUserId()); - } - 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 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); + sc.setCreateBy(userName); + sc.setCreateTime(scenes.getCreateTime()); + sc.setSceneRemark(scenes.getSceneRemark()); } psdcSceneMapper.InsertSceneData(scenesList); return true; @@ -127,9 +98,36 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { */ @Override @Transactional(propagation = REQUIRES_NEW) - public Boolean update(PsdcScene scenes) { + public Boolean update(PsdcSceneRes scenes) { + + Date date = new Date(); + String userName = sysUserMapper.selectUserById(scenes.getUserId()).getUserName(); + List scenesList = new ArrayList<>(); + for (DeviceVo dev : scenes.getDeviceVos()) { + if (null != dev.getIntemp() && !"".equals(dev.getIntemp())) { + SceneVo sceneVo; + sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "进水温度", "intemp", dev.getIntemp()); + scenesList.add(sceneVo); + } + if (null != dev.getOuttemp() && !"".equals(dev.getOuttemp())) { + SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "出水温度", "outtemp", dev.getOuttemp()); + scenesList.add(sceneVo); + } + if (null != dev.getTemp() && !"".equals(dev.getTemp())) { + SceneVo sceneVo = new SceneVo(scenes.getSceneName(), dev.getDeviceId(), "温度", "temp", dev.getTemp()); + scenesList.add(sceneVo); + } + } + try { - psdcSceneMapper.update(scenes); + for (SceneVo sc : scenesList) { + sc.setSceneCode(scenes.getSceneCode()); + sc.setUserId(scenes.getUserId()); + sc.setUpdateBy(userName); + sc.setUpdateTime(date); + sc.setSceneRemark(scenes.getSceneRemark()); + } + psdcSceneMapper.UpdateSceneData(scenesList); return true; } catch (Exception e) { e.printStackTrace(); @@ -202,10 +200,14 @@ public class PsdcSceneServiceImpl implements IPsdcSceneService { for (PsdcSceneRes psr : sceneRes) { Long code = psr.getSceneCode(); List listByCode = new ArrayList<>(); - for (SceneVo sv : list) { - if (code == sv.getSceneCode()) { // 判断是否为同个策略 - listByCode.add(sv); + if (null != sceneCode && 0 != sceneCode){ + for (SceneVo sv : list) { + if (code == sv.getSceneCode()) { // 判断是否为同个策略 + listByCode.add(sv); + } } + } else { + listByCode = psdcSceneMapper.findSceneByUserAndSceneCode(userId, code, sceneName); } List ary = new ArrayList<>(); Integer deviceId = listByCode.get(0).getDeviceId(); diff --git a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml index de0ad81..9cedea4 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml @@ -47,10 +47,10 @@ - Insert into psdc_scene(scene_name,scene_code,user_id,device_id,device_sn,scene_context,scene_key,scene_value) + Insert into psdc_scene(scene_name,scene_code,user_id,device_id,device_sn,scene_context,scene_key,scene_value,scene_remark, create_by, create_time) Values - (#{entity.sceneName}, #{entity.sceneCode},#{entity.userId}, #{entity.deviceId}, #{entity.deviceSn}, #{entity.sceneContext}, #{entity.sceneKey}, #{entity.sceneValue}) + (#{entity.sceneName}, #{entity.sceneCode},#{entity.userId}, #{entity.deviceId}, #{entity.deviceSn}, #{entity.sceneContext}, #{entity.sceneKey}, #{entity.sceneValue},#{entity.sceneRemark},#{entity.createBy},#{entity.createTime}) @@ -61,24 +61,29 @@ `scene_name`= #{item.sceneName}, - - device_id = #{deviceId}, - - - `device_sn` = #{item.deviceSn}, - `scene_context` = #{item.sceneContext}, - - `scene_key` = ${item.sceneKey}, - - `scene_value` = ${item.sceneValue} + `scene_value` = ${item.sceneValue}, + + + scene_remark = #{item.sceneRemark}, - `scene_code` = ${item.sceneCode} + + And scene_code = ${item.sceneCode} + + + And user_id = ${item.userId} + + + And device_id = ${item.deviceId} + + + And scene_key = #{item.sceneKey} + diff --git a/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java b/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java index add6a5c..d24b897 100644 --- a/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java +++ b/psdc-web/src/main/java/com/psdc/controller/manager/PsdcSceneController.java @@ -79,7 +79,7 @@ public class PsdcSceneController extends BaseController { @PreAuthorize("@ss.hasPermi('system:cl:list')") @Log(title = "策略管理", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@Validated @RequestBody PsdcScene scenes) { + public AjaxResult edit(@Validated @RequestBody PsdcSceneRes scenes) { return toAjax(psdcSceneService.update(scenes)); }