86 lines
3.3 KiB
Java
86 lines
3.3 KiB
Java
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;
|
||
|
||
/**
|
||
* @Author:longbinbin
|
||
* @Date:2024/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));
|
||
}
|
||
}
|