package com.rongyichuang.media.api;
|
|
import com.rongyichuang.media.dto.MediaSaveInput;
|
import com.rongyichuang.media.dto.MediaSaveResponse;
|
import com.rongyichuang.media.service.MediaV2Service;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.graphql.data.method.annotation.Argument;
|
import org.springframework.graphql.data.method.annotation.MutationMapping;
|
import org.springframework.stereotype.Controller;
|
|
/**
|
* 媒体GraphQL API
|
*/
|
@Controller
|
@Slf4j
|
public class MediaV2GraphqlApi {
|
|
@Autowired
|
private MediaV2Service mediaService;
|
|
/**
|
* 保存媒体文件(新版本)
|
* @param input 媒体保存输入
|
* @return 保存结果
|
*/
|
@MutationMapping
|
public MediaSaveResponse saveMediaV2(@Argument MediaSaveInput input) {
|
log.info("收到保存媒体文件请求,目标类型: {}, 目标ID: {}", input.getTargetType(), input.getTargetId());
|
return mediaService.saveMedia(input);
|
}
|
|
/**
|
* 保存选手头像
|
* @param playerId 选手ID
|
* @param url 头像URL
|
* @param fileName 文件名
|
* @param fileSize 文件大小
|
* @return 保存结果
|
*/
|
@MutationMapping
|
public MediaSaveResponse savePlayerAvatar(@Argument Long playerId, @Argument String url,
|
@Argument String fileName, @Argument Long fileSize) {
|
log.info("收到保存选手头像请求,选手ID: {}", playerId);
|
|
MediaSaveInput input = new MediaSaveInput();
|
input.setTargetType("player");
|
input.setTargetId(playerId);
|
input.setPath(url);
|
input.setName(fileName);
|
input.setFileSize(fileSize);
|
input.setMediaType(1); // 头像类型
|
|
return mediaService.saveMedia(input);
|
}
|
|
/**
|
* 保存活动报名附件
|
* @param activityPlayerId 活动报名ID
|
* @param url 附件URL
|
* @param fileName 文件名
|
* @param fileSize 文件大小
|
* @param mediaType 媒体类型
|
* @return 保存结果
|
*/
|
@MutationMapping
|
public MediaSaveResponse saveActivityPlayerAttachment(@Argument Long activityPlayerId, @Argument String url,
|
@Argument String fileName, @Argument Long fileSize,
|
@Argument Integer mediaType) {
|
log.info("收到保存活动报名附件请求,活动报名ID: {}", activityPlayerId);
|
|
MediaSaveInput input = new MediaSaveInput();
|
input.setTargetType("activity_player");
|
input.setTargetId(activityPlayerId);
|
input.setPath(url);
|
input.setName(fileName);
|
input.setFileSize(fileSize);
|
input.setMediaType(mediaType);
|
|
return mediaService.saveMedia(input);
|
}
|
}
|