|
- package com.iformall.controller;
-
- import com.github.pagehelper.PageInfo;
- import com.iformall.common.ErrorCode;
- import com.iformall.common.ResultData;
- import com.iformall.domain.po.base.BaseEntity;
- import com.iformall.domain.po.sm.MouldPatch;
- import com.iformall.domain.po.sm.MouldPatchSign;
- import com.iformall.domain.po.sm.UserMouldVideo;
- import com.iformall.enums.EnumMouldSendType;
- import com.iformall.enums.EnumVideoStatus;
- import com.iformall.enums.EnumaMouldPatchStatus;
- import com.iformall.service.sm.MouldPatchService;
- import com.iformall.service.sm.MouldPatchSignService;
- import com.iformall.service.sm.UserMouldVideoService;
- import com.iformall.video.VideoFactory;
- import com.iformall.video.entity.VideUploadResult;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
-
- import java.util.Date;
- import java.util.List;
-
-
- @RestController
- @RequestMapping("/api/userVideo")
- @Api(description = "模板接口")
- public class UserMouldVideoController extends BaseController {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
- @Autowired
- private UserMouldVideoService userMouldVideoService;
-
- @Autowired
- private MouldPatchService mouldPatchService;
-
- @Autowired
- private VideoFactory videoFactory;
-
- @Autowired
- String videoType;
-
- @ApiOperation("分页列表接口")
- @GetMapping("list")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
- @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
- public ResultData list(@ModelAttribute UserMouldVideo record, Integer pageNum, Integer pageSize) {
- logger.debug("[" + getIpAddr() + "] UserMouldVideoController::list");
- if (record == null) record = new UserMouldVideo();
- record.setUserId(getMemberId());
- record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC);
- final PageInfo<UserMouldVideo> page = userMouldVideoService.cListAsPage(record, pageNum, pageSize);
- return new ResultData(page);
- }
-
- @ApiOperation("根据id查询接口")
- @GetMapping("/findById")
- @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
- public ResultData findById(Long id) {
- logger.debug("[" + getIpAddr() + "] MouldPatchController::findById");
- UserMouldVideo mouldVideo = userMouldVideoService.getById(id);
- if(mouldVideo == null || !mouldVideo.getUserId().equals(getMemberId())){
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到用户数据");
- }
- if(mouldVideo.getPersonMouldId() != null){
- mouldVideo.setPersonMould(mouldPatchService.getDetailById(mouldVideo.getPersonMouldId()));
- }
- if(mouldVideo.getVoiceMouldId() != null){
- mouldVideo.setVoiceMould(mouldPatchService.getDetailById(mouldVideo.getVoiceMouldId()));
- }
- if(mouldVideo.getBackgroundMouldId() != null){
- mouldVideo.setBackgroundMould(mouldPatchService.getDetailById(mouldVideo.getBackgroundMouldId()));
- }
- return new ResultData(mouldVideo);
- }
-
- @ApiOperation("新增接口")
- @PostMapping("saveOrUpdate")
- public ResultData saveOrUpdate(@RequestBody UserMouldVideo record) {
- logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate");
- record.setUserId(getMemberId());
- return userMouldVideoService.saveOrUpdate(record);
- }
-
- @ApiOperation("生成视频")
- @PostMapping("createVideo")
- public ResultData create(@RequestBody UserMouldVideo record) {
- logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate");
- if(record.getId() == null){
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
- }
- UserMouldVideo mouldVideo = userMouldVideoService.getById(record.getId());
- if(mouldVideo == null || !mouldVideo.getUserId().equals(getMemberId())){
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到用户数据");
- }
- if(StringUtils.isEmpty(mouldVideo.getPaperwork())){
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未填写视频文案");
- }
- if(EnumVideoStatus.ing.getCode().equals(mouldVideo.getVideoStatus())){
- return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"生成视频中");
- }
-
- UserMouldVideo mouldVideoUpd = new UserMouldVideo();
- mouldVideoUpd.setId(record.getId());
- mouldVideoUpd.setVideoStatus(EnumVideoStatus.ing.getCode());
- mouldVideoUpd.setCreateVideoDate(new Date());
- userMouldVideoService.saveOrUpdate(mouldVideoUpd);
-
- userMouldVideoService.createVideo(mouldVideo);
-
- return new ResultData();
- }
-
- @ApiOperation("根据id查询接口")
- @GetMapping("/findVideo")
- @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
- public ResultData findVideo(Long id) {
- logger.debug("[" + getIpAddr() + "] MouldPatchController::findVideo");
- UserMouldVideo userMouldVideo = userMouldVideoService.findVideo(id);
- return new ResultData(userMouldVideo);
- }
-
- @GetMapping(value = "/videoDetial")
- @ApiOperation("视频详情")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "videoId", value = "视频编号", dataType = "String", paramType = "query", required = true)})
- public ResultData videoDetial(String videoId) {
- try {
- VideUploadResult videoDetail = videoFactory.getExcutor(videoType).getVideoDetailWithCache(videoId);
- return new ResultData(videoDetail);
- } catch (Exception e) {
- logger.error(e.getMessage());
- return new ResultData(ErrorCode.PICTURE_ANALYZING_ERROR);
- }
- }
-
- }
|