|
@@ -10,16 +10,19 @@ import com.ruoyi.app.pay.dto.OmgRefundOutcome;
|
|
|
import com.ruoyi.app.utils.omg.OmgPay;
|
|
import com.ruoyi.app.utils.omg.OmgPay;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.utils.MessageUtils;
|
|
import com.ruoyi.common.utils.MessageUtils;
|
|
|
|
|
+import com.ruoyi.system.domain.IpnLog;
|
|
|
import com.ruoyi.system.domain.PosOrder;
|
|
import com.ruoyi.system.domain.PosOrder;
|
|
|
import com.ruoyi.system.domain.PosOrderOmgPayment;
|
|
import com.ruoyi.system.domain.PosOrderOmgPayment;
|
|
|
import com.ruoyi.system.domain.PosOrderOmgRefund;
|
|
import com.ruoyi.system.domain.PosOrderOmgRefund;
|
|
|
import com.ruoyi.system.domain.PosStoreOmg;
|
|
import com.ruoyi.system.domain.PosStoreOmg;
|
|
|
|
|
+import com.ruoyi.system.service.IIpnLogService;
|
|
|
import com.ruoyi.system.service.IPosOrderOmgPaymentService;
|
|
import com.ruoyi.system.service.IPosOrderOmgPaymentService;
|
|
|
import com.ruoyi.system.service.IPosOrderOmgRefundService;
|
|
import com.ruoyi.system.service.IPosOrderOmgRefundService;
|
|
|
import com.ruoyi.system.service.IPosOrderService;
|
|
import com.ruoyi.system.service.IPosOrderService;
|
|
|
import com.ruoyi.system.service.IPosStoreOmgService;
|
|
import com.ruoyi.system.service.IPosStoreOmgService;
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
+import org.mockito.ArgumentCaptor;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.MutablePropertyValues;
|
|
import org.springframework.beans.MutablePropertyValues;
|
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
@@ -46,6 +49,7 @@ import static org.mockito.ArgumentMatchers.anyString;
|
|
|
import static org.mockito.Mockito.mock;
|
|
import static org.mockito.Mockito.mock;
|
|
|
import static org.mockito.Mockito.mockStatic;
|
|
import static org.mockito.Mockito.mockStatic;
|
|
|
import static org.mockito.Mockito.never;
|
|
import static org.mockito.Mockito.never;
|
|
|
|
|
+import static org.mockito.Mockito.times;
|
|
|
import static org.mockito.Mockito.verify;
|
|
import static org.mockito.Mockito.verify;
|
|
|
import static org.mockito.Mockito.when;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
|
|
|
@@ -213,6 +217,28 @@ class OmgPayControllerTest {
|
|
|
request.toParameterMap());
|
|
request.toParameterMap());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void omgCallbacksRecordSanitizedContentWithOmgType() {
|
|
|
|
|
+ OmgPayController controller = new OmgPayController();
|
|
|
|
|
+ IIpnLogService ipnLogService = mock(IIpnLogService.class);
|
|
|
|
|
+ ReflectionTestUtils.setField(controller, "ipnLogService", ipnLogService);
|
|
|
|
|
+
|
|
|
|
|
+ OmgCallbackRequest callback = new OmgCallbackRequest();
|
|
|
|
|
+ callback.setRtnMsg(new String[]{"received"});
|
|
|
|
|
+ callback.setCheckMacValue(new String[]{"signature"});
|
|
|
|
|
+ callback.setAuthCode(new String[]{"authorization"});
|
|
|
|
|
+
|
|
|
|
|
+ assertEquals("1|OK", controller.notify(callback, "127.0.0.1"));
|
|
|
|
|
+ assertEquals("1|OK", controller.paymentInfoCallback(callback, "127.0.0.1"));
|
|
|
|
|
+
|
|
|
|
|
+ ArgumentCaptor<IpnLog> captor = ArgumentCaptor.forClass(IpnLog.class);
|
|
|
|
|
+ verify(ipnLogService, times(2)).insertIpnLog(captor.capture());
|
|
|
|
|
+ for (IpnLog log : captor.getAllValues()) {
|
|
|
|
|
+ assertEquals("omg", log.getType());
|
|
|
|
|
+ assertEquals("{\"RtnMsg\":\"received\"}", log.getIpnLog());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Test
|
|
@Test
|
|
|
void createsOnlyOneManualRefundTodo() {
|
|
void createsOnlyOneManualRefundTodo() {
|
|
|
RefundFixture fixture = refundFixture("ATM_TAISHIN");
|
|
RefundFixture fixture = refundFixture("ATM_TAISHIN");
|