123
This commit is contained in:
@@ -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<PrizeWinningRecord> list(PrizeWinningRecord bo, PageQuery pageQuery) {
|
||||
Page<PrizeWinningRecord> page = prizeWinningRecordService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
public TableDataInfo<PrizeWinningRecordAdminVO> list(PrizeWinningRecordAdminVO bo, PageQuery pageQuery) {
|
||||
Page<PrizeWinningRecordAdminVO> 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<Void> 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<Void> edit(@Validated(EditGroup.class) @RequestBody PrizeWinningRecord bo) {
|
||||
return toAjax(prizeWinningRecordService.updateById(bo));
|
||||
@PostMapping("/give")
|
||||
public R<Void> 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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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,不校验)
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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<Integer> bucket = redissonClient.getBucket(cacheKey);
|
||||
|
||||
@@ -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<PrizeWinningRecord> {
|
||||
|
||||
Page<PrizeWinningRecordAdminVO> pageAdmin(Page<Object> build, @Param("query") PrizeWinningRecordAdminVO query);
|
||||
}
|
||||
|
||||
@@ -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<PrizeWinningRecord> {
|
||||
|
||||
void winningRecord(PointChangeLog pointChangeLog, PrizeOnline prizeOnline, User user, Integer drawPoint);
|
||||
}
|
||||
|
||||
@@ -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<PrizeWinningRecordMapper,PrizeWinningRecord> 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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user