test
This commit is contained in:
parent
1308b192aa
commit
1559befe29
@ -1,19 +1,21 @@
|
|||||||
package com.hmdp.service.impl;
|
package com.hmdp.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hmdp.config.RedissonConfig;
|
|
||||||
import com.hmdp.dto.Result;
|
import com.hmdp.dto.Result;
|
||||||
import com.hmdp.entity.Voucher;
|
import com.hmdp.entity.Voucher;
|
||||||
import com.hmdp.mapper.VoucherMapper;
|
import com.hmdp.mapper.VoucherMapper;
|
||||||
import com.hmdp.entity.SeckillVoucher;
|
import com.hmdp.entity.SeckillVoucher;
|
||||||
import com.hmdp.service.ISeckillVoucherService;
|
import com.hmdp.service.ISeckillVoucherService;
|
||||||
import com.hmdp.service.IVoucherService;
|
import com.hmdp.service.IVoucherService;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.hmdp.utils.RedisConstants.SECKILL_STOCK_KEY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
@ -26,6 +28,8 @@ import java.util.List;
|
|||||||
public class VoucherServiceImpl extends ServiceImpl<VoucherMapper, Voucher> implements IVoucherService {
|
public class VoucherServiceImpl extends ServiceImpl<VoucherMapper, Voucher> implements IVoucherService {
|
||||||
@Resource
|
@Resource
|
||||||
private ISeckillVoucherService seckillVoucherService;
|
private ISeckillVoucherService seckillVoucherService;
|
||||||
|
@Resource
|
||||||
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result queryVoucherOfShop(Long shopId) {
|
public Result queryVoucherOfShop(Long shopId) {
|
||||||
@ -47,5 +51,7 @@ public class VoucherServiceImpl extends ServiceImpl<VoucherMapper, Voucher> impl
|
|||||||
seckillVoucher.setBeginTime(voucher.getBeginTime());
|
seckillVoucher.setBeginTime(voucher.getBeginTime());
|
||||||
seckillVoucher.setEndTime(voucher.getEndTime());
|
seckillVoucher.setEndTime(voucher.getEndTime());
|
||||||
seckillVoucherService.save(seckillVoucher);
|
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