修复竟态

This commit is contained in:
hy001 2026-05-23 21:26:35 +08:00
parent b98d91a2fb
commit 98d80c6732
2 changed files with 9 additions and 5 deletions

View File

@ -61,8 +61,10 @@ public class CpApplyListener implements MessageListener {
} }
private void expire(CpApply cpApply) { private void expire(CpApply cpApply) {
sendExpiredNotice(cpApply); boolean changed = cpApplyService.changeStatusById(cpApply.getId(), CpApplyStatus.EXPIRE);
cpApplyService.changeStatusById(cpApply.getId(), CpApplyStatus.EXPIRE); if (changed) {
sendExpiredNotice(cpApply);
}
} }
private void sendExpiredNotice(CpApply cpApply) { private void sendExpiredNotice(CpApply cpApply) {

View File

@ -4,8 +4,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum; import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
@ -27,6 +27,7 @@ import java.util.Map;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.InOrder;
class CpApplyListenerTest { class CpApplyListenerTest {
@ -66,10 +67,11 @@ class CpApplyListenerTest {
ArgumentCaptor<CustomC2cMsgBodyCmd> captor = ArgumentCaptor.forClass( ArgumentCaptor<CustomC2cMsgBodyCmd> captor = ArgumentCaptor.forClass(
CustomC2cMsgBodyCmd.class); CustomC2cMsgBodyCmd.class);
verify(imMessageClient).sendCustomMessage(captor.capture()); InOrder inOrder = inOrder(cpApplyService, imMessageClient);
inOrder.verify(cpApplyService).changeStatusById(3001L, CpApplyStatus.EXPIRE);
inOrder.verify(imMessageClient).sendCustomMessage(captor.capture());
List<CustomC2cMsgBodyCmd> messages = captor.getAllValues(); List<CustomC2cMsgBodyCmd> messages = captor.getAllValues();
assertExpiredMessage(messages.get(0), "1001", "2001"); assertExpiredMessage(messages.get(0), "1001", "2001");
verify(cpApplyService).changeStatusById(3001L, CpApplyStatus.EXPIRE);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")