添加告警处理逻辑

This commit is contained in:
2025-08-14 15:07:58 +08:00
parent 8a6c196fb9
commit a189d0d0f9
13 changed files with 52 additions and 53 deletions

View File

@ -3,7 +3,6 @@ package com.fuyuanshen.app.controller;
import com.fuyuanshen.app.domain.dto.APPReNameDTO; import com.fuyuanshen.app.domain.dto.APPReNameDTO;
import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto; import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto;
import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo; import com.fuyuanshen.app.domain.vo.APPDeviceTypeVo;
import com.fuyuanshen.app.service.AppDeviceBizService;
import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.R;
import com.fuyuanshen.common.mybatis.core.page.PageQuery; import com.fuyuanshen.common.mybatis.core.page.PageQuery;
import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo;
@ -12,6 +11,7 @@ import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.dto.AppDeviceBo; import com.fuyuanshen.equipment.domain.dto.AppDeviceBo;
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria; import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; import com.fuyuanshen.equipment.domain.vo.AppDeviceVo;
import com.fuyuanshen.web.service.device.DeviceBizService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -28,7 +28,7 @@ import java.util.Map;
@RequestMapping("/app/device") @RequestMapping("/app/device")
public class AppDeviceController extends BaseController { public class AppDeviceController extends BaseController {
private final AppDeviceBizService appDeviceService; private final DeviceBizService appDeviceService;
/** /**

View File

@ -4,13 +4,13 @@ import com.fuyuanshen.app.domain.bo.AppPersonnelInfoBo;
import com.fuyuanshen.app.domain.dto.AppDeviceLogoUploadDto; import com.fuyuanshen.app.domain.dto.AppDeviceLogoUploadDto;
import com.fuyuanshen.app.domain.dto.DeviceInstructDto; import com.fuyuanshen.app.domain.dto.DeviceInstructDto;
import com.fuyuanshen.app.domain.vo.AppDeviceDetailVo; import com.fuyuanshen.app.domain.vo.AppDeviceDetailVo;
import com.fuyuanshen.app.service.device.AppDeviceBJQBizService;
import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.R;
import com.fuyuanshen.common.core.validate.AddGroup; import com.fuyuanshen.common.core.validate.AddGroup;
import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessAnnotation; import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessAnnotation;
import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessBatcAnnotation; import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessBatcAnnotation;
import com.fuyuanshen.common.web.core.BaseController; import com.fuyuanshen.common.web.core.BaseController;
import com.fuyuanshen.equipment.domain.dto.AppDeviceSendMsgBo; import com.fuyuanshen.equipment.domain.dto.AppDeviceSendMsgBo;
import com.fuyuanshen.web.service.device.DeviceBJQBizService;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -26,7 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
@RequestMapping("/app/bjq/device") @RequestMapping("/app/bjq/device")
public class AppDeviceBJQController extends BaseController { public class AppDeviceBJQController extends BaseController {
private final AppDeviceBJQBizService appDeviceService; private final DeviceBJQBizService appDeviceService;
/** /**
* 获取设备详细信息 * 获取设备详细信息

View File

@ -4,11 +4,11 @@ import com.fuyuanshen.app.domain.bo.AppPersonnelInfoBo;
import com.fuyuanshen.app.domain.dto.AppDeviceLogoUploadDto; import com.fuyuanshen.app.domain.dto.AppDeviceLogoUploadDto;
import com.fuyuanshen.app.domain.dto.DeviceInstructDto; import com.fuyuanshen.app.domain.dto.DeviceInstructDto;
import com.fuyuanshen.app.domain.vo.AppDeviceDetailVo; import com.fuyuanshen.app.domain.vo.AppDeviceDetailVo;
import com.fuyuanshen.app.service.AppDeviceBizService;
import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.R;
import com.fuyuanshen.common.core.validate.AddGroup; import com.fuyuanshen.common.core.validate.AddGroup;
import com.fuyuanshen.common.web.core.BaseController; import com.fuyuanshen.common.web.core.BaseController;
import com.fuyuanshen.equipment.domain.dto.AppDeviceSendMsgBo; import com.fuyuanshen.equipment.domain.dto.AppDeviceSendMsgBo;
import com.fuyuanshen.web.service.device.DeviceBizService;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -24,7 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
@RequestMapping("/app/hby/device") @RequestMapping("/app/hby/device")
public class AppDeviceHBYController extends BaseController { public class AppDeviceHBYController extends BaseController {
private final AppDeviceBizService appDeviceService; private final DeviceBizService appDeviceService;
/** /**

View File

@ -35,6 +35,12 @@ public class LightingCommandTypeConstants {
* 设备发送消息 * 设备发送消息
*/ */
public static final String SEND_MESSAGE = "Light_6"; public static final String SEND_MESSAGE = "Light_6";
/**
* 报警模式
*/
public static final String ALARM_MESSAGE = "Light_7";
/** /**
* 定位数据 (Location Data) * 定位数据 (Location Data)

View File

@ -28,7 +28,7 @@ public class BjqAlarmRule implements MqttMessageRule {
@Override @Override
public String getCommandType() { public String getCommandType() {
return LightingCommandTypeConstants.LIGHT_MODE; return LightingCommandTypeConstants.ALARM_MESSAGE;
} }
@Override @Override
@ -37,10 +37,13 @@ public class BjqAlarmRule implements MqttMessageRule {
try { try {
Object[] convertArr = context.getConvertArr(); Object[] convertArr = context.getConvertArr();
String mainLightMode = convertArr[1].toString(); String convertValue = convertArr[1].toString();
if(StringUtils.isNotBlank(mainLightMode)){ if(StringUtils.isNotBlank(convertValue)){
// 发送设备状态和位置信息到Redis // 设备状态信息存储到Redis
syncSendDeviceDataToRedisWithFuture(context.getDeviceImei(),mainLightMode); String deviceRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+DeviceRedisKeyConstants.DEVICE_KEY_PREFIX + context.getDeviceImei() + DEVICE_ALARM_KEY_PREFIX;
// 存储到Redis
RedisUtils.setCacheObject(deviceRedisKey, convertValue);
} }
RedisUtils.setCacheObject(functionAccess, FunctionAccessStatus.OK.getCode(), Duration.ofSeconds(20)); RedisUtils.setCacheObject(functionAccess, FunctionAccessStatus.OK.getCode(), Duration.ofSeconds(20));
} catch (Exception e) { } catch (Exception e) {
@ -49,24 +52,5 @@ public class BjqAlarmRule implements MqttMessageRule {
} }
} }
/**
* 发送设备状态信息和位置信息到Redis使用CompletableFuture
*
* @param deviceImei 设备IMEI
*/
public void syncSendDeviceDataToRedisWithFuture(String deviceImei,Object convertValue) {
try {
// 将设备状态信息存储到Redis中
String deviceRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+DeviceRedisKeyConstants.DEVICE_KEY_PREFIX + deviceImei + DEVICE_ALARM_KEY_PREFIX;
// 存储到Redis
RedisUtils.setCacheObject(deviceRedisKey, convertValue.toString());
} catch (Exception e) {
log.error("异步发送设备信息到Redis时出错: device={}, error={}", deviceImei, e.getMessage(), e);
}
}
} }

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.app.service.device; package com.fuyuanshen.web.service.device;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
@ -14,7 +14,6 @@ import com.fuyuanshen.app.mapper.AppPersonnelInfoMapper;
import com.fuyuanshen.common.core.constant.GlobalConstants; import com.fuyuanshen.common.core.constant.GlobalConstants;
import com.fuyuanshen.common.core.exception.ServiceException; import com.fuyuanshen.common.core.exception.ServiceException;
import com.fuyuanshen.common.core.utils.*; import com.fuyuanshen.common.core.utils.*;
import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessAnnotation;
import com.fuyuanshen.common.redis.utils.RedisUtils; import com.fuyuanshen.common.redis.utils.RedisUtils;
import com.fuyuanshen.common.satoken.utils.AppLoginHelper; import com.fuyuanshen.common.satoken.utils.AppLoginHelper;
import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.Device;
@ -39,14 +38,13 @@ import static com.fuyuanshen.common.core.constant.GlobalConstants.GLOBAL_REDIS_K
import static com.fuyuanshen.common.core.utils.Bitmap80x12Generator.buildArr; import static com.fuyuanshen.common.core.utils.Bitmap80x12Generator.buildArr;
import static com.fuyuanshen.common.core.utils.Bitmap80x12Generator.generateFixedBitmapData; import static com.fuyuanshen.common.core.utils.Bitmap80x12Generator.generateFixedBitmapData;
import static com.fuyuanshen.common.core.utils.ImageToCArrayConverter.convertHexToDecimal; import static com.fuyuanshen.common.core.utils.ImageToCArrayConverter.convertHexToDecimal;
import static com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants.DEVICE_BOOT_LOGO_KEY_PREFIX; import static com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants.*;
import static com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants.DEVICE_KEY_PREFIX;
@Slf4j @Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class AppDeviceBJQBizService { public class DeviceBJQBizService {
private final DeviceMapper deviceMapper; private final DeviceMapper deviceMapper;
private final AppPersonnelInfoMapper appPersonnelInfoMapper; private final AppPersonnelInfoMapper appPersonnelInfoMapper;
@ -97,6 +95,7 @@ public class AppDeviceBJQBizService {
deviceMapper.update(updateWrapper); deviceMapper.update(updateWrapper);
} catch (Exception e) { } catch (Exception e) {
log.info("发送信息设备发送信息失败:{}" ,deviceId); log.info("发送信息设备发送信息失败:{}" ,deviceId);
throw new ServiceException("发送指令失败");
} }
} }
@ -161,6 +160,11 @@ public class AppDeviceBJQBizService {
vo.setAddress((String)jsonObject.get("address")); vo.setAddress((String)jsonObject.get("address"));
} }
String alarmStatus = RedisUtils.getCacheObject(GLOBAL_REDIS_KEY +DEVICE_KEY_PREFIX+ device.getDeviceImei()+ DEVICE_ALARM_KEY_PREFIX);
if(StringUtils.isNotBlank(alarmStatus)){
vo.setAlarmStatus(alarmStatus);
}
return vo; return vo;
} }
@ -248,6 +252,7 @@ public class AppDeviceBJQBizService {
log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map));
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new ServiceException("发送指令失败");
} }
} }
@ -276,6 +281,7 @@ public class AppDeviceBJQBizService {
log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map));
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new ServiceException("发送指令失败");
} }
} }
@ -308,6 +314,7 @@ public class AppDeviceBJQBizService {
log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map));
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new ServiceException("发送指令失败");
} }
} }
@ -332,6 +339,7 @@ public class AppDeviceBJQBizService {
log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map)); log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY+device.getDeviceImei(),JSON.toJSONString(map));
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new ServiceException("发送指令失败");
} }
} }
@ -377,11 +385,13 @@ public class AppDeviceBJQBizService {
deviceMapper.update(updateWrapper); deviceMapper.update(updateWrapper);
} catch (Exception e) { } catch (Exception e) {
log.info("设备发送信息失败:{}" ,deviceId); log.info("设备发送信息失败:{}" ,deviceId);
throw new ServiceException("设备发送信息失败");
} }
} }
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new ServiceException("发送指令失败");
} }
return 1; return 1;
} }

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.app.service; package com.fuyuanshen.web.service.device;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
@ -19,8 +19,6 @@ import com.fuyuanshen.app.domain.vo.AppPersonnelInfoVo;
import com.fuyuanshen.app.mapper.AppDeviceBindRecordMapper; import com.fuyuanshen.app.mapper.AppDeviceBindRecordMapper;
import com.fuyuanshen.app.mapper.AppPersonnelInfoMapper; import com.fuyuanshen.app.mapper.AppPersonnelInfoMapper;
import com.fuyuanshen.app.mapper.equipment.APPDeviceMapper; import com.fuyuanshen.app.mapper.equipment.APPDeviceMapper;
import com.fuyuanshen.app.service.device.status.base.DeviceStatusRule;
import com.fuyuanshen.app.service.device.status.base.RealTimeStatusEngine;
import com.fuyuanshen.common.core.constant.GlobalConstants; import com.fuyuanshen.common.core.constant.GlobalConstants;
import com.fuyuanshen.common.core.exception.ServiceException; import com.fuyuanshen.common.core.exception.ServiceException;
import com.fuyuanshen.common.core.utils.*; import com.fuyuanshen.common.core.utils.*;
@ -36,12 +34,15 @@ import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
import com.fuyuanshen.equipment.domain.vo.AppDeviceVo; import com.fuyuanshen.equipment.domain.vo.AppDeviceVo;
import com.fuyuanshen.equipment.enums.BindingStatusEnum; import com.fuyuanshen.equipment.enums.BindingStatusEnum;
import com.fuyuanshen.equipment.enums.CommunicationModeEnum; import com.fuyuanshen.equipment.enums.CommunicationModeEnum;
import com.fuyuanshen.equipment.mapper.DeviceLogMapper;
import com.fuyuanshen.equipment.mapper.DeviceMapper; import com.fuyuanshen.equipment.mapper.DeviceMapper;
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper; import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
import com.fuyuanshen.equipment.service.DeviceService; import com.fuyuanshen.equipment.service.DeviceService;
import com.fuyuanshen.global.mqtt.config.MqttGateway; import com.fuyuanshen.global.mqtt.config.MqttGateway;
import com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants; import com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants;
import com.fuyuanshen.global.mqtt.constants.MqttConstants; import com.fuyuanshen.global.mqtt.constants.MqttConstants;
import com.fuyuanshen.web.service.device.status.base.DeviceStatusRule;
import com.fuyuanshen.web.service.device.status.base.RealTimeStatusEngine;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
@ -63,7 +64,7 @@ import static com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants.*;
@Slf4j @Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class AppDeviceBizService { public class DeviceBizService {
private final APPDeviceMapper appDeviceMapper; private final APPDeviceMapper appDeviceMapper;
private final DeviceMapper deviceMapper; private final DeviceMapper deviceMapper;
@ -72,7 +73,7 @@ public class AppDeviceBizService {
private final MqttGateway mqttGateway; private final MqttGateway mqttGateway;
private final AppDeviceBindRecordMapper appDeviceBindRecordMapper; private final AppDeviceBindRecordMapper appDeviceBindRecordMapper;
private final RealTimeStatusEngine realTimeStatusEngine; private final RealTimeStatusEngine realTimeStatusEngine;
private final DeviceService deviceService; private final DeviceLogMapper deviceLogMapper;

View File

@ -1,13 +1,12 @@
package com.fuyuanshen.app.service.device.status; package com.fuyuanshen.web.service.device.status;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto; import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto;
import com.fuyuanshen.app.service.device.status.base.DeviceStatusRule;
import com.fuyuanshen.app.service.device.status.constants.DeviceTypeConstants;
import com.fuyuanshen.common.core.utils.StringUtils; import com.fuyuanshen.common.core.utils.StringUtils;
import com.fuyuanshen.common.redis.utils.RedisUtils; import com.fuyuanshen.common.redis.utils.RedisUtils;
import com.fuyuanshen.global.mqtt.listener.domain.FunctionAccessStatus; import com.fuyuanshen.global.mqtt.listener.domain.FunctionAccessStatus;
import com.fuyuanshen.web.service.device.status.base.DeviceStatusRule;
import com.fuyuanshen.web.service.device.status.constants.DeviceTypeConstants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -16,7 +15,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import static com.fuyuanshen.common.core.constant.GlobalConstants.FUNCTION_ACCESS_KEY; import static com.fuyuanshen.common.core.constant.GlobalConstants.FUNCTION_ACCESS_KEY;
import static com.fuyuanshen.common.core.constant.GlobalConstants.FUNCTION_ACCESS_TIMEOUT_KEY;
@Slf4j @Slf4j

View File

@ -1,11 +1,11 @@
package com.fuyuanshen.app.service.device.status; package com.fuyuanshen.web.service.device.status;
import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto; import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto;
import com.fuyuanshen.app.service.device.status.base.DeviceStatusRule;
import com.fuyuanshen.app.service.device.status.constants.DeviceTypeConstants;
import com.fuyuanshen.common.core.utils.StringUtils; import com.fuyuanshen.common.core.utils.StringUtils;
import com.fuyuanshen.common.redis.utils.RedisUtils; import com.fuyuanshen.common.redis.utils.RedisUtils;
import com.fuyuanshen.global.mqtt.listener.domain.FunctionAccessStatus; import com.fuyuanshen.global.mqtt.listener.domain.FunctionAccessStatus;
import com.fuyuanshen.web.service.device.status.base.DeviceStatusRule;
import com.fuyuanshen.web.service.device.status.constants.DeviceTypeConstants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.app.service.device.status.base; package com.fuyuanshen.web.service.device.status.base;
import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto; import com.fuyuanshen.app.domain.dto.AppRealTimeStatusDto;

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.app.service.device.status.base; package com.fuyuanshen.web.service.device.status.base;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@ -1,4 +1,4 @@
package com.fuyuanshen.app.service.device.status.constants; package com.fuyuanshen.web.service.device.status.constants;
public class DeviceTypeConstants { public class DeviceTypeConstants {
public static final String TYPE_BJQ6170 = "BJQ6170"; public static final String TYPE_BJQ6170 = "BJQ6170";

View File

@ -1,12 +1,12 @@
package com.fuyuanshen.web.service.impl; package com.fuyuanshen.web.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuyuanshen.app.service.AppDeviceBizService;
import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.Device;
import com.fuyuanshen.equipment.domain.DeviceAssignments; import com.fuyuanshen.equipment.domain.DeviceAssignments;
import com.fuyuanshen.equipment.mapper.DeviceAssignmentsMapper; import com.fuyuanshen.equipment.mapper.DeviceAssignmentsMapper;
import com.fuyuanshen.equipment.mapper.DeviceMapper; import com.fuyuanshen.equipment.mapper.DeviceMapper;
import com.fuyuanshen.web.service.WEBDeviceService; import com.fuyuanshen.web.service.WEBDeviceService;
import com.fuyuanshen.web.service.device.DeviceBizService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -21,7 +21,7 @@ import org.springframework.stereotype.Service;
@RequiredArgsConstructor @RequiredArgsConstructor
public class WEBDeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements WEBDeviceService { public class WEBDeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements WEBDeviceService {
private final AppDeviceBizService appDeviceService; private final DeviceBizService appDeviceService;
private final DeviceAssignmentsMapper deviceAssignmentsMapper; private final DeviceAssignmentsMapper deviceAssignmentsMapper;