Compare commits
No commits in common. "7ead4fcc85651426a10a1d0195f95b0d46e78a2b" and "d7c3fbf72171e5a6a617037338420cb078abd2b5" have entirely different histories.
7ead4fcc85
...
d7c3fbf721
@ -225,8 +225,6 @@ public class TeamManualSalaryPaymentClientServiceImpl implements
|
|||||||
targets = targets.stream()
|
targets = targets.stream()
|
||||||
.filter(target -> CollectionUtils.isNotEmpty(target.getDailyTargets()))
|
.filter(target -> CollectionUtils.isNotEmpty(target.getDailyTargets()))
|
||||||
.filter(target -> target.sumAcceptGiftValue() > 0)
|
.filter(target -> target.sumAcceptGiftValue() > 0)
|
||||||
// 手动工资只按当前有效目标结算;旧账期查询会带出历史目标,而计算工具会在历史目标上返回空结果。
|
|
||||||
.filter(target -> !Boolean.TRUE.equals(target.getHistory()))
|
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (CollectionUtils.isEmpty(targets)) {
|
if (CollectionUtils.isEmpty(targets)) {
|
||||||
return List.of();
|
return List.of();
|
||||||
|
|||||||
@ -41,7 +41,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.mockito.ArgumentCaptor;
|
import org.mockito.ArgumentCaptor;
|
||||||
import org.springframework.test.util.ReflectionTestUtils;
|
import org.springframework.test.util.ReflectionTestUtils;
|
||||||
@ -125,88 +124,6 @@ class TeamManualSalaryPaymentClientServiceImplTest {
|
|||||||
() -> ReflectionTestUtils.invokeMethod(service, "resolveBillBelong", 202613));
|
() -> ReflectionTestUtils.invokeMethod(service, "resolveBillBelong", 202613));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
void buildRowsShouldIgnoreHistoryTargetsBeforePolicyCalculation() {
|
|
||||||
RedisService redisService = mock(RedisService.class);
|
|
||||||
TeamMemberService teamMemberService = mock(TeamMemberService.class);
|
|
||||||
TeamProfileService teamProfileService = mock(TeamProfileService.class);
|
|
||||||
UserBankBalanceClient userBankBalanceClient = mock(UserBankBalanceClient.class);
|
|
||||||
TeamMemberTargetService teamMemberTargetService = mock(TeamMemberTargetService.class);
|
|
||||||
TeamSalaryPaymentService teamSalaryPaymentService = mock(TeamSalaryPaymentService.class);
|
|
||||||
TeamPolicyManagerService teamPolicyManagerService = mock(TeamPolicyManagerService.class);
|
|
||||||
UserBankRunningWaterClient userBankRunningWaterClient = mock(UserBankRunningWaterClient.class);
|
|
||||||
TeamManualSalaryPaymentClientServiceImpl service = new TeamManualSalaryPaymentClientServiceImpl(
|
|
||||||
redisService, teamMemberService, teamProfileService, userBankBalanceClient,
|
|
||||||
teamMemberTargetService, teamSalaryPaymentService, teamPolicyManagerService,
|
|
||||||
userBankRunningWaterClient);
|
|
||||||
|
|
||||||
String sysOrigin = "LIKEI";
|
|
||||||
String countryCode = "BD";
|
|
||||||
String region = "2045389832842178561";
|
|
||||||
Long userId = 2050266954857508866L;
|
|
||||||
Long teamId = 2046582184822763522L;
|
|
||||||
Integer billBelong = 202606;
|
|
||||||
TeamMemberTarget historyTarget = new TeamMemberTarget()
|
|
||||||
.setId("history-target")
|
|
||||||
.setTimeId(2061195378987954177L)
|
|
||||||
.setSysOrigin(sysOrigin)
|
|
||||||
.setRegion(region)
|
|
||||||
.setCountryCode(countryCode)
|
|
||||||
.setTeamId(teamId)
|
|
||||||
.setUserId(userId)
|
|
||||||
.setBillBelong(billBelong)
|
|
||||||
.setHistory(Boolean.TRUE)
|
|
||||||
.setDailyTargets(List.of(new TeamMemberTargetIndex()
|
|
||||||
.setOwnOnlineTime(21L)
|
|
||||||
.setAcceptGiftValue(662505L)));
|
|
||||||
TeamMemberTarget activeTarget = new TeamMemberTarget()
|
|
||||||
.setId("active-target")
|
|
||||||
.setTimeId(2062879908861898754L)
|
|
||||||
.setSysOrigin(sysOrigin)
|
|
||||||
.setRegion(region)
|
|
||||||
.setCountryCode(countryCode)
|
|
||||||
.setTeamId(teamId)
|
|
||||||
.setUserId(userId)
|
|
||||||
.setBillBelong(billBelong)
|
|
||||||
.setHistory(Boolean.FALSE)
|
|
||||||
.setDailyTargets(List.of(new TeamMemberTargetIndex()
|
|
||||||
.setOwnOnlineTime(38L)
|
|
||||||
.setAcceptGiftValue(411854L)));
|
|
||||||
TeamPolicyManager policyManager = new TeamPolicyManager()
|
|
||||||
.setSysOrigin(sysOrigin)
|
|
||||||
.setRegion(region)
|
|
||||||
.setCountryCode(countryCode)
|
|
||||||
.setPolicy(List.of(new TeamPolicy()
|
|
||||||
.setLevel(1)
|
|
||||||
.setTarget(400000L)
|
|
||||||
.setOnlineTime(0L)
|
|
||||||
.setEffectiveDay(0)
|
|
||||||
.setMemberSalary(new BigDecimal("1.00"))
|
|
||||||
.setOwnSalary(new BigDecimal("0.25"))
|
|
||||||
.setTotalSalary(new BigDecimal("1.25"))));
|
|
||||||
|
|
||||||
when(teamMemberTargetService.listManualSalaryTargets(eq(sysOrigin), eq(countryCode), anySet(),
|
|
||||||
eq(billBelong))).thenReturn(List.of(historyTarget, activeTarget));
|
|
||||||
when(teamMemberService.mapByMemberIds(anySet())).thenReturn(Map.of(userId,
|
|
||||||
new TeamMember().setMemberId(userId).setTeamId(teamId)));
|
|
||||||
when(teamProfileService.mapProfileByIds(anySet())).thenReturn(Map.of(teamId,
|
|
||||||
new TeamProfile().setId(teamId).setOwnUserId(userId).setRegion(region)));
|
|
||||||
when(teamSalaryPaymentService.listByPaymentOrRecipientUserIdsAndDateNumbers(eq(sysOrigin),
|
|
||||||
anySet(), anySet())).thenReturn(List.of());
|
|
||||||
when(teamPolicyManagerService.getReleaseByRegionAndType(sysOrigin, region, null, countryCode))
|
|
||||||
.thenReturn(policyManager);
|
|
||||||
when(userBankBalanceClient.getBalance(userId))
|
|
||||||
.thenReturn(ResultResponse.success(BankBalanceDTO.of(0L)));
|
|
||||||
|
|
||||||
List<?> rows = ReflectionTestUtils.invokeMethod(service, "buildRows", sysOrigin, countryCode,
|
|
||||||
Set.of(userId), billBelong);
|
|
||||||
Object dto = ReflectionTestUtils.invokeMethod(rows.get(0), "getDto");
|
|
||||||
|
|
||||||
assertEquals(1, rows.size());
|
|
||||||
assertEquals("active-target", ReflectionTestUtils.getField(dto, "id"));
|
|
||||||
assertEquals(new BigDecimal("1.25"), ReflectionTestUtils.getField(dto, "payableSalary"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void payShouldReturnTopUpDetailsWhenCurrentLevelRecordExistsButSalaryIsInsufficient() {
|
void payShouldReturnTopUpDetailsWhenCurrentLevelRecordExistsButSalaryIsInsufficient() {
|
||||||
RedisService redisService = mock(RedisService.class);
|
RedisService redisService = mock(RedisService.class);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user