yeg
2026-09-16 c18b9fac0edf5ebe3aecd74c93ec3f841fe5bf9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.talentcard.server.business.payment.huifu;
 
import static org.assertj.core.api.Assertions.assertThat;
 
import java.util.Map;
 
import org.junit.jupiter.api.Test;
 
/**
 * 商户业务开通的回执判定。
 *
 * <p>{@code 90000000=审核中} 表示申请已被受理(微信子商户号当场就入驻成功),整张申请单仍在审核,
 * 它与两个进件网关的判定一致。漏掉它会把一次成功受理记成 {@code business_open_status=failed},
 * 两端页面就会把已经开好的商户显示成失败。
 */
class HuifuBusinessOpenResultTests {
 
    @Test
    void aSubmittedApplicationUnderReviewCountsAsAccepted() {
        HuifuMerchantBusinessOpenGateway.Result result = HuifuMerchantBusinessOpenGateway.Result.from(
                Map.of("resp_code", "90000000", "resp_desc", "审核中", "apply_no", "2026091530554624"));
 
        assertThat(result.accepted()).isTrue();
        assertThat(result.applyNo()).isEqualTo("2026091530554624");
        assertThat(result.code()).isEqualTo("90000000");
    }
 
    @Test
    void aRejectedApplicationIsNotAccepted() {
        HuifuMerchantBusinessOpenGateway.Result result = HuifuMerchantBusinessOpenGateway.Result.from(
                Map.of("resp_code", "00000001", "resp_desc", "基础参数校验失败"));
 
        assertThat(result.accepted()).isFalse();
        assertThat(result.applyNo()).isEmpty();
    }
}