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.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.cai.domain.PrizeWinningRecord;
|
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.cai.service.PrizeWinningRecordService;
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
@@ -18,6 +20,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -35,14 +38,16 @@ import java.util.Arrays;
|
|||||||
public class PrizeWinningRecordController extends BaseController {
|
public class PrizeWinningRecordController extends BaseController {
|
||||||
|
|
||||||
private final PrizeWinningRecordService prizeWinningRecordService;
|
private final PrizeWinningRecordService prizeWinningRecordService;
|
||||||
|
@Resource
|
||||||
|
private PrizeWinningRecordMapper prizeWinningRecordMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询中奖记录列表
|
* 查询中奖记录列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("cai:prizeWinningRecord:list")
|
@SaCheckPermission("cai:prizeWinningRecord:list")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo<PrizeWinningRecord> list(PrizeWinningRecord bo, PageQuery pageQuery) {
|
public TableDataInfo<PrizeWinningRecordAdminVO> list(PrizeWinningRecordAdminVO bo, PageQuery pageQuery) {
|
||||||
Page<PrizeWinningRecord> page = prizeWinningRecordService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
Page<PrizeWinningRecordAdminVO> page = prizeWinningRecordMapper.pageAdmin(pageQuery.build(), bo);
|
||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,26 +63,20 @@ public class PrizeWinningRecordController extends BaseController {
|
|||||||
return R.ok(prizeWinningRecordService.getById(id));
|
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")
|
@SaCheckPermission("cai:prizeWinningRecord:edit")
|
||||||
@Log(title = "中奖记录", businessType = BusinessType.UPDATE)
|
@Log(title = "中奖记录", businessType = BusinessType.UPDATE)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PutMapping()
|
@PostMapping("/give")
|
||||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PrizeWinningRecord bo) {
|
public R<Void> give(@Validated(EditGroup.class) @RequestBody PrizeWinningRecord bo) {
|
||||||
return toAjax(prizeWinningRecordService.updateById(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
|
* 奖品ID
|
||||||
*/
|
*/
|
||||||
@@ -59,11 +59,11 @@ public class PrizeWinningRecord implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 保底抽数(0表示无保底,谢谢惠顾奖无效)
|
* 保底抽数(0表示无保底,谢谢惠顾奖无效)
|
||||||
*/
|
*/
|
||||||
private Long guaranteeDraws;
|
private Integer guaranteeDraws;
|
||||||
/**
|
/**
|
||||||
* 最低中奖抽数(0表示无限制,谢谢惠顾奖无效)
|
* 最低中奖抽数(0表示无限制,谢谢惠顾奖无效)
|
||||||
*/
|
*/
|
||||||
private Long minWinDraws;
|
private Integer minWinDraws;
|
||||||
/**
|
/**
|
||||||
* 奖品库存(谢谢惠顾奖填0,不校验)
|
* 奖品库存(谢谢惠顾奖填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.manager.SystemConfigManager;
|
||||||
import com.ruoyi.cai.service.AccountService;
|
import com.ruoyi.cai.service.AccountService;
|
||||||
import com.ruoyi.cai.service.PrizeOnlineService;
|
import com.ruoyi.cai.service.PrizeOnlineService;
|
||||||
|
import com.ruoyi.cai.service.PrizeWinningRecordService;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -244,6 +245,9 @@ public class LotteryService {
|
|||||||
return finalCount;
|
return finalCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PrizeWinningRecordService prizeWinningRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存抽奖记录(事务控制)
|
* 保存抽奖记录(事务控制)
|
||||||
*/
|
*/
|
||||||
@@ -253,12 +257,7 @@ public class LotteryService {
|
|||||||
String traceId = IdManager.nextIdStr();
|
String traceId = IdManager.nextIdStr();
|
||||||
PointChangeLog pointChangeLog = pointManager.drawPoint(prizeOnline, user, drawPoint, traceId);
|
PointChangeLog pointChangeLog = pointManager.drawPoint(prizeOnline, user, drawPoint, traceId);
|
||||||
// 记录用户抽奖记录
|
// 记录用户抽奖记录
|
||||||
// UserDrawRecord record = new UserDrawRecord();
|
prizeWinningRecordService.winningRecord(pointChangeLog, prizeOnline, user, drawPoint);
|
||||||
// record.setUserId(userId);
|
|
||||||
// record.setPrizeId(prizeId);
|
|
||||||
// record.setDrawTime(LocalDateTime.now());
|
|
||||||
// record.setContinuousDraws(continuousDraws);
|
|
||||||
// userDrawRecordMapper.insert(record);
|
|
||||||
// 更新缓存
|
// 更新缓存
|
||||||
String cacheKey = String.format(USER_DRAW_COUNT_KEY, user.getId());
|
String cacheKey = String.format(USER_DRAW_COUNT_KEY, user.getId());
|
||||||
RBucket<Integer> bucket = redissonClient.getBucket(cacheKey);
|
RBucket<Integer> bucket = redissonClient.getBucket(cacheKey);
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.ruoyi.cai.mapper;
|
package com.ruoyi.cai.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
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.domain.PrizeWinningRecord;
|
||||||
|
import com.ruoyi.cai.dto.admin.vo.winningRecord.PrizeWinningRecordAdminVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 中奖记录Mapper接口
|
* 中奖记录Mapper接口
|
||||||
@@ -11,4 +15,5 @@ import com.ruoyi.cai.domain.PrizeWinningRecord;
|
|||||||
*/
|
*/
|
||||||
public interface PrizeWinningRecordMapper extends BaseMapper<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;
|
package com.ruoyi.cai.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.PrizeWinningRecord;
|
||||||
|
import com.ruoyi.cai.domain.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 中奖记录Service接口
|
* 中奖记录Service接口
|
||||||
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.PrizeWinningRecord;
|
|||||||
*/
|
*/
|
||||||
public interface PrizeWinningRecordService extends IService<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;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.PrizeWinningRecord;
|
||||||
|
import com.ruoyi.cai.domain.User;
|
||||||
import com.ruoyi.cai.mapper.PrizeWinningRecordMapper;
|
import com.ruoyi.cai.mapper.PrizeWinningRecordMapper;
|
||||||
import com.ruoyi.cai.service.PrizeWinningRecordService;
|
import com.ruoyi.cai.service.PrizeWinningRecordService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -15,4 +18,23 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class PrizeWinningRecordServiceImpl extends ServiceImpl<PrizeWinningRecordMapper,PrizeWinningRecord> implements PrizeWinningRecordService {
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,26 +4,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.cai.mapper.PrizeWinningRecordMapper">
|
<mapper namespace="com.ruoyi.cai.mapper.PrizeWinningRecordMapper">
|
||||||
|
|
||||||
<resultMap type="com.ruoyi.cai.domain.PrizeWinningRecord" id="PrizeWinningRecordResult">
|
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.winningRecord.PrizeWinningRecordAdminVO">
|
||||||
<result property="id" column="id"/>
|
select t2.usercode, t2.mobile, t2.nickname, t1.*
|
||||||
<result property="userId" column="user_id"/>
|
from cai_prize_winning_record t1
|
||||||
<result property="usePoint" column="use_point"/>
|
left join cai_user t2 on t1.user_id = t2.id
|
||||||
<result property="prizeId" column="prize_id"/>
|
<where>
|
||||||
<result property="prizeName" column="prize_name"/>
|
<if test="query.usercode != null and query.usercode != ''">
|
||||||
<result property="prizeDesc" column="prize_desc"/>
|
and t2.usercode = #{query.usercode}
|
||||||
<result property="prizeImg" column="prize_img"/>
|
</if>
|
||||||
<result property="winProbability" column="win_probability"/>
|
<if test="query.mobile != null and query.mobile != ''">
|
||||||
<result property="guaranteeDraws" column="guarantee_draws"/>
|
and t2.mobile = #{query.mobile}
|
||||||
<result property="minWinDraws" column="min_win_draws"/>
|
</if>
|
||||||
<result property="stock" column="stock"/>
|
<if test="query.prizeName != null and query.prizeName != ''">
|
||||||
<result property="prizeType" column="prize_type"/>
|
and t1.prize_name like concat('%',#{query.prizeName},'%')
|
||||||
<result property="prizePrice" column="prize_price"/>
|
</if>
|
||||||
<result property="autoGive" column="auto_give"/>
|
<if test="query.autoGive != null">
|
||||||
<result property="giveStatus" column="give_status"/>
|
and t1.auto_give = #{query.autoGive}
|
||||||
<result property="giveRemark" column="give_remark"/>
|
</if>
|
||||||
<result property="createTime" column="create_time"/>
|
<if test="query.giveStatus != null">
|
||||||
<result property="updateTime" column="update_time"/>
|
and t1.give_status = #{query.giveStatus}
|
||||||
</resultMap>
|
</if>
|
||||||
|
</where>
|
||||||
|
order by t1.create_time desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user