package com.ruoyi.auction.controller.management;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsQuery;
|
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery;
|
import com.ruoyi.auction.controller.management.dto.MgtScreenBidPage;
|
import com.ruoyi.auction.controller.management.dto.MgtScreenSalesroomGoodsDTO;
|
import com.ruoyi.auction.controller.management.dto.MgtScreenVideoDTO;
|
import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO;
|
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomGoodsVO;
|
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO;
|
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO;
|
import com.ruoyi.auction.service.IAuctionSalesroomService;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.page.PageDTO;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* <p>
|
* 拍卖会视频表 前端控制器
|
* </p>
|
*
|
* @author mitao
|
* @since 2024-05-17
|
*/
|
@RestController
|
@RequestMapping("/mgt/auction-screen")
|
@Api(tags = {"管理后台-大屏操作台相关接口"})
|
@RequiredArgsConstructor
|
public class MgtAuctionScreenController {
|
|
private final IAuctionSalesroomService auctionSalesroomService;
|
|
/**
|
* 大屏操作台分页查询拍卖场
|
*
|
* @param query 拍卖场查询对象
|
* @return PageDTO<MgtAuctionSalesroomVO>
|
*/
|
@PostMapping("/page")
|
@ApiOperation(value = "获取拍卖场列表的分页数据", notes = "获取拍卖场列表的分页数据")
|
public R<PageDTO<MgtAuctionSalesroomVO>> getAuctionSalesroom4ScreenPage(
|
@Validated @RequestBody MgtAuctionSalesroomQuery query) {
|
return R.ok(auctionSalesroomService.getAuctionSalesroom4ScreenPage(query));
|
}
|
|
/**
|
* 进入详情
|
*
|
* @param id 拍卖会id
|
* @return 大屏操作台拍卖场视图对象
|
*/
|
@GetMapping("/detail/{id}")
|
@ApiOperation(value = "进入详情", notes = "进入详情")
|
public R<MgtAuctionSalesroomScreenVO> getAuctionSalesroomDetail(
|
@ApiParam(name = "id", value = "拍卖会id", required = true) @PathVariable("id") Long id) {
|
return R.ok(auctionSalesroomService.getAuctionSalesroomDetail(id));
|
}
|
|
/**
|
* 进入详情-出价会员列表
|
*
|
* @param mgtScreenBidPage 分页参数对象
|
* @return PageDTO<MgtAuctionBidRecordVO>
|
*/
|
@PostMapping("/bid-list")
|
@ApiOperation(value = "进入详情-出价会员列表", notes = "进入详情-出价会员列表")
|
public R<PageDTO<MgtAuctionBidRecordVO>> getAuctionSalesroomDetail(
|
@Validated @RequestBody MgtScreenBidPage mgtScreenBidPage) {
|
return R.ok(auctionSalesroomService.getScreenBidRecordList(mgtScreenBidPage));
|
}
|
|
/**
|
* 添加商品
|
*
|
* @param dto 大屏操作台添加商品数据传输对象
|
*/
|
@PostMapping("/add-goods")
|
@ApiOperation(value = "添加商品", notes = "添加商品")
|
public R<?> addGoods(@Validated @RequestBody MgtScreenSalesroomGoodsDTO dto) {
|
auctionSalesroomService.addGoods(dto);
|
return R.ok();
|
}
|
|
/**
|
* 获取备选拍品列表的分页数据
|
*
|
* @param query 拍卖场商品关系查询对象
|
* @return PageDTO<MgtAuctionSalesroomGoodsVO>
|
*/
|
@PostMapping("/backup-goods")
|
@ApiOperation(value = "获取备选拍品列表的分页数据", notes = "获取备选拍品列表的分页数据")
|
public R<PageDTO<MgtAuctionSalesroomGoodsVO>> backupGoods(
|
@Validated @RequestBody MgtAuctionSalesroomGoodsQuery query) {
|
return R.ok(auctionSalesroomService.backupGoods(query));
|
}
|
|
/**
|
* 添加备选商品
|
*
|
* @param idList 备选商品id集合
|
*/
|
@PutMapping("/add-backup-goods")
|
@ApiOperation(value = "选择备选商品", notes = "选择备选商品")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "idStr", value = "商品id集合", required = true)
|
})
|
public R<?> addBackupGoods(@RequestParam("idStr") String idStr) {
|
auctionSalesroomService.addBackupGoods(idStr);
|
return R.ok();
|
}
|
|
/**
|
* 结束当前拍卖商品
|
*
|
* @param id 拍卖场商品id
|
*/
|
@PutMapping("/stop-current/{id}")
|
@ApiOperation("结束当前拍卖商品")
|
public R<?> stopCurrentGoods(
|
@ApiParam(name = "id", value = "拍卖场商品id", required = true) @PathVariable("id") Long id) {
|
try {
|
auctionSalesroomService.stopCurrentGoods(id);
|
} catch (JsonProcessingException e) {
|
throw new RuntimeException(e);
|
}
|
return R.ok();
|
}
|
|
/**
|
* 开始下一拍卖商品
|
*
|
* @param id 拍卖场商品id
|
*/
|
@PutMapping("/start-next/{id}")
|
@ApiOperation("开始下一拍卖商品")
|
public R<?> startNextGoods(
|
@ApiParam(name = "id", value = "拍卖场商品id", required = true) @PathVariable("id") Long id) {
|
try {
|
auctionSalesroomService.startNextGoods(id);
|
} catch (JsonProcessingException e) {
|
throw new RuntimeException(e);
|
}
|
return R.ok();
|
}
|
|
/**
|
* 播放视频
|
*
|
* @param dto 大屏播放视频对象
|
*/
|
@PostMapping("/play")
|
@ApiOperation("播放视频-确认")
|
public R<?> play(@Validated @RequestBody MgtScreenVideoDTO dto) {
|
auctionSalesroomService.play(dto);
|
return R.ok();
|
}
|
|
/**
|
* 结束播放
|
*
|
* @param auctionSalesroomId 拍卖场id
|
*/
|
@PutMapping("/stop-play/{auctionSalesroomId}")
|
@ApiOperation("结束播放")
|
public R<?> stopPlay(
|
@ApiParam(name = "auctionSalesroomId", value = "拍卖场id", required = true)
|
@PathVariable("auctionSalesroomId") Long auctionSalesroomId) {
|
auctionSalesroomService.stopPlay(auctionSalesroomId);
|
return R.ok();
|
}
|
|
/**
|
* 开始当前拍卖场
|
*
|
* @param auctionSalesroomId 拍卖场id
|
*/
|
@PutMapping("/start-auction/{auctionSalesroomId}")
|
@ApiOperation("开始当前拍卖场")
|
public R<?> startCurrentAuctionSalesroom(
|
@ApiParam(name = "auctionSalesroomId", value = "拍卖场id", required = true)
|
@PathVariable("auctionSalesroomId") Long auctionSalesroomId) {
|
try {
|
auctionSalesroomService.startCurrentAuctionSalesroom(auctionSalesroomId);
|
} catch (JsonProcessingException e) {
|
throw new RuntimeException(e);
|
}
|
return R.ok();
|
}
|
|
/**
|
* 结束当前拍卖场
|
*
|
* @param auctionSalesroomId 拍卖场id
|
*/
|
@PutMapping("/stop-auction/{auctionSalesroomId}")
|
@ApiOperation("结束当前拍卖场")
|
public R<?> stopCurrentAuctionSalesroom(
|
@ApiParam(name = "auctionSalesroomId", value = "拍卖场id", required = true)
|
@PathVariable("auctionSalesroomId") Long auctionSalesroomId) {
|
try {
|
auctionSalesroomService.stopCurrentAuctionSalesroom(auctionSalesroomId);
|
} catch (JsonProcessingException e) {
|
throw new RuntimeException(e);
|
}
|
return R.ok();
|
}
|
}
|