抢红包增加锁
This commit is contained in:
parent
40be2a0440
commit
b2fb0fe217
@ -11,6 +11,7 @@ import com.red.circle.other.app.dto.cmd.GrabRoomRedPacketCmd;
|
|||||||
import com.red.circle.other.app.dto.cmd.QueryRoomRedPacketDetailCmd;
|
import com.red.circle.other.app.dto.cmd.QueryRoomRedPacketDetailCmd;
|
||||||
import com.red.circle.other.app.dto.cmd.QueryRoomRedPacketListCmd;
|
import com.red.circle.other.app.dto.cmd.QueryRoomRedPacketListCmd;
|
||||||
import com.red.circle.other.app.dto.cmd.SendRoomRedPacketCmd;
|
import com.red.circle.other.app.dto.cmd.SendRoomRedPacketCmd;
|
||||||
|
import com.red.circle.other.app.util.DistributedLockUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -29,6 +30,7 @@ public class RoomRedPacketServiceImpl implements RoomRedPacketService {
|
|||||||
private final GrabRoomRedPacketCmdExe grabRoomRedPacketCmdExe;
|
private final GrabRoomRedPacketCmdExe grabRoomRedPacketCmdExe;
|
||||||
private final QueryRoomRedPacketListQryExe queryRoomRedPacketListQryExe;
|
private final QueryRoomRedPacketListQryExe queryRoomRedPacketListQryExe;
|
||||||
private final QueryRoomRedPacketDetailQryExe queryRoomRedPacketDetailQryExe;
|
private final QueryRoomRedPacketDetailQryExe queryRoomRedPacketDetailQryExe;
|
||||||
|
private final DistributedLockUtil distributedLockUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RoomRedPacketCO sendRedPacket(SendRoomRedPacketCmd cmd) {
|
public RoomRedPacketCO sendRedPacket(SendRoomRedPacketCmd cmd) {
|
||||||
@ -37,7 +39,8 @@ public class RoomRedPacketServiceImpl implements RoomRedPacketService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GrabRoomRedPacketResultCO grabRedPacket(GrabRoomRedPacketCmd cmd) {
|
public GrabRoomRedPacketResultCO grabRedPacket(GrabRoomRedPacketCmd cmd) {
|
||||||
return grabRoomRedPacketCmdExe.execute(cmd);
|
String key = "room:red_packet:" + cmd.getPacketId() + ":" + cmd.getReqUserId();
|
||||||
|
return distributedLockUtil.executeWithLock(key, () -> grabRoomRedPacketCmdExe.execute(cmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user