diff --git a/main/manager-api/src/main/java/xiaozhi/modules/device/controller/DeviceController.java b/main/manager-api/src/main/java/xiaozhi/modules/device/controller/DeviceController.java index 748293c6..6f5a1f99 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/device/controller/DeviceController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/device/controller/DeviceController.java @@ -45,7 +45,8 @@ public class DeviceController { private final RedisUtils redisUtils; private final SysParamsService sysParamsService; - public DeviceController(DeviceService deviceService, DeviceAddressBookService deviceAddressBookService, RedisUtils redisUtils, SysParamsService sysParamsService) { + public DeviceController(DeviceService deviceService, DeviceAddressBookService deviceAddressBookService, + RedisUtils redisUtils, SysParamsService sysParamsService) { this.deviceService = deviceService; this.deviceAddressBookService = deviceAddressBookService; this.redisUtils = redisUtils; diff --git a/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceAddressBookServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceAddressBookServiceImpl.java index 7b6e3e8b..4f663897 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceAddressBookServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/device/service/impl/DeviceAddressBookServiceImpl.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -13,16 +14,20 @@ import xiaozhi.common.redis.RedisUtils; import xiaozhi.modules.device.dao.DeviceAddressBookDao; import xiaozhi.modules.device.entity.DeviceAddressBookEntity; import xiaozhi.modules.device.service.DeviceAddressBookService; +import xiaozhi.modules.device.service.DeviceService; @Service public class DeviceAddressBookServiceImpl implements DeviceAddressBookService { private final DeviceAddressBookDao deviceAddressBookDao; private final RedisUtils redisUtils; + private final DeviceService deviceService; - public DeviceAddressBookServiceImpl(DeviceAddressBookDao deviceAddressBookDao, RedisUtils redisUtils) { + public DeviceAddressBookServiceImpl(DeviceAddressBookDao deviceAddressBookDao, RedisUtils redisUtils, + DeviceService deviceService) { this.deviceAddressBookDao = deviceAddressBookDao; this.redisUtils = redisUtils; + this.deviceService = deviceService; } @Override @@ -131,6 +136,10 @@ public class DeviceAddressBookServiceImpl implements DeviceAddressBookService { DeviceAddressBookEntity entity = new DeviceAddressBookEntity(); entity.setMacAddress(macAddress); entity.setTargetMac(targetMac); + // 如果 alias 为空,就用默认使用设备名称 + if (StringUtils.isBlank(alias)) { + alias = deviceService.getDeviceByMacAddress(targetMac).getAlias(); + } entity.setAlias(alias); entity.setHasPermission(hasPermission); deviceAddressBookDao.insert(entity);