调整异常对象逐卡展示口径
This commit is contained in:
@@ -440,8 +440,8 @@
|
||||
when tr.object_type = 'STAFF_ID_CARD' then '员工对象'
|
||||
else tr.object_type
|
||||
end) as subtitle,
|
||||
group_concat(distinct tr.reason_detail order by tr.rule_code asc separator ';') as reasonDetail,
|
||||
group_concat(distinct tr.rule_name order by tr.rule_code asc separator '、') as summary
|
||||
max(tr.reason_detail) as reasonDetail,
|
||||
max(tr.rule_name) as summary
|
||||
from ccdi_bank_statement_tag_result tr
|
||||
left join ccdi_base_staff staff
|
||||
on tr.object_type = 'STAFF_ID_CARD'
|
||||
@@ -461,8 +461,8 @@
|
||||
and relation_scope.relation_cert_no = tr.object_key
|
||||
)
|
||||
)
|
||||
group by coalesce(tr.object_key, tr.object_type)
|
||||
order by title asc
|
||||
group by coalesce(tr.object_key, tr.object_type), tr.rule_code
|
||||
order by title asc, tr.rule_code asc
|
||||
</select>
|
||||
|
||||
<select id="selectRiskCountSummaryByProjectId" resultType="map">
|
||||
|
||||
@@ -64,6 +64,10 @@ class CcdiProjectOverviewMapperSqlTest {
|
||||
assertTrue(objectRowsSql.contains("tr.object_type"), objectRowsSql);
|
||||
assertTrue(objectRowsSql.contains("tr.reason_detail"), objectRowsSql);
|
||||
assertTrue(objectRowsSql.contains("as reasonDetail"), objectRowsSql);
|
||||
assertTrue(objectRowsSql.contains("tr.rule_code"), objectRowsSql);
|
||||
assertTrue(objectRowsSql.contains("group by coalesce(tr.object_key, tr.object_type), tr.rule_code"), objectRowsSql);
|
||||
assertFalse(objectRowsSql.contains("group_concat(distinct tr.reason_detail"), objectRowsSql);
|
||||
assertFalse(objectRowsSql.contains("group_concat(distinct tr.rule_name"), objectRowsSql);
|
||||
assertTrue(objectRowsSql.contains("tr.staff_id_card = #{staffIdCard}") || objectRowsSql.contains("#{staffIdCard}"), objectRowsSql);
|
||||
}
|
||||
|
||||
|
||||
@@ -191,9 +191,15 @@ class CcdiProjectOverviewServiceImplTest {
|
||||
objectRow.setSubtitle("关联人员");
|
||||
objectRow.setRiskTags(List.of("频繁往来"));
|
||||
objectRow.setReasonDetail("命中近30日高频往来规则,存在多笔短周期回流");
|
||||
objectRow.setSummary("与项目关键人员存在异常资金往来");
|
||||
objectRow.setSummary("高频往来");
|
||||
CcdiProjectPersonAnalysisObjectRecordVO objectRowTwo = new CcdiProjectPersonAnalysisObjectRecordVO();
|
||||
objectRowTwo.setTitle("张三");
|
||||
objectRowTwo.setSubtitle("关联人员");
|
||||
objectRowTwo.setRiskTags(List.of("异常关联"));
|
||||
objectRowTwo.setReasonDetail("命中跨主体异常关联规则,存在关键时间点往来");
|
||||
objectRowTwo.setSummary("跨主体关联");
|
||||
when(overviewMapper.selectPersonAnalysisObjectRows(40L, "330000000000000001"))
|
||||
.thenReturn(List.of(objectRow));
|
||||
.thenReturn(List.of(objectRow, objectRowTwo));
|
||||
|
||||
CcdiProjectPersonAnalysisDetailVO result = service.getPersonAnalysisDetail(buildPersonAnalysisDetailQuery(40L));
|
||||
|
||||
@@ -208,6 +214,7 @@ class CcdiProjectOverviewServiceImplTest {
|
||||
List<?> statementRecords = result.getAbnormalDetail().getGroups().get(0).getRecords();
|
||||
assertEquals(1, ((CcdiBankStatementListVO) statementRecords.getFirst()).getHitTags().size());
|
||||
List<?> objectRecords = result.getAbnormalDetail().getGroups().get(1).getRecords();
|
||||
assertEquals(2, objectRecords.size());
|
||||
assertEquals(
|
||||
"命中近30日高频往来规则,存在多笔短周期回流",
|
||||
((CcdiProjectPersonAnalysisObjectRecordVO) objectRecords.getFirst()).getReasonDetail()
|
||||
|
||||
Reference in New Issue
Block a user