diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/PrizeWinningRecordController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/PrizeWinningRecordController.java index 12983654..d44b9063 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/PrizeWinningRecordController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/PrizeWinningRecordController.java @@ -4,6 +4,8 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.PrizeWinningRecord; +import com.ruoyi.cai.dto.admin.vo.winningRecord.PrizeWinningRecordAdminVO; +import com.ruoyi.cai.mapper.PrizeWinningRecordMapper; import com.ruoyi.cai.service.PrizeWinningRecordService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; @@ -18,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Arrays; @@ -35,14 +38,16 @@ import java.util.Arrays; public class PrizeWinningRecordController extends BaseController { private final PrizeWinningRecordService prizeWinningRecordService; + @Resource + private PrizeWinningRecordMapper prizeWinningRecordMapper; /** * 查询中奖记录列表 */ @SaCheckPermission("cai:prizeWinningRecord:list") @GetMapping("/list") - public TableDataInfo list(PrizeWinningRecord bo, PageQuery pageQuery) { - Page page = prizeWinningRecordService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); + public TableDataInfo list(PrizeWinningRecordAdminVO bo, PageQuery pageQuery) { + Page page = prizeWinningRecordMapper.pageAdmin(pageQuery.build(), bo); return TableDataInfo.build(page); } @@ -58,26 +63,20 @@ public class PrizeWinningRecordController extends BaseController { return R.ok(prizeWinningRecordService.getById(id)); } - /** - * 新增中奖记录 - */ - @SaCheckPermission("cai:prizeWinningRecord:add") - @Log(title = "中奖记录", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody PrizeWinningRecord bo) { - return toAjax(prizeWinningRecordService.save(bo)); - } - /** * 修改中奖记录 */ @SaCheckPermission("cai:prizeWinningRecord:edit") @Log(title = "中奖记录", businessType = BusinessType.UPDATE) @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody PrizeWinningRecord bo) { - return toAjax(prizeWinningRecordService.updateById(bo)); + @PostMapping("/give") + public R give(@Validated(EditGroup.class) @RequestBody PrizeWinningRecord bo) { + PrizeWinningRecord update = new PrizeWinningRecord(); + update.setId(bo.getId()); + update.setGiveStatus(1); + update.setGiveRemark(bo.getGiveRemark()); + prizeWinningRecordService.updateById(update); + return R.ok(); } /** diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/PrizeWinningRecord.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/PrizeWinningRecord.java index 0f42c60b..e7ff2357 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/PrizeWinningRecord.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/PrizeWinningRecord.java @@ -35,7 +35,7 @@ public class PrizeWinningRecord implements Serializable { /** * 抽奖消耗 */ - private Long usePoint; + private Integer usePoint; /** * 奖品ID */ @@ -59,11 +59,11 @@ public class PrizeWinningRecord implements Serializable { /** * 保底抽数(0表示无保底,谢谢惠顾奖无效) */ - private Long guaranteeDraws; + private Integer guaranteeDraws; /** * 最低中奖抽数(0表示无限制,谢谢惠顾奖无效) */ - private Long minWinDraws; + private Integer minWinDraws; /** * 奖品库存(谢谢惠顾奖填0,不校验) */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/vo/winningRecord/PrizeWinningRecordAdminVO.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/vo/winningRecord/PrizeWinningRecordAdminVO.java new file mode 100644 index 00000000..8a805750 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/vo/winningRecord/PrizeWinningRecordAdminVO.java @@ -0,0 +1,11 @@ +package com.ruoyi.cai.dto.admin.vo.winningRecord; + +import com.ruoyi.cai.domain.PrizeWinningRecord; +import lombok.Data; + +@Data +public class PrizeWinningRecordAdminVO extends PrizeWinningRecord { + private String usercode; + private String nickname; + private String mobile; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/lottery/LotteryService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/lottery/LotteryService.java index b887bcfd..165ad6b6 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/lottery/LotteryService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/lottery/LotteryService.java @@ -10,6 +10,7 @@ import com.ruoyi.cai.manager.IdManager; import com.ruoyi.cai.manager.SystemConfigManager; import com.ruoyi.cai.service.AccountService; import com.ruoyi.cai.service.PrizeOnlineService; +import com.ruoyi.cai.service.PrizeWinningRecordService; import com.ruoyi.cai.service.UserService; import com.ruoyi.common.exception.ServiceException; import lombok.RequiredArgsConstructor; @@ -244,6 +245,9 @@ public class LotteryService { return finalCount; } + @Autowired + private PrizeWinningRecordService prizeWinningRecordService; + /** * 保存抽奖记录(事务控制) */ @@ -253,12 +257,7 @@ public class LotteryService { String traceId = IdManager.nextIdStr(); PointChangeLog pointChangeLog = pointManager.drawPoint(prizeOnline, user, drawPoint, traceId); // 记录用户抽奖记录 -// UserDrawRecord record = new UserDrawRecord(); -// record.setUserId(userId); -// record.setPrizeId(prizeId); -// record.setDrawTime(LocalDateTime.now()); -// record.setContinuousDraws(continuousDraws); -// userDrawRecordMapper.insert(record); + prizeWinningRecordService.winningRecord(pointChangeLog, prizeOnline, user, drawPoint); // 更新缓存 String cacheKey = String.format(USER_DRAW_COUNT_KEY, user.getId()); RBucket bucket = redissonClient.getBucket(cacheKey); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/PrizeWinningRecordMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/PrizeWinningRecordMapper.java index 8270de5e..c58bd839 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/PrizeWinningRecordMapper.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/PrizeWinningRecordMapper.java @@ -1,7 +1,11 @@ package com.ruoyi.cai.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.PrizeWinningRecord; +import com.ruoyi.cai.dto.admin.vo.winningRecord.PrizeWinningRecordAdminVO; +import org.apache.ibatis.annotations.Param; /** * 中奖记录Mapper接口 @@ -11,4 +15,5 @@ import com.ruoyi.cai.domain.PrizeWinningRecord; */ public interface PrizeWinningRecordMapper extends BaseMapper { + Page pageAdmin(Page build, @Param("query") PrizeWinningRecordAdminVO query); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/PrizeWinningRecordService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/PrizeWinningRecordService.java index 95575484..a82b4307 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/PrizeWinningRecordService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/PrizeWinningRecordService.java @@ -1,7 +1,10 @@ package com.ruoyi.cai.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cai.domain.PointChangeLog; +import com.ruoyi.cai.domain.PrizeOnline; import com.ruoyi.cai.domain.PrizeWinningRecord; +import com.ruoyi.cai.domain.User; /** * 中奖记录Service接口 @@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.PrizeWinningRecord; */ public interface PrizeWinningRecordService extends IService { + void winningRecord(PointChangeLog pointChangeLog, PrizeOnline prizeOnline, User user, Integer drawPoint); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PrizeWinningRecordServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PrizeWinningRecordServiceImpl.java index 260984da..b45e5a9c 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PrizeWinningRecordServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PrizeWinningRecordServiceImpl.java @@ -1,7 +1,10 @@ package com.ruoyi.cai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cai.domain.PointChangeLog; +import com.ruoyi.cai.domain.PrizeOnline; import com.ruoyi.cai.domain.PrizeWinningRecord; +import com.ruoyi.cai.domain.User; import com.ruoyi.cai.mapper.PrizeWinningRecordMapper; import com.ruoyi.cai.service.PrizeWinningRecordService; import org.springframework.stereotype.Service; @@ -15,4 +18,23 @@ import org.springframework.stereotype.Service; @Service public class PrizeWinningRecordServiceImpl extends ServiceImpl implements PrizeWinningRecordService { + @Override + public void winningRecord(PointChangeLog pointChangeLog, PrizeOnline prizeOnline, User user, Integer drawPoint) { + PrizeWinningRecord prizeWinningRecord = new PrizeWinningRecord(); + prizeWinningRecord.setUserId(user.getId()); + prizeWinningRecord.setUsePoint(drawPoint); + prizeWinningRecord.setPrizeId(prizeOnline.getPrizeId()); + prizeWinningRecord.setPrizeName(prizeOnline.getPrizeName()); + prizeWinningRecord.setPrizeDesc(prizeOnline.getPrizeDesc()); + prizeWinningRecord.setPrizeImg(prizeOnline.getPrizeImg()); + prizeWinningRecord.setWinProbability(prizeOnline.getWinProbability()); + prizeWinningRecord.setGuaranteeDraws(prizeOnline.getGuaranteeDraws()); + prizeWinningRecord.setMinWinDraws(prizeOnline.getMinWinDraws()); + prizeWinningRecord.setStock(prizeOnline.getStock()); + prizeWinningRecord.setPrizeType(prizeOnline.getPrizeType()); + prizeWinningRecord.setPrizePrice(prizeOnline.getPrizePrice()); + prizeWinningRecord.setAutoGive(prizeOnline.getAutoGive()); + prizeWinningRecord.setGiveStatus(0); + this.save(prizeWinningRecord); + } } diff --git a/ruoyi-cai/src/main/resources/mapper/cai/PrizeWinningRecordMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/PrizeWinningRecordMapper.xml index c93f9303..2535faa8 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/PrizeWinningRecordMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/PrizeWinningRecordMapper.xml @@ -4,26 +4,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - - +