test
This commit is contained in:
parent
1308b192aa
commit
1559befe29
@ -1,19 +1,21 @@
|
||||
package com.hmdp.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hmdp.config.RedissonConfig;
|
||||
import com.hmdp.dto.Result;
|
||||
import com.hmdp.entity.Voucher;
|
||||
import com.hmdp.mapper.VoucherMapper;
|
||||
import com.hmdp.entity.SeckillVoucher;
|
||||
import com.hmdp.service.ISeckillVoucherService;
|
||||
import com.hmdp.service.IVoucherService;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static com.hmdp.utils.RedisConstants.SECKILL_STOCK_KEY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
@ -26,6 +28,8 @@ import java.util.List;
|
||||
public class VoucherServiceImpl extends ServiceImpl<VoucherMapper, Voucher> implements IVoucherService {
|
||||
@Resource
|
||||
private ISeckillVoucherService seckillVoucherService;
|
||||
@Resource
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
|
||||
@Override
|
||||
public Result queryVoucherOfShop(Long shopId) {
|
||||
@ -47,5 +51,7 @@ public class VoucherServiceImpl extends ServiceImpl<VoucherMapper, Voucher> impl
|
||||
seckillVoucher.setBeginTime(voucher.getBeginTime());
|
||||
seckillVoucher.setEndTime(voucher.getEndTime());
|
||||
seckillVoucherService.save(seckillVoucher);
|
||||
// 顺便把 stock 存到 redis 中
|
||||
stringRedisTemplate.opsForValue().set(SECKILL_STOCK_KEY + voucher.getId(), voucher.getStock().toString());
|
||||
}
|
||||
}
|
||||
|
||||
16
src/main/resources/seckill.lua
Normal file
16
src/main/resources/seckill.lua
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||||
--- Created by fang.
|
||||
--- DateTime: 2025/3/25 9:43
|
||||
---
|
||||
--- 将创建用户购买优惠券订单的前部分验证放在脚本中
|
||||
|
||||
--- 已经在创建秒杀券的时候就把stock存进redis了这里直接取就行
|
||||
local voucherID = ARGV[1]
|
||||
local userID = ARGV[2]
|
||||
local orderID = ARGV[3]
|
||||
|
||||
local stockKey = "seckill:stock:" .. voucherID
|
||||
local orderKey = "seckill:order:" .. voucherID
|
||||
|
||||
local stock = redis.call("get", stockKey);
|
||||
Loading…
x
Reference in New Issue
Block a user