Browse Source

3D库房配置接口

master
刘力 3 years ago
parent
commit
0ee2c9af90
  1. 23
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/DisplayConfigController.java
  2. 19
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/domain/DisplayConfig.java
  3. 39
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/domain/DisplayParam.java
  4. 13
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/repository/DisplayConfigRepository.java
  5. 8
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/repository/DisplayParamsRepository.java
  6. 10
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/DisplayConfigService.java
  7. 22
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/DisplayConfigImpl.java

23
storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/DisplayConfigController.java

@ -2,13 +2,17 @@ package com.storeroom.modules.storeroom3d.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping; import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.BaseException; import com.storeroom.exception.BaseException;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import com.storeroom.modules.storeroom3d.service.DisplayConfigService; import com.storeroom.modules.storeroom3d.service.DisplayConfigService;
import com.storeroom.utils.ApiResponse; import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.StringUtils; import com.storeroom.utils.StringUtils;
import com.storeroom.utils.enums.ResponseStatus;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -29,4 +33,23 @@ public class DisplayConfigController {
} }
return ApiResponse.success(displayConfigService.queryDevceInfo(storeroomId)); return ApiResponse.success(displayConfigService.queryDevceInfo(storeroomId));
} }
@AnonymousPostMapping("bind")
@ApiOperation("绑定参数")
public ApiResponse<Object> bind(@RequestBody DisplayConfig displayConfig) {
if (!StringUtils.isEmpty(displayConfig.getId())) {
throw new BaseException("id不为空");
}
displayConfigService.bind(displayConfig);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
@AnonymousGetMapping("list")
@ApiOperation("获取列表")
public ApiResponse<Object> queryList(@RequestParam String storeroomId) {
if (StringUtils.isEmpty(storeroomId)) {
throw new BaseException("id不能为空");
}
return ApiResponse.success(displayConfigService.getList(storeroomId));
}
} }

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

@ -3,6 +3,7 @@ package com.storeroom.modules.storeroom3d.domain;
import com.storeroom.base.BaseEntity; import com.storeroom.base.BaseEntity;
import com.storeroom.modules.device.domain.DeviceInfo; import com.storeroom.modules.device.domain.DeviceInfo;
import com.storeroom.modules.device.domain.Storeroom;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@ -10,6 +11,7 @@ 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;
@ -26,11 +28,20 @@ public class DisplayConfig extends BaseEntity implements Serializable {
private String id; private String id;
@ManyToMany(fetch = FetchType.EAGER)
@ManyToOne(targetEntity = DeviceInfo.class)
@ApiModelProperty(value = "设备信息") @ApiModelProperty(value = "设备信息")
@JoinTable(name = "display_device_info", joinColumns = {@JoinColumn(name = "display_config_id",referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "device_info_id",referencedColumnName = "id")})
private Set<DeviceInfo> deviceInfo;
@JoinColumn(name = "device_info_id")
private DeviceInfo deviceInfo;
@ManyToOne(targetEntity = Storeroom.class)
@ApiModelProperty(value = "库房id")
@JoinColumn(name = "storeroom_id")
private Storeroom storeroom;
@OneToMany(cascade = CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name = "display_config_id")
private List<DisplayParam> displayParams;
@Column(name = "div_position") @Column(name = "div_position")

39
storeroom/src/main/java/com/storeroom/modules/storeroom3d/domain/DisplayParam.java

@ -0,0 +1,39 @@
package com.storeroom.modules.storeroom3d.domain;
import com.storeroom.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@Entity
@Table(name = "display_param")
public class DisplayParam extends BaseEntity implements Serializable {
@Id
@Column(name = "id")
@NotNull(groups = BaseEntity.Update.class)
@ApiModelProperty(value = "id", hidden = true)
private String id;
@Column(name = "display_config_id")
@ApiModelProperty(value = "配置id", hidden = true)
private String displayConfigId;
@Column(name = "param_name")
@ApiModelProperty(value = "参数名称", hidden = true)
private String paramName;
@Column(name = "param_value")
@ApiModelProperty(value = "参数值", hidden = true)
private String paramValue;
}

13
storeroom/src/main/java/com/storeroom/modules/storeroom3d/repository/DisplayConfigRepository.java

@ -0,0 +1,13 @@
package com.storeroom.modules.storeroom3d.repository;
import com.storeroom.modules.storeroom3d.domain.DisplayConfig;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
public interface DisplayConfigRepository extends JpaRepository<DisplayConfig, String>, JpaSpecificationExecutor<DisplayConfig> {
List<DisplayConfig> findByStoreroomId(String deviceInfoid);
}

8
storeroom/src/main/java/com/storeroom/modules/storeroom3d/repository/DisplayParamsRepository.java

@ -0,0 +1,8 @@
package com.storeroom.modules.storeroom3d.repository;
import com.storeroom.modules.storeroom3d.domain.DisplayParam;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
public interface DisplayParamsRepository extends JpaRepository<DisplayParam, String>, JpaSpecificationExecutor<DisplayParam> {
}

10
storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/DisplayConfigService.java

@ -14,7 +14,7 @@ public interface DisplayConfigService {
* *
* @return * @return
*/ */
DisplayConfig bind(DisplayConfig displayConfig);
void bind(DisplayConfig displayConfig);
/** /**
@ -24,4 +24,12 @@ public interface DisplayConfigService {
* @return * @return
*/ */
List<DeviceInfo> queryDevceInfo(String storeroomId); List<DeviceInfo> queryDevceInfo(String storeroomId);
/**
* 通过库房查询绑定配置
* @param storeroomId
* @return
*/
List<DisplayConfig> getList(String storeroomId);
} }

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

@ -4,11 +4,13 @@ import com.storeroom.modules.device.domain.DeviceInfo;
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.StoreroomRepository; import com.storeroom.modules.device.repository.StoreroomRepository;
import com.storeroom.modules.device.service.dto.DeviceInfoDto;
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.service.DisplayConfigService; import com.storeroom.modules.storeroom3d.service.DisplayConfigService;
import com.storeroom.utils.NanoIdUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
@ -18,11 +20,20 @@ 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;
@Override @Override
public DisplayConfig bind(DisplayConfig displayConfig) {
return null;
@Transactional(rollbackFor = Exception.class)
public void bind(DisplayConfig displayConfig) {
displayConfig.setId(NanoIdUtils.randomNanoId());
displayConfig.setBindState(true);
displayConfig.getDisplayParams().forEach(item -> {
item.setId(NanoIdUtils.randomNanoId());
item.setDisplayConfigId(displayConfig.getId());
});
displayConfig.setStoreroom(displayConfig.getDeviceInfo().getStoreroomId());
displayConfigRepository.save(displayConfig);
} }
@Override @Override
@ -30,4 +41,9 @@ public class DisplayConfigImpl implements DisplayConfigService {
Storeroom storeroom = storeroomRepository.findById(storeroomId).orElseGet(Storeroom::new); Storeroom storeroom = storeroomRepository.findById(storeroomId).orElseGet(Storeroom::new);
return deviceInfoRepository.findByStoreroomId(storeroom); return deviceInfoRepository.findByStoreroomId(storeroom);
} }
@Override
public List<DisplayConfig> getList(String storeroomId) {
return displayConfigRepository.findByStoreroomId(storeroomId);
}
} }
Loading…
Cancel
Save