FrameTour-BE/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java

86 lines
3.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.ycwl.basic.controller.mobile;
import com.ycwl.basic.annotation.IgnoreToken;
import com.ycwl.basic.exception.CheckTokenException;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.goods.*;
import com.ycwl.basic.service.mobile.GoodsService;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Authorlongbinbin
* @Date2024/12/5 14:49
* 成片video和源素材source都可作为商品订单中可购买多个
*/
@RestController
@RequestMapping("/api/mobile/goods/v1")
@Api(tags = "商品相关接口")
public class AppGoodsController {
@Autowired
private GoodsService goodsService;
@ApiOperation("商品列表")
@PostMapping("/goodsList")
public ApiResponse<List<GoodsPageVO>> goodsList(@RequestBody GoodsReqQuery query) {
return goodsService.goodsList(query);
}
@ApiOperation("源素材(原片/照片)商品列表")
@PostMapping("/sourceGoodsList")
public ApiResponse<List<GoodsDetailVO>> sourceGoodsList(@RequestBody GoodsReqQuery query) {
List<GoodsDetailVO> goodsDetailVOS = goodsService.sourceGoodsList(query);
return ApiResponse.success(goodsDetailVOS);
}
@ApiOperation("成片vlog商品详情")
@GetMapping("/getVideoGoodsDetail/{videoId}")
@IgnoreToken
public ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(@PathVariable("videoId") Long videoId) {
try {
JwtInfo worker = JwtTokenUtil.getWorker();
return goodsService.videoGoodsDetail(worker.getUserId(), videoId);
} catch (CheckTokenException e) {
return goodsService.videoGoodsDetail(null, videoId);
}
}
@GetMapping("/sourceGoods/{sourceId}")
public ApiResponse<GoodsDetailVO> sourceGoodsInfo(@PathVariable("sourceId") Long sourceId) {
JwtInfo worker = JwtTokenUtil.getWorker();
return goodsService.sourceGoodsInfo(sourceId);
}
/**
* 查询用户当前景区的视频合成任务状态
*
* @return 0没有任务 1 合成中 2 合成成功
*/
@ApiOperation("查询用户当前景区的整体视频合成任务状态 0没有任务 1 合成中 2 合成成功 ")
@GetMapping("/getTaskStatus/")
public ApiResponse<VideoTaskStatusVO> getAllTaskStatus() {
JwtInfo worker = JwtTokenUtil.getWorker();
return ApiResponse.success(goodsService.getAllTaskStatus(worker.getUserId()));
}
/**
* 查询用户当前景区的具体模版视频合成任务状态
*
* @param templateId 模版id
* @return 1 合成中 2 合成成功
*/
@ApiOperation("查询用户当前景区的具体模版视频合成任务状态 1 合成中 2 合成成功 ")
@GetMapping("/task/face/{faceId}/template/{templateId}")
public ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(@PathVariable("faceId") Long faceId, @PathVariable("templateId") Long templateId) {
JwtInfo worker = JwtTokenUtil.getWorker();
return ApiResponse.success(goodsService.getTaskStatusByTemplateId(faceId, templateId));
}
}