Browse Source

返回坐标list

master
王梦远 1 week ago
parent
commit
9f1825827f
  1. 17
      src/main/java/com/iflytop/colortitration/app/controller/PositionController.java
  2. 39
      src/main/java/com/iflytop/colortitration/app/model/vo/DevicePositionVO.java
  3. 15
      src/main/java/com/iflytop/colortitration/common/service/PositionService.java

17
src/main/java/com/iflytop/colortitration/app/controller/PositionController.java

@ -1,9 +1,7 @@
package com.iflytop.colortitration.app.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.iflytop.colortitration.common.base.BasePageQuery;
import com.iflytop.colortitration.app.model.vo.DevicePositionVO;
import com.iflytop.colortitration.common.model.entity.Position;
import com.iflytop.colortitration.common.result.PageResult;
import com.iflytop.colortitration.common.result.Result;
import com.iflytop.colortitration.common.service.PositionService;
import io.swagger.v3.oas.annotations.Operation;
@ -14,6 +12,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Tag(name = "\uD83D\uDCCD设备位置接口")
@RestController
@ -24,10 +24,13 @@ public class PositionController {
private final PositionService positionService;
@Operation(summary = "分页查询设备位置")
@PostMapping("/list")
public PageResult<Position> list(@RequestBody BasePageQuery query) {
return PageResult.success(positionService.page(new Page<>(query.getPageNum(), query.getPageSize())));
@Operation(summary = "查询设备位置")
@GetMapping("/list")
public List<DevicePositionVO> list() {
List<Position> devicePositions = positionService.list();
return devicePositions.stream()
.map(DevicePositionVO::new)
.collect(Collectors.toList());
}
@Operation(summary = "添加设备位置")

39
src/main/java/com/iflytop/colortitration/app/model/vo/DevicePositionVO.java

@ -0,0 +1,39 @@
package com.iflytop.colortitration.app.model.vo;
import com.iflytop.colortitration.app.common.enums.DevicePositionCode;
import com.iflytop.colortitration.common.model.entity.Position;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* 设备位置记录 的展示视图
*/
@Data
@AllArgsConstructor
@Schema(description = "设备位置记录")
public class DevicePositionVO {
private Long id;
@Schema(description = "位置名称")
private String name;
@Schema(description = "位置代码")
private DevicePositionCode code;
@Schema(description = "位置类型")
private String type;
@Schema(description = "位置数据")
private String position;
public DevicePositionVO(Position position) {
this.id = position.getId();
this.name = position.getName();
this.code = DevicePositionCode.valueOf(position.getCode());
this.type = position.getType();
this.position = position.getPosition();
}
}

15
src/main/java/com/iflytop/colortitration/common/service/PositionService.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iflytop.colortitration.app.common.enums.DevicePositionCode;
import com.iflytop.colortitration.common.mapper.PositionMapper;
import com.iflytop.colortitration.common.model.entity.Position;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -21,4 +22,18 @@ public class PositionService extends ServiceImpl<PositionMapper, Position> {
return this.getOne(new LambdaQueryWrapper<>(Position.class).eq(Position::getCode, code));
}
@PostConstruct
private void init() {
for (DevicePositionCode positionCode : DevicePositionCode.values()) {
Position devicePosition = this.getOne(new LambdaQueryWrapper<Position>().eq(Position::getCode, positionCode));
if (devicePosition == null) {
devicePosition = new Position();
devicePosition.setCode(positionCode.name());
devicePosition.setName(positionCode.getName());
devicePosition.setType(positionCode.getType().name());
this.save(devicePosition);
}
}
}
}
Loading…
Cancel
Save