From 5a23359112c74a603c6c6c0b7b603291eb60c6dd Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Thu, 31 Jul 2025 09:08:17 +0800 Subject: [PATCH] =?UTF-8?q?WEB=E7=AB=AF=E8=A7=A3=E7=BB=91=E8=AE=BE?= =?UTF-8?q?=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/service/AppDeviceBizService.java | 27 +++++--- .../device/WEBDeviceController.java | 34 ++-------- .../service/impl/WEBDeviceServiceImpl.java | 62 ++++--------------- 3 files changed, 36 insertions(+), 87 deletions(-) diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/service/AppDeviceBizService.java b/fys-admin/src/main/java/com/fuyuanshen/app/service/AppDeviceBizService.java index deada9f..2ce86da 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/service/AppDeviceBizService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/service/AppDeviceBizService.java @@ -1,5 +1,6 @@ package com.fuyuanshen.app.service; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -206,10 +207,10 @@ public class AppDeviceBizService { public int unBindDevice(Long id) { - return unBindDevice(id, null); + return unBindDevice(id, null, 1); } - public int unBindDevice(Long id, Long userId) { + public int unBindDevice(Long id, Long userId, int type) { Device device = deviceMapper.selectById(id); if (device == null) { throw new RuntimeException("请先将设备入库!!!"); @@ -221,15 +222,25 @@ public class AppDeviceBizService { .set("binding_time", null); deviceMapper.update(null, deviceUpdateWrapper); - if (userId == null){ - userId = AppLoginHelper.getUserId(); + if (userId == null) { + userId = AppLoginHelper.getUserId(); } QueryWrapper bindRecordQueryWrapper = new QueryWrapper<>(); bindRecordQueryWrapper.eq("device_id", device.getId()); - bindRecordQueryWrapper.eq("binding_user_id", userId); - AppDeviceBindRecord appDeviceBindRecord = appDeviceBindRecordMapper.selectOne(bindRecordQueryWrapper); - if (appDeviceBindRecord != null) { - return appDeviceBindRecordMapper.deleteById(appDeviceBindRecord.getId()); + // 设备端解绑 0:设备端解绑 1:web端解绑 + if (type == 1) { + bindRecordQueryWrapper.eq("binding_user_id", userId); + } + + // AppDeviceBindRecord appDeviceBindRecord = appDeviceBindRecordMapper.selectOne(bindRecordQueryWrapper); + // if (appDeviceBindRecord != null) { + // return appDeviceBindRecordMapper.deleteById(appDeviceBindRecord.getId()); + // } + + List appDeviceBindRecordList = appDeviceBindRecordMapper.selectList(bindRecordQueryWrapper); + if (CollectionUtil.isNotEmpty(appDeviceBindRecordList)) { + appDeviceBindRecordList.forEach(appDeviceBindRecord -> + appDeviceBindRecordMapper.deleteById(appDeviceBindRecord.getId())); } return 1; diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/WEBDeviceController.java b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/WEBDeviceController.java index 4d24c00..eadb157 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/WEBDeviceController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/WEBDeviceController.java @@ -1,43 +1,16 @@ package com.fuyuanshen.web.controller.device; -import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fuyuanshen.common.core.domain.R; -import com.fuyuanshen.common.core.domain.model.LoginUser; -import com.fuyuanshen.common.core.utils.file.FileUtil; -import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; -import com.fuyuanshen.common.satoken.utils.LoginHelper; import com.fuyuanshen.common.web.core.BaseController; -import com.fuyuanshen.customer.mapper.CustomerMapper; -import com.fuyuanshen.equipment.domain.Device; -import com.fuyuanshen.equipment.domain.dto.DeviceExcelImportDTO; -import com.fuyuanshen.equipment.domain.dto.ImportResult; -import com.fuyuanshen.equipment.domain.form.DeviceForm; -import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; -import com.fuyuanshen.equipment.domain.vo.CustomerVo; -import com.fuyuanshen.equipment.excel.DeviceImportParams; -import com.fuyuanshen.equipment.excel.UploadDeviceDataListener; -import com.fuyuanshen.equipment.mapper.DeviceMapper; -import com.fuyuanshen.equipment.mapper.DeviceTypeMapper; -import com.fuyuanshen.equipment.service.DeviceTypeService; -import com.fuyuanshen.equipment.service.impl.DeviceExportService; -import com.fuyuanshen.system.service.ISysOssService; import com.fuyuanshen.web.service.WEBDeviceService; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; -import io.undertow.util.BadRequestException; -import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.util.List; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * @Description: @@ -53,6 +26,7 @@ public class WEBDeviceController extends BaseController { private final WEBDeviceService deviceService; + /** * @param id * @return diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/WEBDeviceServiceImpl.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/WEBDeviceServiceImpl.java index 64107b7..9f8e041 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/WEBDeviceServiceImpl.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/WEBDeviceServiceImpl.java @@ -1,63 +1,15 @@ package com.fuyuanshen.web.service.impl; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.UUID; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fuyuanshen.app.service.AppDeviceBizService; -import com.fuyuanshen.common.core.domain.model.LoginUser; -import com.fuyuanshen.common.core.exception.BadRequestException; -import com.fuyuanshen.common.core.utils.StringUtils; -import com.fuyuanshen.common.mybatis.core.page.PageQuery; -import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; -import com.fuyuanshen.common.satoken.utils.AppLoginHelper; -import com.fuyuanshen.common.satoken.utils.LoginHelper; -import com.fuyuanshen.customer.domain.Customer; -import com.fuyuanshen.customer.mapper.CustomerMapper; -import com.fuyuanshen.equipment.constants.DeviceConstants; import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.DeviceAssignments; -import com.fuyuanshen.equipment.domain.DeviceType; -import com.fuyuanshen.equipment.domain.DeviceTypeGrants; -import com.fuyuanshen.equipment.domain.dto.AppDeviceBo; -import com.fuyuanshen.equipment.domain.form.DeviceForm; -import com.fuyuanshen.equipment.domain.query.DeviceAssignmentQuery; -import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; -import com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria; -import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; -import com.fuyuanshen.equipment.domain.vo.CustomerVo; -import com.fuyuanshen.equipment.enums.BindingStatusEnum; -import com.fuyuanshen.equipment.enums.CommunicationModeEnum; -import com.fuyuanshen.equipment.enums.DeviceActiveStatusEnum; import com.fuyuanshen.equipment.mapper.DeviceAssignmentsMapper; import com.fuyuanshen.equipment.mapper.DeviceMapper; -import com.fuyuanshen.equipment.mapper.DeviceTypeGrantsMapper; -import com.fuyuanshen.equipment.mapper.DeviceTypeMapper; -import com.fuyuanshen.equipment.service.DeviceAssignmentsService; -import com.fuyuanshen.equipment.service.DeviceTypeGrantsService; -import com.fuyuanshen.system.domain.vo.SysOssVo; -import com.fuyuanshen.system.service.ISysOssService; import com.fuyuanshen.web.service.WEBDeviceService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.IOException; -import java.sql.Timestamp; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; /** * @Description: @@ -71,6 +23,8 @@ public class WEBDeviceServiceImpl extends ServiceImpl impl private final AppDeviceBizService appDeviceService; + private final DeviceAssignmentsMapper deviceAssignmentsMapper; + /** * WEB端解绑设备 @@ -80,7 +34,17 @@ public class WEBDeviceServiceImpl extends ServiceImpl impl */ @Override public int webUnBindDevice(Long id, Long userId) { - return appDeviceService.unBindDevice(id,userId); + // 设备端解绑 0:设备端解绑 1:web端解绑 + int type = 1; + if (userId == null) { + DeviceAssignments deviceAssignments = deviceAssignmentsMapper.selectById(id); + if (deviceAssignments == null) { + throw new RuntimeException("请先将设备入库!!!"); + } + id = deviceAssignments.getDeviceId(); + type = 0; + } + return appDeviceService.unBindDevice(id, userId, type); }