Bläddra i källkod

修复设备关联的校验问题

xucaiqin 2 år sedan
förälder
incheckning
e976d8acb2

+ 1 - 1
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/controller/IotProjectDeviceController.java

@@ -56,7 +56,7 @@ public class IotProjectDeviceController {
      */
     @GetMapping("/updateDeviceStatus")
     @Transactional(rollbackFor = Exception.class)
-    public Result<Object> updateDeviceStatus(@NotNull(message = "deviceId不能为空") Long deviceId, @NotNull(message = "启用状态不能为空") Long enableFlag) {
+    public Result<Object> updateDeviceStatus(@NotNull(message = "deviceId不能为空") Long deviceId, @NotNull(message = "启用状态不能为空") Integer enableFlag) {
         return Result.ok(iotProjectDeviceService.updateProDeviceStatus(deviceId, enableFlag), "保存成功");
     }
 

+ 0 - 1
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/mapper/IotProjectDeviceMapper.java

@@ -30,7 +30,6 @@ public interface IotProjectDeviceMapper extends BaseMapper<IotProjectDevice> {
 
     IotProjectDevice selectByProjectDevice(IotProjectDevice iotProjectDevice);
 
-    Integer updateById(@Param("deviceId") Long deviceId, @Param("enableFlag") Long enableFlag);
 
     Integer updateProDeviceUntie(@Param("id") Long id);
 

+ 9 - 7
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotProjectDeviceService.java

@@ -18,6 +18,7 @@ import com.middle.platform.pagehelper.core.PageRes;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Objects;
@@ -72,6 +73,7 @@ public class IotProjectDeviceService extends ServiceImpl<IotProjectDeviceMapper,
      * @author Aick Spt
      * @date 2023-12-24 11:08
      */
+    @Transactional(rollbackFor = Exception.class)
     public Object save(IotProjectDevicePara iotProjectDevicePara) {
         if (iotProjectDevicePara.getDeviceIds() == null) {
             throw new RuntimeException("设备ID集合不能为空");
@@ -88,11 +90,8 @@ public class IotProjectDeviceService extends ServiceImpl<IotProjectDeviceMapper,
                     .eq(IotProjectDevice::getDelFlag, Global.UN_DEL)
             );
             if (Objects.nonNull(iotProjectDevice)) {
-                //有则更新状态即可
-                iotProjectDevice.setProjectId(iotProjectDevice.getProjectId());
-                iotProjectDevice.setUpdateBy(null);
-                iotProjectDevice.setUpdateTime(null);
-                iotProjectDeviceMapper.updateById(iotProjectDevice);
+                //有则提示
+                throw new BusinessException(iotProjectDevice.getDeviceId() + "设备已关联其它项目");
             } else {
                 //没有则新增
                 IotProjectDevice iotProjectDeviceA = new IotProjectDevice();
@@ -126,13 +125,16 @@ public class IotProjectDeviceService extends ServiceImpl<IotProjectDeviceMapper,
      * @author Aick Spt
      * @date 2023-12-24 14:21
      */
-    public Object updateProDeviceStatus(Long deviceId, Long enableFlag) {
+    public Object updateProDeviceStatus(Long deviceId, Integer enableFlag) {
         if (!(enableFlag == 1 || enableFlag == 0)) {
             throw new RuntimeException("修改状态异常");
         }
         //校验设备
         check(deviceId);
-        return iotProjectDeviceMapper.updateById(deviceId, enableFlag);
+        IotDevice iotDevice = new IotDevice();
+        iotDevice.setId(deviceId);
+        iotDevice.setEnableFlag(enableFlag);
+        return iotDeviceMapper.updateById(iotDevice);
     }
 
     /**

+ 0 - 9
iot-module/iot-module-manage/iot-module-manage-biz/src/main/resources/mapper/IotProjectDeviceMapper.xml

@@ -61,15 +61,6 @@
     </select>
 
 
-    <update id="updateById">
-        update iot_device
-        <set>
-            enable_flag = #{enableFlag,jdbcType=BIGINT}
-        </set>
-        <where>
-            id = #{deviceId,jdbcType=BIGINT}
-        </where>
-    </update>
 
     <update id="updateProDeviceUntie">
         update iot_project_device