Browse Source

设备绑定Mac 地址

master
刘力 3 years ago
parent
commit
cd191d3b2f
  1. 48
      storeroom/src/main/java/com/storeroom/modules/device/controller/BindDeviceController.java
  2. 4
      storeroom/src/main/java/com/storeroom/modules/device/controller/OutsideDevicesController.java
  3. 4
      storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceSpecParam.java
  4. 2
      storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java
  5. 7
      storeroom/src/main/java/com/storeroom/modules/device/service/DeviceSpecParamService.java
  6. 47
      storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceAllDto.java
  7. 14
      storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceMacDto.java
  8. 3
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java
  9. 14
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java

48
storeroom/src/main/java/com/storeroom/modules/device/controller/BindDeviceController.java

@ -0,0 +1,48 @@
package com.storeroom.modules.device.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.device.service.DeviceService;
import com.storeroom.modules.device.service.DeviceSpecParamService;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.MacUtil;
import com.storeroom.utils.StringUtils;
import com.storeroom.utils.enums.ResponseStatus;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "设备Mac地址")
@RequestMapping("/api/mac/")
public class BindDeviceController {
private final DeviceSpecParamService deviceSpecParamService;
@ApiOperation("获取mac地址")
@AnonymousGetMapping("get")
public ApiResponse<Object> getMacAddress() throws Exception{
return ApiResponse.success(MacUtil.getMac());
}
@ApiOperation("绑定Mac地址")
@AnonymousPostMapping("bind")
public ApiResponse<Object> bind(@RequestBody DeviceMacDto deviceMacDto){
if (StringUtils.isEmpty(deviceMacDto.getDeviceId()) || StringUtils.isEmpty(deviceMacDto.getMacAddress())){
throw new BaseException("设备id或Mac地址不能为空");
}
deviceSpecParamService.bindMac(deviceMacDto);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
}

4
storeroom/src/main/java/com/storeroom/modules/device/controller/OutsideDevicesController.java

@ -1,6 +1,7 @@
package com.storeroom.modules.device.controller; package com.storeroom.modules.device.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping; import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.annotaion.rest.AnonymousPutMapping; import com.storeroom.annotaion.rest.AnonymousPutMapping;
import com.storeroom.exception.BaseException; import com.storeroom.exception.BaseException;
@ -15,6 +16,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@ -47,6 +49,7 @@ public class OutsideDevicesController {
return ApiResponse.success(ResponseStatus.SUCCESS); return ApiResponse.success(ResponseStatus.SUCCESS);
} }
/** /**
* 验证必填值 * 验证必填值
* @param deviceInfoDto / * @param deviceInfoDto /
@ -55,6 +58,5 @@ public class OutsideDevicesController {
if (StringUtils.isEmpty(deviceInfoDto.getDeviceId()) || ObjectUtils.isEmpty(deviceInfoDto.getSupplierId())){ if (StringUtils.isEmpty(deviceInfoDto.getDeviceId()) || ObjectUtils.isEmpty(deviceInfoDto.getSupplierId())){
throw new BaseException("必填字段不能为空"); throw new BaseException("必填字段不能为空");
} }
} }
} }

4
storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceSpecParam.java

@ -41,6 +41,10 @@ public class DeviceSpecParam extends BaseEntity implements Serializable {
@ApiModelProperty(value = "值单位") @ApiModelProperty(value = "值单位")
private String unit; private String unit;
@Column(name = "mac_address")
@ApiModelProperty(value = "Mac地址")
private String macAddress;
@Column(name = "sequence") @Column(name = "sequence")
@ApiModelProperty(value = "序号") @ApiModelProperty(value = "序号")
private Integer sequence; private Integer sequence;

2
storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java

@ -2,6 +2,7 @@ package com.storeroom.modules.device.service;
import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.modules.device.service.dto.DeviceInfoDto;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import java.util.List; import java.util.List;
@ -97,4 +98,5 @@ public interface DeviceService {
DeviceInfoDto findById(String id); DeviceInfoDto findById(String id);
} }

7
storeroom/src/main/java/com/storeroom/modules/device/service/DeviceSpecParamService.java

@ -1,5 +1,6 @@
package com.storeroom.modules.device.service; package com.storeroom.modules.device.service;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import com.storeroom.modules.device.service.dto.DeviceSpecParamDto; import com.storeroom.modules.device.service.dto.DeviceSpecParamDto;
import java.util.List; import java.util.List;
@ -26,4 +27,10 @@ public interface DeviceSpecParamService {
* @return * @return
*/ */
List<DeviceSpecParamDto> findByDeviceId(String deviceInfoId); List<DeviceSpecParamDto> findByDeviceId(String deviceInfoId);
/**
* 绑定mac地址
* @param deviceMacDto /
*/
void bindMac(DeviceMacDto deviceMacDto);
} }

47
storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceAllDto.java

@ -1,47 +0,0 @@
package com.storeroom.modules.device.service.dto;
import com.storeroom.modules.device.domain.Storeroom;
import com.storeroom.modules.device.domain.Supplier;
/**
* 所有设备属性
*/
public class DeviceAllDto {
private String id;
private Supplier supplierId;
private Storeroom storeroomId;
private String deviceName;
private String deviceIp;
private Integer devicePort;
private Integer deviceState;
private Integer sequence;
private String storeroomCode;
private String deviceId;
private Integer rowNo;
private Integer areaNo;
private Integer sumColumnNo;
private Integer firstColumnNo;
private Integer partNo;
private Integer isLinkage;
private Integer isCallback;
private Integer isNotice;
}

14
storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceMacDto.java

@ -0,0 +1,14 @@
package com.storeroom.modules.device.service.dto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class DeviceMacDto {
private String deviceId;
private String macAddress;
}

3
storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java

@ -7,6 +7,7 @@ import com.storeroom.modules.device.repository.DeviceInfoRepository;
import com.storeroom.modules.device.repository.OperatingStateRepository; import com.storeroom.modules.device.repository.OperatingStateRepository;
import com.storeroom.modules.device.service.DeviceService; import com.storeroom.modules.device.service.DeviceService;
import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.modules.device.service.dto.DeviceInfoDto;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import com.storeroom.modules.device.service.mapstruct.DeviceInfoMapper; import com.storeroom.modules.device.service.mapstruct.DeviceInfoMapper;
import com.storeroom.utils.NanoIdUtils; import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.StringUtils; import com.storeroom.utils.StringUtils;
@ -280,6 +281,8 @@ public class DeviceImpl implements DeviceService {
return deviceInfoMapper.toDto(deviceInfo); return deviceInfoMapper.toDto(deviceInfo);
} }
/** /**
* 生成架位左右位置 * 生成架位左右位置
* *

14
storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java

@ -1,8 +1,11 @@
package com.storeroom.modules.device.service.impl; package com.storeroom.modules.device.service.impl;
import com.storeroom.modules.device.domain.DeviceInfo;
import com.storeroom.modules.device.domain.DeviceSpecParam; import com.storeroom.modules.device.domain.DeviceSpecParam;
import com.storeroom.modules.device.repository.DeviceInfoRepository;
import com.storeroom.modules.device.repository.DeviceSpecParamRepository; import com.storeroom.modules.device.repository.DeviceSpecParamRepository;
import com.storeroom.modules.device.service.DeviceSpecParamService; import com.storeroom.modules.device.service.DeviceSpecParamService;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import com.storeroom.modules.device.service.dto.DeviceSpecParamDto; import com.storeroom.modules.device.service.dto.DeviceSpecParamDto;
import com.storeroom.modules.device.service.mapstruct.DeviceSpecParamMapper; import com.storeroom.modules.device.service.mapstruct.DeviceSpecParamMapper;
import com.storeroom.utils.MacUtil; import com.storeroom.utils.MacUtil;
@ -21,6 +24,7 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService {
private final DeviceSpecParamRepository deviceSpecParamRepository; private final DeviceSpecParamRepository deviceSpecParamRepository;
private final DeviceSpecParamMapper deviceSpecParamMapper; private final DeviceSpecParamMapper deviceSpecParamMapper;
private final DeviceInfoRepository deviceInfoRepository;
@Override @Override
@ -48,4 +52,14 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService {
List<DeviceSpecParam> deviceSpecParamList = deviceSpecParamRepository.findByDeviceInfoId(deviceInfoId); List<DeviceSpecParam> deviceSpecParamList = deviceSpecParamRepository.findByDeviceInfoId(deviceInfoId);
return deviceSpecParamMapper.toDto(deviceSpecParamList); return deviceSpecParamMapper.toDto(deviceSpecParamList);
} }
@Override
public void bindMac(DeviceMacDto deviceMacDto) {
DeviceInfo deviceInfo = deviceInfoRepository.findById(deviceMacDto.getDeviceId()).orElseGet(DeviceInfo::new);
DeviceSpecParam deviceSpecParam = new DeviceSpecParam();
deviceSpecParam.setId(NanoIdUtils.randomNanoId());
deviceSpecParam.setMacAddress(deviceMacDto.getMacAddress());
deviceSpecParam.setDeviceInfoId(deviceInfo);
deviceSpecParamRepository.save(deviceSpecParam);
}
} }
Loading…
Cancel
Save