package com.xinquan.course.api.feign;
|
|
import com.xinquan.common.core.constant.SecurityConstants;
|
import com.xinquan.common.core.constant.ServiceNameConstants;
|
import com.xinquan.common.core.domain.R;
|
import com.xinquan.common.core.utils.page.PageDTO;
|
import com.xinquan.course.api.domain.Course;
|
import com.xinquan.course.api.domain.CourseCategory;
|
import com.xinquan.course.api.domain.CourseDTO;
|
import com.xinquan.course.api.domain.OrderCourseVO;
|
import com.xinquan.course.api.factory.RemoteCourseFallbackFactory;
|
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* @author mitao
|
* @date 2024/8/21
|
*/
|
@FeignClient(contextId = "remoteCourseService", value = ServiceNameConstants.COURSE_SERVICE, fallbackFactory = RemoteCourseFallbackFactory.class)
|
public interface RemoteCourseService {
|
@PostMapping("/client/course/course/getCourseIdsByName/{name}")
|
public R<List<Long>> getCourseIdsByName(@PathVariable("name") String name);
|
/**
|
* 根据id获取课程信息
|
*
|
* @param targetId 课程id
|
* @param source 请求来源
|
* @return
|
*/
|
@GetMapping("/inner/course/course/getCourseById/{targetId}")
|
R<Course> getCourseById(@PathVariable("targetId") Long targetId,
|
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
@PostMapping("/client/course/course/getCourseByCourseId/{courseId}")
|
public R<OrderCourseVO> getCourseCategoryList(@RequestBody OrderCourseVO req);
|
@GetMapping("/client/course/course/getCategoryById/{id}")
|
R<CourseCategory> getCategoryById(@PathVariable("id") String id);
|
@GetMapping("/client/course/course/cateList")
|
R<List<CourseCategory>> cateList();
|
@PostMapping("/client/course/course/courseList")
|
R<PageDTO<Course>> courseList(@RequestBody CourseDTO courseDTO);
|
}
|