package com.emoon.tongue.controller;
/**
 * 转发控制器：用于公网部署时，将请求原样转发到内网的同名服务。
 *
 * 注意：
 * - 只做“转发网关”职责：不改参数、不改签名逻辑；签名校验由内网服务自己完成。
 * - 新入口路径可以变，但参数名/请求体与原 DiagnosisController 保持一致。
 * ----建档转发------
 */
import com.emoon.tongue.service.CreateRecordService;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 建档转发入口（公网 -> 内网）
 *
 * 说明：
 * - 这里不定义具体参数名，直接转发 query/body/header，保证“不改参数、不改签名逻辑”。
 * - 具体要转发到的内网 path/baseUrl 由 CreateRecordService 的配置项控制；你后续给到真实 URL 后再落最终值即可。
 */
@Slf4j
@RestController
@RequestMapping("/api/v1/create-record")
@CrossOrigin(origins = "*", maxAge = 3600)
@RequiredArgsConstructor
public class CreateRecordController {

    private final CreateRecordService createRecordService;

    /**
     * 透传：POST http://61.178.77.37:8100/service6/start
     */
    @PostMapping("/start")
    public ResponseEntity<String> start(HttpServletRequest request,
                                        @RequestBody(required = false) byte[] body) {
        return createRecordService.forwardStart(request, body);
    }

    /**
     * 透传：POST http://61.178.77.37:8100/service6/message
     */
    @PostMapping("/message")
    public ResponseEntity<String> message(HttpServletRequest request,
                                          @RequestBody(required = false) byte[] body) {
        return createRecordService.forwardMessage(request, body);
    }

    @PostMapping("/test")
    public String test() {
        return "success";
    }


}
