动态相关接口新增分布式锁
This commit is contained in:
parent
9618b01c9b
commit
ddb70a599a
@ -34,6 +34,8 @@ import com.red.circle.other.app.dto.clientobject.dynamic.*;
|
||||
import com.red.circle.other.app.dto.cmd.dynamic.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.red.circle.other.app.util.DistributedLockUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -75,15 +77,26 @@ public class DynamicServiceImpl implements DynamicService {
|
||||
private final DynamicCheckSendPermissionCmdExe dynamicCheckSendPermissionCmdExe;
|
||||
private final DynamicBlacklistAddCmdExe dynamicBlacklistAddCmdExe;
|
||||
private final DynamicBlacklistDelCmdExe dynamicBlacklistDelCmdExe;
|
||||
private final DistributedLockUtil distributedLockUtil;
|
||||
|
||||
private static final String LIKE_LOCK_PREFIX = "dynamic:like:lock";
|
||||
private static final String COMMENT_LIKE_LOCK_PREFIX = "dynamic:comment:like:lock";
|
||||
private static final String COMMENT_LOCK_PREFIX = "dynamic:comment:lock";
|
||||
private static final String CREATE_LOCK_PREFIX = "dynamic:create:lock";
|
||||
private static final String DELETE_LOCK_PREFIX = "dynamic:delete:lock";
|
||||
private static final String DELETE_COMMENT_LOCK_PREFIX = "dynamic:comment:delete:lock";
|
||||
private static final String REPORT_LOCK_PREFIX = "dynamic:report:lock";
|
||||
|
||||
@Override
|
||||
public DynamicListCO createDynamic(DynamicContentAddCmd cmd) {
|
||||
return dynamicContentAddCmdExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(CREATE_LOCK_PREFIX, cmd.getReqUserId());
|
||||
return distributedLockUtil.executeWithLock(lockKey, () -> dynamicContentAddCmdExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDynamic(IdLongCmd cmd) {
|
||||
dynamicContentDelExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(DELETE_LOCK_PREFIX, cmd.getReqUserId(), cmd.getId());
|
||||
distributedLockUtil.executeWithLock(lockKey, () -> dynamicContentDelExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -143,22 +156,26 @@ public class DynamicServiceImpl implements DynamicService {
|
||||
|
||||
@Override
|
||||
public Long deleteComment(AppIdLongCmd cmd) {
|
||||
return dynamicCommentDelExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(DELETE_COMMENT_LOCK_PREFIX, cmd.getReqUserId(), cmd.getId());
|
||||
return distributedLockUtil.executeWithLock(lockKey, () -> dynamicCommentDelExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
public DynamicCommentListCO comment(DynamicCommentCmd cmd) {
|
||||
return dynamicCommentExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(COMMENT_LOCK_PREFIX, cmd.getReqUserId(), cmd.getId());
|
||||
return distributedLockUtil.executeWithLock(lockKey, () -> dynamicCommentExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long likeComment(DynamicLikeCmd cmd) {
|
||||
return dynamicCommentLikeExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(COMMENT_LIKE_LOCK_PREFIX, cmd.getReqUserId(), cmd.getCommentId());
|
||||
return distributedLockUtil.executeWithLock(lockKey, () -> dynamicCommentLikeExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long likeDynamic(DynamicLikeCmd cmd) {
|
||||
return dynamicLikeExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(LIKE_LOCK_PREFIX, cmd.getReqUserId(), cmd.getDynamicId());
|
||||
return distributedLockUtil.executeWithLock(lockKey, () -> dynamicLikeExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -188,7 +205,8 @@ public class DynamicServiceImpl implements DynamicService {
|
||||
|
||||
@Override
|
||||
public void report(DynamicReportCmd cmd) {
|
||||
dynamicReportCmdExe.execute(cmd);
|
||||
String lockKey = DistributedLockUtil.buildLockKey(REPORT_LOCK_PREFIX, cmd.getReqUserId(), cmd.getDynamicContentId());
|
||||
distributedLockUtil.executeWithLock(lockKey, () -> dynamicReportCmdExe.execute(cmd));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user