From ceeda046ea179022bf05288276a24d479283d7d0 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Wed, 30 Jul 2025 18:39:12 +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/controller/AppDeviceController.java | 1 - .../app/service/AppDeviceBizService.java | 116 ++++++++++-------- .../global/mqtt/rule/LocationDataRule.java | 2 +- .../device/WEBDeviceController.java | 72 +++++++++++ .../web/service/WEBDeviceService.java | 32 +++++ .../service/impl/WEBDeviceServiceImpl.java | 87 +++++++++++++ .../controller/DeviceController.java | 26 ++-- 7 files changed, 267 insertions(+), 69 deletions(-) create mode 100644 fys-admin/src/main/java/com/fuyuanshen/web/controller/device/WEBDeviceController.java create mode 100644 fys-admin/src/main/java/com/fuyuanshen/web/service/WEBDeviceService.java create mode 100644 fys-admin/src/main/java/com/fuyuanshen/web/service/impl/WEBDeviceServiceImpl.java diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppDeviceController.java b/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppDeviceController.java index 4644d5b..cf685e2 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppDeviceController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/controller/AppDeviceController.java @@ -41,7 +41,6 @@ public class AppDeviceController extends BaseController { */ @GetMapping("/list") public TableDataInfo list(DeviceQueryCriteria bo, PageQuery pageQuery) { - return appDeviceService.queryAppDeviceList(bo,pageQuery); } 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 a063aef..deada9f 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 @@ -82,23 +82,23 @@ public class AppDeviceBizService { public int sendMessage(AppDeviceSendMsgBo bo) { List deviceIds = bo.getDeviceIds(); - if(deviceIds == null || deviceIds.isEmpty()){ + if (deviceIds == null || deviceIds.isEmpty()) { throw new ServiceException("请选择设备"); } - for (Long deviceId : deviceIds){ + for (Long deviceId : deviceIds) { Device deviceObj = deviceMapper.selectById(deviceId); - if(deviceObj==null) { - throw new ServiceException("设备不存在"+deviceId); + if (deviceObj == null) { + throw new ServiceException("设备不存在" + deviceId); } byte[] msg = ReliableTextToBitmap.textToBitmapBytes(bo.getSendMsg()); ArrayList intData = new ArrayList<>(); intData.add(2); - buildArr(convertHexToDecimal(msg),intData); + buildArr(convertHexToDecimal(msg), intData); Map map = new HashMap<>(); map.put("instruct", intData); - mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY+deviceObj.getDeviceImei(), 1 ,JSON.toJSONString(map)); - log.info("发送设备消息:topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+deviceObj.getDeviceImei(),bo.getSendMsg()); + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + deviceObj.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送设备消息:topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + deviceObj.getDeviceImei(), bo.getSendMsg()); UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", deviceId) @@ -147,7 +147,7 @@ public class AppDeviceBizService { .set("update_time", new Date()) .set("binding_time", new Date()); return appDeviceBindRecordMapper.update(null, deviceUpdateWrapper); - }else{ + } else { AppDeviceBindRecord bindRecord = new AppDeviceBindRecord(); bindRecord.setDeviceId(device.getId()); bindRecord.setBindingUserId(userId); @@ -183,7 +183,7 @@ public class AppDeviceBizService { .set("binding_user_id", userId) .set("binding_time", new Date()); return appDeviceBindRecordMapper.update(null, deviceUpdateWrapper); - }else{ + } else { AppDeviceBindRecord bindRecord = new AppDeviceBindRecord(); bindRecord.setDeviceId(device.getId()); bindRecord.setBindingUserId(userId); @@ -204,7 +204,12 @@ public class AppDeviceBizService { } + public int unBindDevice(Long id) { + return unBindDevice(id, null); + } + + public int unBindDevice(Long id, Long userId) { Device device = deviceMapper.selectById(id); if (device == null) { throw new RuntimeException("请先将设备入库!!!"); @@ -216,7 +221,9 @@ public class AppDeviceBizService { .set("binding_time", null); deviceMapper.update(null, deviceUpdateWrapper); - Long 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); @@ -228,6 +235,7 @@ public class AppDeviceBizService { return 1; } + public AppDeviceDetailVo getInfo(Long id) { Device device = deviceMapper.selectById(id); if (device == null) { @@ -241,7 +249,7 @@ public class AppDeviceBizService { vo.setDeviceMac(device.getDeviceMac()); vo.setDeviceStatus(device.getDeviceStatus()); DeviceType deviceType = deviceTypeMapper.selectById(device.getDeviceType()); - if(deviceType!=null){ + if (deviceType != null) { vo.setCommunicationMode(Integer.valueOf(deviceType.getCommunicationMode())); vo.setTypeName(deviceType.getTypeName()); } @@ -252,7 +260,7 @@ public class AppDeviceBizService { QueryWrapper qw = new QueryWrapper() .eq("device_id", device.getId()); AppPersonnelInfo appPersonnelInfo = appPersonnelInfoMapper.selectOne(qw); - if(appPersonnelInfo != null){ + if (appPersonnelInfo != null) { AppPersonnelInfoVo personnelInfoVo = MapstructUtils.convert(appPersonnelInfo, AppPersonnelInfoVo.class); vo.setPersonnelInfo(personnelInfoVo); } @@ -281,24 +289,24 @@ public class AppDeviceBizService { // int[] a = new int[]{6,6,6,6,6,6}; ArrayList intData = new ArrayList<>(); intData.add(2); - buildArr(convertHexToDecimal(unitName),intData); - buildArr(convertHexToDecimal(position),intData); - buildArr(convertHexToDecimal(name),intData); - buildArr(convertHexToDecimal(id),intData); + buildArr(convertHexToDecimal(unitName), intData); + buildArr(convertHexToDecimal(position), intData); + buildArr(convertHexToDecimal(name), intData); + buildArr(convertHexToDecimal(id), intData); intData.add(0); intData.add(0); intData.add(0); intData.add(0); Map map = new HashMap<>(); map.put("instruct", intData); - System.out.println(JSON.toJSONString( map)); + System.out.println(JSON.toJSONString(map)); } public boolean registerPersonInfo(AppPersonnelInfoBo bo) { Long deviceId = bo.getDeviceId(); Device deviceObj = deviceMapper.selectById(deviceId); - if(deviceObj == null){ + if (deviceObj == null) { throw new RuntimeException("请先将设备入库!!!"); } QueryWrapper qw = new QueryWrapper() @@ -311,30 +319,30 @@ public class AppDeviceBizService { byte[] id = generateFixedBitmapData(bo.getCode(), 120); ArrayList intData = new ArrayList<>(); intData.add(2); - buildArr(convertHexToDecimal(unitName),intData); - buildArr(convertHexToDecimal(position),intData); - buildArr(convertHexToDecimal(name),intData); - buildArr(convertHexToDecimal(id),intData); + buildArr(convertHexToDecimal(unitName), intData); + buildArr(convertHexToDecimal(position), intData); + buildArr(convertHexToDecimal(name), intData); + buildArr(convertHexToDecimal(id), intData); intData.add(0); intData.add(0); intData.add(0); intData.add(0); Map map = new HashMap<>(); map.put("instruct", intData); - mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY+deviceObj.getDeviceImei(), 1 , JSON.toJSONString( map)); - log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+deviceObj.getDeviceImei(),bo); + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + deviceObj.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + deviceObj.getDeviceImei(), bo); - if(ObjectUtils.length(appPersonnelInfoVos) == 0){ + if (ObjectUtils.length(appPersonnelInfoVos) == 0) { AppPersonnelInfo appPersonnelInfo = MapstructUtils.convert(bo, AppPersonnelInfo.class); return appPersonnelInfoMapper.insertOrUpdate(appPersonnelInfo); - }else { + } else { UpdateWrapper uw = new UpdateWrapper<>(); uw.eq("device_id", deviceId) .set("name", bo.getName()) .set("position", bo.getPosition()) .set("unit_name", bo.getUnitName()) - .set("code",bo.getCode()); - return appPersonnelInfoMapper.update(null, uw)>0; + .set("code", bo.getCode()); + return appPersonnelInfoMapper.update(null, uw) > 0; } @@ -343,20 +351,20 @@ public class AppDeviceBizService { public void uploadDeviceLogo(AppDeviceLogoUploadDto bo) { try { Device device = deviceMapper.selectById(bo.getDeviceId()); - if(device == null){ + if (device == null) { throw new ServiceException("设备不存在"); } MultipartFile file = bo.getFile(); - byte[] largeData = ImageToCArrayConverter.convertImageToCArray(file.getInputStream(), 160, 80,25600); - System.out.println("长度:"+largeData.length); + byte[] largeData = ImageToCArrayConverter.convertImageToCArray(file.getInputStream(), 160, 80, 25600); + System.out.println("长度:" + largeData.length); System.out.println("原始数据大小: " + largeData.length + " 字节"); int[] ints = convertHexToDecimal(largeData); - RedisUtils.setCacheObject("app_logo_data:"+device.getDeviceImei(), Arrays.toString(ints), Duration.ofSeconds(30*60L)); + RedisUtils.setCacheObject("app_logo_data:" + device.getDeviceImei(), Arrays.toString(ints), Duration.ofSeconds(30 * 60L)); - String data = RedisUtils.getCacheObject("app_logo_data:"+device.getDeviceImei()); + String data = RedisUtils.getCacheObject("app_logo_data:" + device.getDeviceImei()); byte[] arr = ImageToCArrayConverter.convertStringToByteArray(data); byte[] specificChunk = ImageToCArrayConverter.getChunk(arr, 0, 512); @@ -366,16 +374,16 @@ public class AppDeviceBizService { ArrayList intData = new ArrayList<>(); intData.add(3); intData.add(1); - ImageToCArrayConverter.buildArr(convertHexToDecimal(specificChunk),intData); + ImageToCArrayConverter.buildArr(convertHexToDecimal(specificChunk), intData); intData.add(0); intData.add(0); intData.add(0); intData.add(0); Map map = new HashMap<>(); map.put("instruct", intData); - mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(), 1 , JSON.toJSONString(map)); - log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); - } catch (Exception e){ + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), JSON.toJSONString(map)); + } catch (Exception e) { e.printStackTrace(); } } @@ -388,7 +396,7 @@ public class AppDeviceBizService { try { Long deviceId = params.getLong("deviceId"); Device device = deviceMapper.selectById(deviceId); - if(device == null){ + if (device == null) { throw new ServiceException("设备不存在"); } Integer instructValue = params.getInteger("instructValue"); @@ -400,19 +408,19 @@ public class AppDeviceBizService { intData.add(0); Map map = new HashMap<>(); map.put("instruct", intData); - mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(), 1 , JSON.toJSONString(map)); - log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); - } catch (Exception e){ + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), JSON.toJSONString(map)); + } catch (Exception e) { e.printStackTrace(); } } - //灯光亮度设置 + // 灯光亮度设置 public void lightBrightnessSettings(JSONObject params) { try { Long deviceId = params.getLong("deviceId"); Device device = deviceMapper.selectById(deviceId); - if(device == null){ + if (device == null) { throw new ServiceException("设备不存在"); } String instructValue = params.getString("instructValue"); @@ -421,10 +429,10 @@ public class AppDeviceBizService { String[] values = instructValue.split("\\."); String value1 = values[0]; String value2 = values[1]; - if(StringUtils.isNoneBlank(value1)){ + if (StringUtils.isNoneBlank(value1)) { intData.add(Integer.parseInt(value1)); } - if(StringUtils.isNoneBlank(value2)){ + if (StringUtils.isNoneBlank(value2)) { intData.add(Integer.parseInt(value2)); } intData.add(0); @@ -432,19 +440,19 @@ public class AppDeviceBizService { intData.add(0); Map map = new HashMap<>(); map.put("instruct", intData); - mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(), 1 , JSON.toJSONString(map)); - log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); - } catch (Exception e){ + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), JSON.toJSONString(map)); + } catch (Exception e) { e.printStackTrace(); } } - //激光模式设置 + // 激光模式设置 public void laserModeSettings(JSONObject params) { try { Long deviceId = params.getLong("deviceId"); Device device = deviceMapper.selectById(deviceId); - if(device == null){ + if (device == null) { throw new ServiceException("设备不存在"); } Integer instructValue = params.getInteger("instructValue"); @@ -456,9 +464,9 @@ public class AppDeviceBizService { intData.add(0); Map map = new HashMap<>(); map.put("instruct", intData); - mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(), 1 , JSON.toJSONString(map)); - log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); - } catch (Exception e){ + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), JSON.toJSONString(map)); + } catch (Exception e) { e.printStackTrace(); } } @@ -466,7 +474,7 @@ public class AppDeviceBizService { public String mapReverseGeocoding(JSONObject params) { Long deviceId = params.getLong("deviceId"); Device device = deviceMapper.selectById(deviceId); - if(device == null){ + if (device == null) { throw new ServiceException("设备不存在"); } return RedisUtils.getCacheObject("device:location:" + device.getDeviceImei()); diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/LocationDataRule.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/LocationDataRule.java index 1345ce6..2150d2f 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/LocationDataRule.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/LocationDataRule.java @@ -2,7 +2,7 @@ package com.fuyuanshen.global.mqtt.rule; import com.fuyuanshen.common.json.utils.JsonUtils; import com.fuyuanshen.common.redis.utils.RedisUtils; -import com.fuyuanshen.equipment.utils.c.map.GetAddressFromLatUtil; +import com.fuyuanshen.equipment.utils.map.GetAddressFromLatUtil; import com.fuyuanshen.global.mqtt.base.MqttMessageRule; import com.fuyuanshen.global.mqtt.base.MqttRuleContext; import com.fuyuanshen.global.mqtt.config.MqttGateway; 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 new file mode 100644 index 0000000..4d24c00 --- /dev/null +++ b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/WEBDeviceController.java @@ -0,0 +1,72 @@ +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; + +/** + * @Description: + * @Author: WY + * @Date: 2025/5/16 + **/ +@Slf4j +@Tag(name = "web:设备管理", description = "web:设备管理") +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/device") +public class WEBDeviceController extends BaseController { + + private final WEBDeviceService deviceService; + + /** + * @param id + * @return + * @ModelAttribute 主要用于将请求参数绑定到 Java 对象上,它会从 HTTP 请求的查询参数(Query Parameters) + * 或表单数据(Form Data)中提取值,并自动填充到指定的对象属性中。 + */ + // @Log("解绑设备") + @Operation(summary = "WEB端解绑设备") + @DeleteMapping(value = "/unbind") + public R unbindDevice(Long id, Long userId) { + return toAjax(deviceService.webUnBindDevice(id, userId)); + } + + +} + + diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/WEBDeviceService.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/WEBDeviceService.java new file mode 100644 index 0000000..0274717 --- /dev/null +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/WEBDeviceService.java @@ -0,0 +1,32 @@ +package com.fuyuanshen.web.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.fuyuanshen.common.mybatis.core.page.PageQuery; +import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; +import com.fuyuanshen.equipment.domain.Device; +import com.fuyuanshen.equipment.domain.dto.AppDeviceBo; +import com.fuyuanshen.equipment.domain.form.DeviceForm; +import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; +import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; +import com.fuyuanshen.equipment.domain.vo.CustomerVo; + +import java.io.IOException; +import java.util.List; + +/** + * @Description: + * @Author: WY + * @Date: 2025/5/16 + **/ +public interface WEBDeviceService extends IService { + + /** + * WEB端解绑设备 + * + * @param id + * @return + */ + int webUnBindDevice(Long id, Long userId); + +} 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 new file mode 100644 index 0000000..64107b7 --- /dev/null +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/WEBDeviceServiceImpl.java @@ -0,0 +1,87 @@ +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: + * @Author: WY + * @Date: 2025/5/16 + **/ +@Slf4j +@Service +@RequiredArgsConstructor +public class WEBDeviceServiceImpl extends ServiceImpl implements WEBDeviceService { + + private final AppDeviceBizService appDeviceService; + + + /** + * WEB端解绑设备 + * + * @param id + * @return + */ + @Override + public int webUnBindDevice(Long id, Long userId) { + return appDeviceService.unBindDevice(id,userId); + } + + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java index 0e9f3de..229c2da 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java @@ -147,19 +147,19 @@ public class DeviceController extends BaseController { return R.ok(); } - - /** - * @param id - * @return - * @ModelAttribute 主要用于将请求参数绑定到 Java 对象上,它会从 HTTP 请求的查询参数(Query Parameters) - * 或表单数据(Form Data)中提取值,并自动填充到指定的对象属性中。 - */ - // @Log("解绑设备") - @Operation(summary = "WEB端解绑设备") - @GetMapping(value = "/unbind") - public R unbindDevice(@Validated Long id) { - return toAjax(deviceService.webUnBindDevice(id)); - } + // + // /** + // * @param id + // * @return + // * @ModelAttribute 主要用于将请求参数绑定到 Java 对象上,它会从 HTTP 请求的查询参数(Query Parameters) + // * 或表单数据(Form Data)中提取值,并自动填充到指定的对象属性中。 + // */ + // // @Log("解绑设备") + // @Operation(summary = "WEB端解绑设备") + // @GetMapping(value = "/unbind") + // public R unbindDevice(@Validated Long id) { + // return toAjax(deviceService.webUnBindDevice(id)); + // } @Operation(summary = "导出数据设备")