feat(backend): Improve tag management and media resource access
This commit is contained in:
+56
@@ -119,4 +119,60 @@ public class ContentManageController {
|
||||
@PathVariable Long categoryId) {
|
||||
return contentFeignClient.deleteCategory(categoryId, internalServiceToken);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标签分页
|
||||
*/
|
||||
@PreAuthorize("hasAuthority('tag:manage')")
|
||||
@GetMapping("/tag/page")
|
||||
public Result<Page<Object>> getTagPage(
|
||||
@RequestParam(value = "page", defaultValue = "1") Integer page,
|
||||
@RequestParam(value = "size", defaultValue = "10") Integer size,
|
||||
@RequestParam(value = "keyword", required = false) String keyword) {
|
||||
return contentFeignClient.getTagPage(page, size, keyword);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加标签
|
||||
*/
|
||||
@OperationLog("添加标签")
|
||||
@PreAuthorize("hasAuthority('tag:manage')")
|
||||
@PostMapping("/tag")
|
||||
public Result<Void> addTag(@RequestBody Object tag, jakarta.servlet.http.HttpServletRequest request) {
|
||||
Object adminId = request.getAttribute("adminId");
|
||||
Object username = request.getAttribute("username");
|
||||
return contentFeignClient.addTag(
|
||||
tag,
|
||||
internalServiceToken,
|
||||
String.valueOf(adminId instanceof Long ? adminId : 0L),
|
||||
String.valueOf(username == null ? "admin" : username)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新标签
|
||||
*/
|
||||
@OperationLog("更新标签")
|
||||
@PreAuthorize("hasAuthority('tag:manage')")
|
||||
@PutMapping("/tag")
|
||||
public Result<Void> updateTag(@RequestBody Object tag, jakarta.servlet.http.HttpServletRequest request) {
|
||||
Object adminId = request.getAttribute("adminId");
|
||||
Object username = request.getAttribute("username");
|
||||
return contentFeignClient.updateTag(
|
||||
tag,
|
||||
internalServiceToken,
|
||||
String.valueOf(adminId instanceof Long ? adminId : 0L),
|
||||
String.valueOf(username == null ? "admin" : username)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除标签
|
||||
*/
|
||||
@OperationLog("删除标签")
|
||||
@PreAuthorize("hasAuthority('tag:manage')")
|
||||
@DeleteMapping("/tag/{tagId}")
|
||||
public Result<Void> deleteTag(@PathVariable Long tagId) {
|
||||
return contentFeignClient.deleteTag(tagId, internalServiceToken);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,6 +73,28 @@ public interface ContentFeignClient {
|
||||
Result<Void> deleteCategory(@PathVariable("categoryId") Long categoryId,
|
||||
@RequestHeader("X-Internal-Token") String internalToken);
|
||||
|
||||
@GetMapping("/content/tag/page")
|
||||
Result<Page<Object>> getTagPage(
|
||||
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
@RequestParam(value = "keyword", required = false) String keyword);
|
||||
|
||||
@PostMapping("/content/tag")
|
||||
Result<Void> addTag(@RequestBody Object tag,
|
||||
@RequestHeader("X-Internal-Token") String internalToken,
|
||||
@RequestHeader("userId") String userId,
|
||||
@RequestHeader("username") String username);
|
||||
|
||||
@PutMapping("/content/tag")
|
||||
Result<Void> updateTag(@RequestBody Object tag,
|
||||
@RequestHeader("X-Internal-Token") String internalToken,
|
||||
@RequestHeader("userId") String userId,
|
||||
@RequestHeader("username") String username);
|
||||
|
||||
@DeleteMapping("/content/tag/{tagId}")
|
||||
Result<Void> deleteTag(@PathVariable("tagId") Long tagId,
|
||||
@RequestHeader("X-Internal-Token") String internalToken);
|
||||
|
||||
@GetMapping("/content/video/admin/stats")
|
||||
Result<Object> getVideoStats(@RequestHeader("X-Internal-Token") String internalToken);
|
||||
}
|
||||
|
||||
+20
@@ -58,6 +58,26 @@ public class ContentFeignClientFallbackFactory implements FallbackFactory<Conten
|
||||
return Result.error("删除分类失败:服务不可用");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Page<Object>> getTagPage(Integer pageNum, Integer pageSize, String keyword) {
|
||||
return Result.error("获取标签列表失败:服务不可用");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Void> addTag(Object tag, String internalToken, String userId, String username) {
|
||||
return Result.error("添加标签失败:服务不可用");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Void> updateTag(Object tag, String internalToken, String userId, String username) {
|
||||
return Result.error("更新标签失败:服务不可用");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Void> deleteTag(Long tagId, String internalToken) {
|
||||
return Result.error("删除标签失败:服务不可用");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Object> getVideoStats(String internalToken) {
|
||||
return Result.error("获取视频统计失败:服务不可用");
|
||||
|
||||
Reference in New Issue
Block a user