37 lines
1.4 KiB
Java
37 lines
1.4 KiB
Java
package inc.sdt.controlcentermanagement.presentation;
|
|
|
|
import inc.sdt.controlcentermanagement.application.TubeService;
|
|
import inc.sdt.controlcentermanagement.domain.Slot;
|
|
import inc.sdt.controlcentermanagement.infrastructure.amqp.ResourceMapping;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
/**
|
|
* @author sunae.jang (sa.jang@sdt.inc)
|
|
*/
|
|
@RestController
|
|
public class TubeController {
|
|
private final TubeService tubeService;
|
|
private final Logger log;
|
|
|
|
public TubeController(TubeService tubeService) {
|
|
this.tubeService = tubeService;
|
|
this.log = LoggerFactory.getLogger(TubeController.class);
|
|
}
|
|
|
|
@ResourceMapping(name = "Tube_Control", method = "PATCH", uri = "/chamber/{chamberNumber}/tube/toggle", description = "Tube On/Off 제어")
|
|
@ResponseStatus(HttpStatus.OK)
|
|
@PatchMapping("/chamber/{chamberNumber}/tube/toggle")
|
|
public void toggle(@RequestHeader("Authorization") String authorization, @PathVariable String chamberNumber, @RequestBody Slot slot) {
|
|
log.info("[toggle] chamberNumber: {}, slot: {}", chamberNumber, slot);
|
|
slot.setChamberNumber(chamberNumber);
|
|
if (slot.getTube() != null) {
|
|
tubeService.controlByTubeCode(authorization, slot);
|
|
} else {
|
|
tubeService.controlAll(authorization, slot);
|
|
}
|
|
}
|
|
}
|