Browse Source

fix bug

master
刘力 3 years ago
parent
commit
081bc585ca
  1. 3
      storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceSpecParam.java
  2. 10
      storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceSpecParamRepository.java
  3. 8
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java
  4. 11
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/domain/DisplayConfig.java
  5. 4
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/DisplayConfigImpl.java

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

@ -2,9 +2,12 @@ package com.storeroom.modules.device.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.storeroom.base.BaseEntity;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import javax.persistence.*;
import javax.validation.constraints.NotNull;

10
storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceSpecParamRepository.java

@ -21,6 +21,7 @@ public interface DeviceSpecParamRepository extends JpaRepository<DeviceSpecParam
/**
* 根据设备id查询
*
* @param deviceInfoId
* @return
*/
@ -29,8 +30,17 @@ public interface DeviceSpecParamRepository extends JpaRepository<DeviceSpecParam
/**
* 通过Mac 地址查询设备
*
* @param macAddress
* @return
*/
DeviceSpecParam findByMacAddress(String macAddress);
/**
* 根据配置id 查询
* @param id
* @return
*/
DeviceSpecParam findByDisplayConfigId(String id);
}

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

@ -9,6 +9,8 @@ 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.mapstruct.DeviceSpecParamMapper;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import com.storeroom.modules.storeroom3d.repository.DisplayConfigRepository;
import com.storeroom.utils.MacUtil;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.StringUtils;
@ -28,6 +30,7 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService {
private final DeviceSpecParamRepository deviceSpecParamRepository;
private final DeviceSpecParamMapper deviceSpecParamMapper;
private final DeviceInfoRepository deviceInfoRepository;
private final DisplayConfigRepository displayConfigRepository;
@Override
@ -51,7 +54,10 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService {
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String id) {
DeviceSpecParam deviceSpecParam = deviceSpecParamRepository.findById(id).orElseGet(DeviceSpecParam::new);
DisplayConfig displayConfig = displayConfigRepository.findById(deviceSpecParam.getDeviceInfoId()).orElseGet(DisplayConfig::new);
displayConfig.setDeviceInfo(null);
displayConfigRepository.save(displayConfig);
deviceSpecParamRepository.deleteById(id);
}

11
storeroom/src/main/java/com/storeroom/modules/storeroom3d/domain/DisplayConfig.java

@ -12,7 +12,6 @@ import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@ -40,9 +39,8 @@ public class DisplayConfig extends BaseEntity implements Serializable {
private Storeroom storeroom;
@OneToMany(cascade = CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name = "display_config_id")
private List<DeviceSpecParam> deviceSpecParams;
@OneToMany(mappedBy = "displayConfigId")
private Set<DeviceSpecParam> deviceSpecParams;
@Column(name = "div_position")
@ -58,17 +56,16 @@ public class DisplayConfig extends BaseEntity implements Serializable {
@ApiModelProperty(name = "绑定状态")
private Boolean bindState;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DisplayConfig that = (DisplayConfig) o;
return Objects.equals(id, that.id) && Objects.equals(deviceInfo, that.deviceInfo) && Objects.equals(divPosition, that.divPosition) && Objects.equals(isDisplay, that.isDisplay) && Objects.equals(bindState, that.bindState);
return Objects.equals(id, that.id) && Objects.equals(deviceInfo, that.deviceInfo) && Objects.equals(storeroom, that.storeroom) && Objects.equals(deviceSpecParams, that.deviceSpecParams) && Objects.equals(divPosition, that.divPosition) && Objects.equals(isDisplay, that.isDisplay) && Objects.equals(bindState, that.bindState);
}
@Override
public int hashCode() {
return Objects.hash(id, deviceInfo, divPosition, isDisplay, bindState);
return Objects.hash(id, deviceInfo, storeroom, deviceSpecParams, divPosition, isDisplay, bindState);
}
}

4
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/DisplayConfigImpl.java

@ -1,8 +1,10 @@
package com.storeroom.modules.storeroom3d.service.impl;
import com.storeroom.modules.device.domain.DeviceInfo;
import com.storeroom.modules.device.domain.DeviceSpecParam;
import com.storeroom.modules.device.domain.Storeroom;
import com.storeroom.modules.device.repository.DeviceInfoRepository;
import com.storeroom.modules.device.repository.DeviceSpecParamRepository;
import com.storeroom.modules.device.repository.StoreroomRepository;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import com.storeroom.modules.storeroom3d.repository.DisplayConfigRepository;
@ -23,6 +25,7 @@ public class DisplayConfigImpl implements DisplayConfigService {
private final DeviceInfoRepository deviceInfoRepository;
private final StoreroomRepository storeroomRepository;
private final DisplayConfigRepository displayConfigRepository;
private final DeviceSpecParamRepository deviceSpecParamRepository;
@Override
@ -32,6 +35,7 @@ public class DisplayConfigImpl implements DisplayConfigService {
displayConfig.setBindState(true);
displayConfig.getDeviceSpecParams().forEach(item -> {
item.setDisplayConfigId(displayConfig.getId());
deviceSpecParamRepository.save(item);
});
displayConfig.setStoreroom(displayConfig.getDeviceInfo().getStoreroomId());
displayConfigRepository.save(displayConfig);

Loading…
Cancel
Save