|
@@ -43,6 +43,7 @@ import java.math.RoundingMode;
|
|
import java.time.DayOfWeek;
|
|
import java.time.DayOfWeek;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.time.LocalTime;
|
|
import java.time.temporal.TemporalAdjusters;
|
|
import java.time.temporal.TemporalAdjusters;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
@@ -113,13 +114,13 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
|
|
public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
|
|
- Long groupId = repalGroupMemberService.getUserGroupId(UserContextUtil.getUser().getUserId());
|
|
|
|
-
|
|
|
|
|
|
+ long userId = UserContextUtil.getUser().getUserId();
|
|
|
|
+ Long groupId = repalGroupMemberService.getUserGroupId(userId);
|
|
VOPage<RepalBillPageVO> voPage = new VOPage<>();
|
|
VOPage<RepalBillPageVO> voPage = new VOPage<>();
|
|
voPage.setPageSize(dto.getPageSize());
|
|
voPage.setPageSize(dto.getPageSize());
|
|
voPage.setPageNum(dto.getPageNum());
|
|
voPage.setPageNum(dto.getPageNum());
|
|
RepalBillInfoVO infoVO = new RepalBillInfoVO();
|
|
RepalBillInfoVO infoVO = new RepalBillInfoVO();
|
|
- boolean allFlag = repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
|
|
|
|
+ boolean allFlag = repalRolePermissionService.checkUserPermission(userId,
|
|
RepalBillTypeEnum.RECEIVABLE.getCode().equals(dto.getRepalBillType()) ? PermissionEnum.QUERY_ALL_RECEIVABLE.getCode() : PermissionEnum.QUERY_ALL_RECEIPT.getCode());
|
|
RepalBillTypeEnum.RECEIVABLE.getCode().equals(dto.getRepalBillType()) ? PermissionEnum.QUERY_ALL_RECEIVABLE.getCode() : PermissionEnum.QUERY_ALL_RECEIPT.getCode());
|
|
LOGGER.info("allFlag:[{}]", allFlag);
|
|
LOGGER.info("allFlag:[{}]", allFlag);
|
|
TotalMoneyBO totalMoneyBO;
|
|
TotalMoneyBO totalMoneyBO;
|
|
@@ -131,9 +132,9 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
totalBO = repalBillMapper.getTotalMoneyByGroup(groupId, dto.getRepalBillType(), null, dto.getRepalBookId());
|
|
totalBO = repalBillMapper.getTotalMoneyByGroup(groupId, dto.getRepalBillType(), null, dto.getRepalBookId());
|
|
} else {
|
|
} else {
|
|
// 只查询自己负责的
|
|
// 只查询自己负责的
|
|
- totalMoneyBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), groupId, dto.getRepalBillType(), RepalBillStatusEnum.PROGRESSING.getCode(), dto.getRepalBookId());
|
|
|
|
- overdueBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), groupId, dto.getRepalBillType(), RepalBillStatusEnum.OVERDUE.getCode(), dto.getRepalBookId());
|
|
|
|
- totalBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), groupId, dto.getRepalBillType(), null, dto.getRepalBookId());
|
|
|
|
|
|
+ totalMoneyBO = repalBillMapper.getTotalMoneyByUser(userId, groupId, dto.getRepalBillType(), RepalBillStatusEnum.PROGRESSING.getCode(), dto.getRepalBookId());
|
|
|
|
+ overdueBO = repalBillMapper.getTotalMoneyByUser(userId, groupId, dto.getRepalBillType(), RepalBillStatusEnum.OVERDUE.getCode(), dto.getRepalBookId());
|
|
|
|
+ totalBO = repalBillMapper.getTotalMoneyByUser(userId, groupId, dto.getRepalBillType(), null, dto.getRepalBookId());
|
|
}
|
|
}
|
|
infoVO.setTotalBillMoneyStr(totalMoneyBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
infoVO.setTotalBillMoneyStr(totalMoneyBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
infoVO.setTotalBillCount(totalMoneyBO.getTotalCount());
|
|
infoVO.setTotalBillCount(totalMoneyBO.getTotalCount());
|
|
@@ -145,7 +146,7 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
Page<RepalBill> repalBillPage = new Page<>(dto.getPageNum(),dto.getPageSize());
|
|
Page<RepalBill> repalBillPage = new Page<>(dto.getPageNum(),dto.getPageSize());
|
|
BillPageBO billPageBO = new BillPageBO();
|
|
BillPageBO billPageBO = new BillPageBO();
|
|
BeanUtils.copyProperties(dto, billPageBO);
|
|
BeanUtils.copyProperties(dto, billPageBO);
|
|
- billPageBO.setUserId(UserContextUtil.getUser().getUserId());
|
|
|
|
|
|
+ billPageBO.setUserId(userId);
|
|
billPageBO.setAllFlag(allFlag);
|
|
billPageBO.setAllFlag(allFlag);
|
|
// 对应1-4到期时间
|
|
// 对应1-4到期时间
|
|
if (Objects.nonNull(dto.getOverdueType())) {
|
|
if (Objects.nonNull(dto.getOverdueType())) {
|
|
@@ -169,7 +170,7 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- repalBillPage = repalBillMapper.getRepalBillPage(repalBillPage, dto);
|
|
|
|
|
|
+ repalBillPage = repalBillMapper.getRepalBillPage(repalBillPage, billPageBO);
|
|
voPage.setTotalPage(Math.toIntExact(repalBillPage.getPages()));
|
|
voPage.setTotalPage(Math.toIntExact(repalBillPage.getPages()));
|
|
voPage.setTotalNum(repalBillPage.getTotal());
|
|
voPage.setTotalNum(repalBillPage.getTotal());
|
|
voPage.setDataList(new ArrayList<>());
|
|
voPage.setDataList(new ArrayList<>());
|
|
@@ -179,25 +180,29 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
}
|
|
}
|
|
// 未读消息
|
|
// 未读消息
|
|
List<Long> billIdList = repalBillPage.getRecords().stream().map(RepalBill::getId).collect(Collectors.toList());
|
|
List<Long> billIdList = repalBillPage.getRecords().stream().map(RepalBill::getId).collect(Collectors.toList());
|
|
- List<UserBillUnreadInfoBO> unreadInfoList = repalRemindReadInfoService.getUserBillUnreadInfo(UserContextUtil.getUser().getUserId(), billIdList);
|
|
|
|
- Map<Long, UserBillUnreadInfoBO> unreadInfoMap = new HashMap<>();
|
|
|
|
- if (CollUtil.isNotEmpty(unreadInfoList)) {
|
|
|
|
- unreadInfoMap = unreadInfoList.stream().collect(Collectors.toMap(UserBillUnreadInfoBO::getRepalBillId, Function.identity()));
|
|
|
|
- }
|
|
|
|
|
|
+ Map<Long, RepalBillRemindUnReadVO> unreadMap = new HashMap<>();
|
|
|
|
+ repalBillPage.getRecords().parallelStream().forEach(repalBill -> {
|
|
|
|
+ RepalRemindReadInfo repalRemindReadInfo = repalRemindReadInfoService.getReadInfoByUserId(userId,repalBill.getId(),repalBill.getRepalBookId());
|
|
|
|
+ RepalBillRemindUnReadVO readVO = repalRemindHistoryService.getBillRemindUnReadVO(repalRemindReadInfo.getRiskRemindId(),
|
|
|
|
+ repalRemindReadInfo.getRankRemindId(),repalRemindReadInfo.getOverdueRemindId(),
|
|
|
|
+ repalRemindReadInfo.getFinanceRemindId(),repalBill.getRepalBookId(),repalBill.getId(),
|
|
|
|
+ Objects.isNull(billPageBO.getStartDate()) ? null : LocalDateTime.of(billPageBO.getStartDate(), LocalTime.MIN),
|
|
|
|
+ Objects.isNull(billPageBO.getEndDate()) ? null : LocalDateTime.of(billPageBO.getEndDate(), LocalTime.MAX));
|
|
|
|
+ unreadMap.put(repalBill.getId(), readVO);
|
|
|
|
+ });
|
|
Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
|
|
Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
|
|
- Map<Long, UserBillUnreadInfoBO> finalUnreadInfoMap = unreadInfoMap;
|
|
|
|
voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
|
|
voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
|
|
RepalBillPageVO vo = new RepalBillPageVO();
|
|
RepalBillPageVO vo = new RepalBillPageVO();
|
|
BeanUtils.copyProperties(t, vo);
|
|
BeanUtils.copyProperties(t, vo);
|
|
vo.setRepalBillId(t.getId());
|
|
vo.setRepalBillId(t.getId());
|
|
vo.setResponsiblePersonNames(String.join("、", nameMap.get(t.getId())));
|
|
vo.setResponsiblePersonNames(String.join("、", nameMap.get(t.getId())));
|
|
- UserBillUnreadInfoBO unreadInfoBO = finalUnreadInfoMap.get(vo.getRepalBillId());
|
|
|
|
- if (Objects.nonNull(unreadInfoBO)) {
|
|
|
|
|
|
+ RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
|
|
|
|
+ if (Objects.nonNull(unReadVO)) {
|
|
vo.setDynamicCountList(new ArrayList<Integer>(){{
|
|
vo.setDynamicCountList(new ArrayList<Integer>(){{
|
|
- add(unreadInfoBO.getUnreadRiskCount());
|
|
|
|
- add(unreadInfoBO.getUnreadFinanceCount());
|
|
|
|
- add(unreadInfoBO.getUnreadRankCount());
|
|
|
|
- add(unreadInfoBO.getUnreadOverdueCount());
|
|
|
|
|
|
+ add(unReadVO.getUnreadRiskCount());
|
|
|
|
+ add(unReadVO.getUnreadFinanceCount());
|
|
|
|
+ add(unReadVO.getUnreadRankCount());
|
|
|
|
+ add(unReadVO.getUnreadOverdueCount());
|
|
}});
|
|
}});
|
|
}
|
|
}
|
|
return vo;
|
|
return vo;
|
|
@@ -512,25 +517,29 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
}
|
|
}
|
|
// 未读消息
|
|
// 未读消息
|
|
List<Long> billIdList = repalBillPage.getRecords().stream().map(RepalBill::getId).collect(Collectors.toList());
|
|
List<Long> billIdList = repalBillPage.getRecords().stream().map(RepalBill::getId).collect(Collectors.toList());
|
|
- List<UserBillUnreadInfoBO> unreadInfoList = repalRemindReadInfoService.getUserBillUnreadInfo(UserContextUtil.getUser().getUserId(), billIdList);
|
|
|
|
- Map<Long, UserBillUnreadInfoBO> unreadInfoMap = new HashMap<>();
|
|
|
|
- if (CollUtil.isNotEmpty(unreadInfoList)) {
|
|
|
|
- unreadInfoMap = unreadInfoList.stream().collect(Collectors.toMap(UserBillUnreadInfoBO::getRepalBillId, Function.identity()));
|
|
|
|
- }
|
|
|
|
|
|
+ long userId = UserContextUtil.getUser().getUserId();
|
|
|
|
+ Map<Long, RepalBillRemindUnReadVO> unreadMap = new HashMap<>();
|
|
|
|
+ repalBillPage.getRecords().parallelStream().forEach(repalBill -> {
|
|
|
|
+ RepalRemindReadInfo repalRemindReadInfo = repalRemindReadInfoService.getReadInfoByUserId(userId,repalBill.getId(),repalBill.getRepalBookId());
|
|
|
|
+ RepalBillRemindUnReadVO readVO = repalRemindHistoryService.getBillRemindUnReadVO(repalRemindReadInfo.getRiskRemindId(),
|
|
|
|
+ repalRemindReadInfo.getRankRemindId(),repalRemindReadInfo.getOverdueRemindId()
|
|
|
|
+ ,repalRemindReadInfo.getFinanceRemindId(),repalBill.getRepalBookId(),repalBill.getId(),
|
|
|
|
+ null, null);
|
|
|
|
+ unreadMap.put(repalBill.getId(), readVO);
|
|
|
|
+ });
|
|
Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
|
|
Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
|
|
- Map<Long, UserBillUnreadInfoBO> finalUnreadInfoMap = unreadInfoMap;
|
|
|
|
voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
|
|
voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
|
|
RepalBillPageVO vo = new RepalBillPageVO();
|
|
RepalBillPageVO vo = new RepalBillPageVO();
|
|
BeanUtils.copyProperties(t, vo);
|
|
BeanUtils.copyProperties(t, vo);
|
|
vo.setRepalBillId(t.getId());
|
|
vo.setRepalBillId(t.getId());
|
|
vo.setResponsiblePersonNames(String.join("、", nameMap.get(t.getId())));
|
|
vo.setResponsiblePersonNames(String.join("、", nameMap.get(t.getId())));
|
|
- UserBillUnreadInfoBO unreadInfoBO = finalUnreadInfoMap.get(vo.getRepalBillId());
|
|
|
|
- if (Objects.nonNull(unreadInfoBO)) {
|
|
|
|
|
|
+ RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
|
|
|
|
+ if (Objects.nonNull(unReadVO)) {
|
|
vo.setDynamicCountList(new ArrayList<Integer>(){{
|
|
vo.setDynamicCountList(new ArrayList<Integer>(){{
|
|
- add(unreadInfoBO.getUnreadRiskCount());
|
|
|
|
- add(unreadInfoBO.getUnreadFinanceCount());
|
|
|
|
- add(unreadInfoBO.getUnreadRankCount());
|
|
|
|
- add(unreadInfoBO.getUnreadOverdueCount());
|
|
|
|
|
|
+ add(unReadVO.getUnreadRiskCount());
|
|
|
|
+ add(unReadVO.getUnreadFinanceCount());
|
|
|
|
+ add(unReadVO.getUnreadRankCount());
|
|
|
|
+ add(unReadVO.getUnreadOverdueCount());
|
|
}});
|
|
}});
|
|
}
|
|
}
|
|
return vo;
|
|
return vo;
|
|
@@ -684,4 +693,9 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
public List<Long> getBillIdListByBookId(Long repalBookId, Long userId) {
|
|
public List<Long> getBillIdListByBookId(Long repalBookId, Long userId) {
|
|
return repalBillMapper.getBillIdListByBookId(repalBookId, userId);
|
|
return repalBillMapper.getBillIdListByBookId(repalBookId, userId);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<String> getBillGradeByBookId(Long repalBookId, Long userId, LocalDateTime start, LocalDateTime end) {
|
|
|
|
+ return repalBillMapper.getBillGradeByBookId(repalBookId, userId, start, end);
|
|
|
|
+ }
|
|
}
|
|
}
|