This commit is contained in:
777
2026-01-08 17:38:41 +08:00
parent 20c5908f34
commit 432743addf
27 changed files with 825 additions and 170 deletions

View File

@@ -0,0 +1,86 @@
package com.ruoyi.web.controller.cai.app;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.PrizeOnline;
import com.ruoyi.cai.domain.PrizeWinningRecord;
import com.ruoyi.cai.dto.app.draw.resp.*;
import com.ruoyi.cai.lottery.DrawService;
import com.ruoyi.cai.service.PrizeOnlineService;
import com.ruoyi.cai.service.PrizeWinningRecordService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanConvertUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/api/draw")
@Tag(name = "抽奖相关接口")
public class DrawController {
@Autowired
private DrawService drawService;
@Autowired
private PrizeOnlineService prizeOnlineService;
@Autowired
private PrizeWinningRecordService prizeWinningRecordService;
@GetMapping("/baseConfig")
@Operation(summary = "获取抽奖相关的基础信息")
public R<DrawBaseConfigResp> baseConfig(){
DrawBaseConfigResp resp = drawService.baseConfig();
return R.ok(resp);
}
@GetMapping("/points/logs")
@Operation(summary = "获取积分记录")
public R<List<PointLogsResp>> pointsLogs(PageQuery page){
List<PointLogsResp> resp = drawService.pointsLogs(page);
return R.ok(resp);
}
@GetMapping("/winning/record")
@Operation(summary = "获取自己的中奖记录")
public R<List<UserWinningRecordResp>> winningRecord(PageQuery page){
Page<PrizeWinningRecord> page1 = prizeWinningRecordService.page(page.build(), Wrappers.lambdaQuery(PrizeWinningRecord.class)
.eq(PrizeWinningRecord::getUserId, LoginHelper.getUserId())
.orderByDesc(PrizeWinningRecord::getCreateTime)
);
List<UserWinningRecordResp> resps = BeanConvertUtil.convertListTo(page1.getRecords(), UserWinningRecordResp::new);
return R.ok(resps);
}
@GetMapping("/prize/up")
@Operation(summary = "获取奖品列表")
public R<List<PrizeOnlineResp>> prizeUp(){
List<PrizeOnline> prizeOnlines = prizeOnlineService.prizeUp();
List<PrizeOnlineResp> resp = BeanConvertUtil.convertListTo(prizeOnlines, PrizeOnlineResp::new);
return R.ok(resp);
}
@GetMapping("/winning/center")
@Operation(summary = "全局中奖记录")
public R<List<CenterWinningRecordResp>> winningCenter(){
List<PrizeWinningRecord> list = prizeWinningRecordService.list(Wrappers.lambdaQuery(PrizeWinningRecord.class)
.orderByDesc(PrizeWinningRecord::getCreateTime));
List<CenterWinningRecordResp> resps = BeanConvertUtil.convertListTo(list, CenterWinningRecordResp::new);
resps.forEach(i -> i.setUserName("****"));
return R.ok(resps);
}
@GetMapping("/lottery")
@Operation(summary = "抽奖接口")
public R<Void> lottery(){
return R.ok();
}
}