shinnosuke
2026-08-13 3cfa835d19909d81b0ca03f29e003b397a93241e
fix(family-card): 隐藏已解绑家属
4个文件已修改
28 ■■■■■ 已修改文件
rencaika/pages/family-card/family-card.uvue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/portal/DependentCardApplyController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika/pages/family-card/family-card.uvue
@@ -90,7 +90,7 @@
        loadError.value = false
                getFamilyCards(talentCardId.value, (data: any) => {
            const items = (data as any[]) || []
            familyMembers.value = items.map((item: any) => ({
            familyMembers.value = items.filter((item: any) => item.status !== 3).map((item: any) => ({
                id: item.id,
                name: item.dependentName != null ? item.dependentName : '',
                initial: item.dependentName != null && item.dependentName.length > 0 ? item.dependentName.substring(0, 1) : '',
talent-card-server/src/main/java/com/talentcard/server/business/portal/DependentCardApplyController.java
@@ -51,7 +51,7 @@
        return ApiResponse.success(service.submit(request));
    }
    @Operation(summary = "查询家属附属卡申请", description = "手机号中间4位统一显示为****")
    @Operation(summary = "查询家属附属卡申请", description = "不返回已解绑记录;手机号中间4位统一显示为****")
    @GetMapping
    public ApiResponse<List<DependentCardApplyItemResponse>> list(
            @RequestParam Long talentCardId
talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java
@@ -94,6 +94,7 @@
        return mapper.selectList(
                        Wrappers.<DependentCardApply>lambdaQuery()
                                .eq(DependentCardApply::getTalentCardId, talentCardId)
                                .ne(DependentCardApply::getStatus, DependentCardApply.STATUS_CANCELLED)
                                .orderByDesc(DependentCardApply::getApplyTime)
                                .orderByDesc(DependentCardApply::getId)
                ).stream()
talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java
@@ -6,7 +6,12 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.List;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.talentcard.server.entity.DependentCardApply;
import com.talentcard.server.entity.DependentCardApplyStatusLog;
import com.talentcard.server.mapper.DependentCardApplyMapper;
@@ -16,6 +21,7 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.apache.ibatis.builder.MapperBuilderAssistant;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
@@ -32,10 +38,27 @@
    @BeforeEach
    void setUp() {
        TableInfoHelper.initTableInfo(
                new MapperBuilderAssistant(new MybatisConfiguration(), "dependent-card-test"),
                DependentCardApply.class
        );
        service = new DependentCardApplyService(mapper, statusLogMapper);
    }
    @Test
    void listExcludesCancelledFamilyCards() {
        when(mapper.selectList(any(Wrapper.class))).thenReturn(List.of());
        service.list(34L);
        ArgumentCaptor<LambdaQueryWrapper<DependentCardApply>> queryCaptor = ArgumentCaptor.forClass(LambdaQueryWrapper.class);
        verify(mapper).selectList(queryCaptor.capture());
        LambdaQueryWrapper<DependentCardApply> query = queryCaptor.getValue();
        assertThat(query.getSqlSegment()).contains("talent_card_id", "status <>");
        assertThat(query.getParamNameValuePairs()).containsValue(34L).containsValue(DependentCardApply.STATUS_CANCELLED);
    }
    @Test
    void resubmitCreatesANewApplicationAndKeepsRejectedApplicationUnchanged() {
        DependentCardApply rejected = new DependentCardApply(
                "DCA-OLD",