Files
flvx/springboot-backend/src/main/java/com/admin/controller/ForwardController.java
T

92 lines
2.6 KiB
Java

package com.admin.controller;
import com.admin.common.aop.LogAnnotation;
import com.admin.common.annotation.RequireRole;
import com.admin.common.dto.ForwardDto;
import com.admin.common.dto.ForwardUpdateDto;
import com.admin.common.dto.PageDto;
import com.admin.common.lang.R;
import com.admin.service.ForwardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* <p>
* 前端控制器
* </p>
*
* @author QAQ
* @since 2025-06-03
*/
@RestController
@CrossOrigin
@RequestMapping("/api/v1/forward")
public class ForwardController extends BaseController {
@Autowired
private ForwardService forwardService;
@LogAnnotation
@PostMapping("/create")
public R create(@Validated @RequestBody ForwardDto forwardDto) {
return forwardService.createForward(forwardDto);
}
@LogAnnotation
@PostMapping("/list")
public R readAll() {
return forwardService.getAllForwards();
}
@LogAnnotation
@PostMapping("/update")
public R update(@Validated @RequestBody ForwardUpdateDto forwardUpdateDto) {
return forwardService.updateForward(forwardUpdateDto);
}
@LogAnnotation
@PostMapping("/delete")
public R delete(@RequestBody Map<String, Object> params) {
Long id = Long.valueOf(params.get("id").toString());
return forwardService.deleteForward(id);
}
@LogAnnotation
@PostMapping("/force-delete")
public R forceDelete(@RequestBody Map<String, Object> params) {
Long id = Long.valueOf(params.get("id").toString());
return forwardService.forceDeleteForward(id);
}
@LogAnnotation
@PostMapping("/pause")
public R pause(@RequestBody Map<String, Object> params) {
Long id = Long.valueOf(params.get("id").toString());
return forwardService.pauseForward(id);
}
@LogAnnotation
@PostMapping("/resume")
public R resume(@RequestBody Map<String, Object> params) {
Long id = Long.valueOf(params.get("id").toString());
return forwardService.resumeForward(id);
}
/**
* 转发诊断功能
* @param params 包含forwardId的参数
* @return 诊断结果
*/
@LogAnnotation
@RequireRole
@PostMapping("/diagnose")
public R diagnoseForward(@RequestBody Map<String, Object> params) {
Long forwardId = Long.valueOf(params.get("forwardId").toString());
return forwardService.diagnoseForward(forwardId);
}
}