动态头像-mp4-回调
This commit is contained in:
@@ -8,6 +8,7 @@ import com.accompany.core.base.SpringContextHolder;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.qcloud.cos.COSClient;
|
||||
import com.qcloud.cos.model.ciModel.job.MediaJobObject;
|
||||
import com.qcloud.cos.model.ciModel.job.MediaJobResponse;
|
||||
import com.qcloud.cos.model.ciModel.job.MediaJobsRequest;
|
||||
import lombok.SneakyThrows;
|
||||
@@ -64,4 +65,7 @@ public class TencentDataUniverseService {
|
||||
SpringContextHolder.getBean(UploadAvatarService.class).updateAvatar(outputAvatar, uid, redisKey, taskId);
|
||||
}
|
||||
|
||||
public void handleResult(MediaJobObject jobsDetail) {
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -14,7 +14,6 @@ import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.util.VipUtil;
|
||||
import com.accompany.common.config.SystemConfig;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.device.DeviceInfo;
|
||||
import com.accompany.common.netease.ErBanNetEaseService;
|
||||
import com.accompany.common.netease.neteaseacc.result.BaseNetEaseRet;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
@@ -31,6 +30,8 @@ import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import com.accompany.core.service.user.UsersBaseService;
|
||||
import com.accompany.core.util.I18NMessageSourceUtil;
|
||||
import com.qcloud.cos.model.ciModel.template.MediaTemplateRequest;
|
||||
import com.qcloud.cos.model.ciModel.template.MediaTemplateResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
@@ -63,6 +64,8 @@ public class UploadAvatarService extends BaseService {
|
||||
private AvatarPaidRecordMapper avatarPaidRecordMapper;
|
||||
|
||||
private final Long gifAvatarGoldPrice = 10000L;
|
||||
@Autowired
|
||||
private TencentDataUniverseService tencentDataUniverseService;
|
||||
|
||||
public long getGifAvatarGoldPrice(){
|
||||
return gifAvatarGoldPrice;
|
||||
@@ -201,6 +204,10 @@ public class UploadAvatarService extends BaseService {
|
||||
}
|
||||
|
||||
public void reviewAvatar(Long uid, String avatar, String redisKey, Long price, String ip, String deviceId) {
|
||||
if (ImageFileUtils.isMp4(avatar)){
|
||||
tencentDataUniverseService.transfer2Gif(uid, avatar, redisKey, price, ip, deviceId);
|
||||
return;
|
||||
}
|
||||
YidunCheckUtil.reviewAvatar(uid, avatar, redisKey, price, ip, deviceId);
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,57 @@
|
||||
package com.accompany.business.controller;
|
||||
|
||||
import com.accompany.business.common.BaseController;
|
||||
import com.accompany.business.service.TencentDataUniverseService;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.qcloud.cos.model.ciModel.job.MediaJobResponse;
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.security.NoTypePermission;
|
||||
import com.thoughtworks.xstream.security.NullPermission;
|
||||
import com.thoughtworks.xstream.security.PrimitiveTypePermission;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@Api(tags = "腾讯云数据万象媒体转码", value = "腾讯云数据万象媒体转码")
|
||||
@RequestMapping(value = "/tencent/media")
|
||||
public class TencentCosMediaCallbackController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private TencentDataUniverseService service;
|
||||
|
||||
@ApiOperation("易盾图片审核结果上报")
|
||||
@PostMapping("/callback")
|
||||
public BusiResult<Void> callback(@RequestBody String xml) {
|
||||
if (!StringUtils.hasText(xml)){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
XStream xstream = new XStream();
|
||||
// 清除默认安全权限
|
||||
xstream.addPermission(NoTypePermission.NONE);
|
||||
// 添加基本类型权限
|
||||
xstream.addPermission(NullPermission.NULL);
|
||||
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
|
||||
// 显式允许MediaJobResponse类
|
||||
xstream.allowTypes(new Class[]{MediaJobResponse.class});
|
||||
// 设置别名
|
||||
xstream.processAnnotations(MediaJobResponse.class);
|
||||
xstream.ignoreUnknownElements();
|
||||
MediaJobResponse response = (MediaJobResponse) xstream.fromXML(xml);
|
||||
log.info("收到腾讯云数据万象转码回调,解析后内容: {}", response);
|
||||
|
||||
service.handleResult(response.getJobsDetail());
|
||||
|
||||
return BusiResult.success();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user