control-center-management/src/main/java/inc/sdt/controlcentermanagement/presentation/TubeController.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);
}
}
}