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.alibaba.fastjson.annotation.JSONField;
import com.storeroom.base.BaseEntity; import com.storeroom.base.BaseEntity;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import javax.persistence.*; import javax.persistence.*;
import javax.validation.constraints.NotNull; 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查询 * 根据设备id查询
*
* @param deviceInfoId * @param deviceInfoId
* @return * @return
*/ */
@ -29,8 +30,17 @@ public interface DeviceSpecParamRepository extends JpaRepository<DeviceSpecParam
/** /**
* 通过Mac 地址查询设备 * 通过Mac 地址查询设备
*
* @param macAddress * @param macAddress
* @return * @return
*/ */
DeviceSpecParam findByMacAddress(String macAddress); 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.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.modules.storeroom3d.domain.DisplayConfig;
import com.storeroom.modules.storeroom3d.repository.DisplayConfigRepository;
import com.storeroom.utils.MacUtil; import com.storeroom.utils.MacUtil;
import com.storeroom.utils.NanoIdUtils; import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.StringUtils; import com.storeroom.utils.StringUtils;
@ -28,6 +30,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; private final DeviceInfoRepository deviceInfoRepository;
private final DisplayConfigRepository displayConfigRepository;
@Override @Override
@ -51,7 +54,10 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(String id) { 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); 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.persistence.*;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
@ -40,9 +39,8 @@ public class DisplayConfig extends BaseEntity implements Serializable {
private Storeroom storeroom; 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") @Column(name = "div_position")
@ -58,17 +56,16 @@ public class DisplayConfig extends BaseEntity implements Serializable {
@ApiModelProperty(name = "绑定状态") @ApiModelProperty(name = "绑定状态")
private Boolean bindState; private Boolean bindState;
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) return true; if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; if (o == null || getClass() != o.getClass()) return false;
DisplayConfig that = (DisplayConfig) o; 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 @Override
public int hashCode() { 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; package com.storeroom.modules.storeroom3d.service.impl;
import com.storeroom.modules.device.domain.DeviceInfo; 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.domain.Storeroom;
import com.storeroom.modules.device.repository.DeviceInfoRepository; 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.device.repository.StoreroomRepository;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig; import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import com.storeroom.modules.storeroom3d.repository.DisplayConfigRepository; import com.storeroom.modules.storeroom3d.repository.DisplayConfigRepository;
@ -23,6 +25,7 @@ public class DisplayConfigImpl implements DisplayConfigService {
private final DeviceInfoRepository deviceInfoRepository; private final DeviceInfoRepository deviceInfoRepository;
private final StoreroomRepository storeroomRepository; private final StoreroomRepository storeroomRepository;
private final DisplayConfigRepository displayConfigRepository; private final DisplayConfigRepository displayConfigRepository;
private final DeviceSpecParamRepository deviceSpecParamRepository;
@Override @Override
@ -32,6 +35,7 @@ public class DisplayConfigImpl implements DisplayConfigService {
displayConfig.setBindState(true); displayConfig.setBindState(true);
displayConfig.getDeviceSpecParams().forEach(item -> { displayConfig.getDeviceSpecParams().forEach(item -> {
item.setDisplayConfigId(displayConfig.getId()); item.setDisplayConfigId(displayConfig.getId());
deviceSpecParamRepository.save(item);
}); });
displayConfig.setStoreroom(displayConfig.getDeviceInfo().getStoreroomId()); displayConfig.setStoreroom(displayConfig.getDeviceInfo().getStoreroomId());
displayConfigRepository.save(displayConfig); displayConfigRepository.save(displayConfig);

Loading…
Cancel
Save