fix: 적대적 코드리뷰 후속 — 신규 도메인 5건 버그 수정
서브에이전트 4영역 적대적 리뷰(P7/P8 서비스·매퍼·배치·어댑터)에서 확정된 결함 수정.
- [HIGH] HqSettleItem update 시 status가 NULL로 덮어써짐(SaveReq에 status 없음)
→ status = COALESCE(#{status}, status) 로 수정 불변 보장.
- [MED] 소개·이관수수료 RATE/FIXED 분기를 요청 commissionRate 유무로 판정 → 활성 룰의
calc_type 을 권위로 사용(FIXED=fixed_amount, RATE=요청rate||룰rate), 룰 없을 때만 요청rate 폴백.
- [MED] 지점장수당 cap 미적용(주석-코드 불일치) → SaveReq.capAmount 추가 + allowance = min(base×rate, cap).
- [MED] PUSH 외부호출 감사로그 요약 누락 → ExternalCallLoggingAspect applyRequest/applyResponse 에
PushRequest/PushResponse 분기 추가(토큰 마스킹, messageId/sent/resultCode).
- [LOW] 공동계약 update 지분율 검증 키 불일치 → 기존 레코드 contractId 기준으로 검증/갱신(계약 이동 불가).
배치 통합 리뷰 결과 CLEAN(무결성·집계·upsert 정확). 전체 ./gradlew build(test 포함) SUCCESSFUL.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,4 +36,8 @@ public class BranchMgrAllowanceLedgerSaveReq {
|
||||
|
||||
@DecimalMin("0")
|
||||
private BigDecimal clawbackAmount;
|
||||
|
||||
/** 수당 상한(룰의 cap_amount). 지정 시 allowance_amount = min(base×rate, cap). NULL이면 상한 없음. */
|
||||
@DecimalMin("0")
|
||||
private BigDecimal capAmount;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
item_name = #{itemName},
|
||||
amount = #{amount},
|
||||
memo = #{memo},
|
||||
status = #{status},
|
||||
status = COALESCE(#{status}, status),
|
||||
updated_at = NOW()
|
||||
WHERE item_id = #{itemId}
|
||||
</update>
|
||||
|
||||
Reference in New Issue
Block a user