package com.mrxu.admin.controller.yolo; import com.mrxu.admin.controller.AdminBaseController; import com.mrxu.framework.boot.bean.ResponseObj; import com.mrxu.yolo.python.request.StreamRequest; import com.mrxu.yolo.service.YoloStreamService; import com.mrxu.yolo.service.YoloTrainService; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Api(tags = "实时推理") @Controller @RequestMapping("/yolo/stream") @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class YoloStreamController extends AdminBaseController { private final YoloTrainService trainService; private final YoloStreamService streamService; @RequiresPermissions("yolo:stream:read") @RequestMapping("index.html") public String mark(Model model) { model.addAttribute("modelList", trainService.listModel(getTenantId())); return "yolo/stream.html"; } @RequiresPermissions("yolo:stream:read") @ResponseBody @RequestMapping("/doPredict.json") public ResponseObj doPredict(@RequestBody StreamRequest dto) { streamService.doPredict(getTenantId(),dto,getUsername()); return success(); } }