package com.ruoyi.auction;
|
|
import com.alibaba.fastjson2.JSON;
|
import com.google.common.collect.Lists;
|
import com.google.zxing.WriterException;
|
import com.ruoyi.auction.util.CreateQrCode;
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
import com.ruoyi.system.api.RemoteFileService;
|
import com.ruoyi.system.api.domain.Order;
|
import com.ruoyi.system.api.feignClient.OrderClient;
|
import java.io.IOException;
|
import java.util.List;
|
import java.util.concurrent.TimeUnit;
|
import javax.annotation.Resource;
|
import lombok.extern.slf4j.Slf4j;
|
import org.junit.jupiter.api.Test;
|
import org.redisson.api.RLock;
|
import org.redisson.api.RedissonClient;
|
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.web.multipart.MultipartFile;
|
|
/**
|
* @author mitao
|
* @date 2024/5/31
|
*/
|
@SpringBootTest
|
@Slf4j
|
public class RedissonTest {
|
@Resource
|
private RedissonClient redissonClient;
|
@Resource
|
private RemoteFileService remoteFileService;
|
@Resource
|
private OrderClient orderClient;
|
@Test
|
public void test() {
|
//创建5个线程,模拟并发,同时执行excute()方法
|
for (int i = 0; i < 5; i++) {
|
final int key = i;
|
new Thread(() -> {
|
execute(key);
|
}).start();
|
}
|
}
|
private void execute(Integer key){
|
String goodsLock = "goods_lock:" + key;
|
RLock redissonClientLock = redissonClient.getLock(goodsLock);
|
|
try {
|
redissonClientLock.lock(30, TimeUnit.SECONDS);
|
if (redissonClientLock.isLocked()) {
|
log.info("execute:{}",key);
|
}
|
} finally {
|
redissonClientLock.unlock();
|
}
|
}
|
|
@Test
|
public void test2() throws IOException, WriterException {
|
MultipartFile file = CreateQrCode.createQRCodeStream("123456");
|
String data = remoteFileService.obsUpload(file).getData();
|
System.out.println("data:"+data);
|
}
|
@Test
|
public void test3() {
|
|
List<Order> orderVOList = orderClient.getOrderListByMubres( Lists.newArrayList("cc219177-0494-47c5-a1a5-67ccb00547b7", "45675c47-3f00-4c52-ada9-b2be52ea8cb1"),
|
SecurityConstants.INNER).getData();
|
System.err.println(JSON.toJSONString(orderVOList));
|
}
|
}
|