领取房间每日任务加锁
This commit is contained in:
parent
880061a6e6
commit
0958146a18
@ -7,6 +7,7 @@ import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskClaimCO;
|
|||||||
import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskClaimableCountCO;
|
import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskClaimableCountCO;
|
||||||
import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskListCO;
|
import com.red.circle.other.app.dto.clientobject.task.RoomDailyTaskListCO;
|
||||||
import com.red.circle.other.app.dto.cmd.task.RoomDailyTaskClaimCmd;
|
import com.red.circle.other.app.dto.cmd.task.RoomDailyTaskClaimCmd;
|
||||||
|
import com.red.circle.other.app.util.DistributedLockUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -17,6 +18,7 @@ public class RoomDailyTaskServiceImpl implements RoomDailyTaskService {
|
|||||||
private final RoomDailyTaskQueryExe queryExe;
|
private final RoomDailyTaskQueryExe queryExe;
|
||||||
private final RoomDailyTaskClaimExe claimExe;
|
private final RoomDailyTaskClaimExe claimExe;
|
||||||
private final RoomDailyTaskClaimableCountQryExe claimableCountQryExe;
|
private final RoomDailyTaskClaimableCountQryExe claimableCountQryExe;
|
||||||
|
private final DistributedLockUtil distributedLockUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RoomDailyTaskListCO getTaskList(Long userId, Integer taskCategory) {
|
public RoomDailyTaskListCO getTaskList(Long userId, Integer taskCategory) {
|
||||||
@ -25,7 +27,9 @@ public class RoomDailyTaskServiceImpl implements RoomDailyTaskService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RoomDailyTaskClaimCO claimReward(RoomDailyTaskClaimCmd cmd) {
|
public RoomDailyTaskClaimCO claimReward(RoomDailyTaskClaimCmd cmd) {
|
||||||
return claimExe.execute(cmd);
|
String key = "roomDailyTaskClaim:" + cmd.getTaskCode() + ":" + cmd.getReqUserId();
|
||||||
|
distributedLockUtil.executeWithLock(key, () -> claimExe.execute(cmd));
|
||||||
|
return new RoomDailyTaskClaimCO();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user