|
@@ -22,6 +22,7 @@ import com.winhc.repal.entity.*;
|
|
import com.winhc.repal.enums.*;
|
|
import com.winhc.repal.enums.*;
|
|
import com.winhc.repal.model.bo.BillPageBO;
|
|
import com.winhc.repal.model.bo.BillPageBO;
|
|
import com.winhc.repal.model.bo.TotalMoneyBO;
|
|
import com.winhc.repal.model.bo.TotalMoneyBO;
|
|
|
|
+import com.winhc.repal.model.bo.UserBillUnreadInfoBO;
|
|
import com.winhc.repal.model.dto.*;
|
|
import com.winhc.repal.model.dto.*;
|
|
import com.winhc.repal.model.vo.RepalBillDetailVO;
|
|
import com.winhc.repal.model.vo.RepalBillDetailVO;
|
|
import com.winhc.repal.model.vo.RepalBillInfoVO;
|
|
import com.winhc.repal.model.vo.RepalBillInfoVO;
|
|
@@ -44,6 +45,7 @@ import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.time.temporal.TemporalAdjusters;
|
|
import java.time.temporal.TemporalAdjusters;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@@ -87,13 +89,11 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
@Autowired
|
|
@Autowired
|
|
private RepalRolePermissionService repalRolePermissionService;
|
|
private RepalRolePermissionService repalRolePermissionService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private RepalRemindHistoryService repalRemindHistoryService;
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
- System.out.println(LocalDate.now().with(DayOfWeek.MONDAY));
|
|
|
|
- System.out.println(LocalDate.now().with(DayOfWeek.SUNDAY));
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private RepalRemindReadInfoService repalRemindReadInfoService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
|
|
public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
|
|
@@ -106,20 +106,26 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
RepalBillInfoVO infoVO = new RepalBillInfoVO();
|
|
RepalBillInfoVO infoVO = new RepalBillInfoVO();
|
|
boolean allFlag = repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
boolean allFlag = repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
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);
|
|
TotalMoneyBO totalMoneyBO;
|
|
TotalMoneyBO totalMoneyBO;
|
|
TotalMoneyBO overdueBO;
|
|
TotalMoneyBO overdueBO;
|
|
|
|
+ TotalMoneyBO totalBO;
|
|
if (allFlag) {
|
|
if (allFlag) {
|
|
totalMoneyBO = repalBillMapper.getTotalMoneyByGroup(dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.PROGRESSING.getCode(), dto.getRepalBookId());
|
|
totalMoneyBO = repalBillMapper.getTotalMoneyByGroup(dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.PROGRESSING.getCode(), dto.getRepalBookId());
|
|
overdueBO = repalBillMapper.getTotalMoneyByGroup(dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.OVERDUE.getCode(), dto.getRepalBookId());
|
|
overdueBO = repalBillMapper.getTotalMoneyByGroup(dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.OVERDUE.getCode(), dto.getRepalBookId());
|
|
|
|
+ totalBO = repalBillMapper.getTotalMoneyByGroup(dto.getRepalGroupId(), dto.getRepalBillType(), null, dto.getRepalBookId());
|
|
} else {
|
|
} else {
|
|
// 只查询自己负责的
|
|
// 只查询自己负责的
|
|
totalMoneyBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.PROGRESSING.getCode(), dto.getRepalBookId());
|
|
totalMoneyBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.PROGRESSING.getCode(), dto.getRepalBookId());
|
|
overdueBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.OVERDUE.getCode(), dto.getRepalBookId());
|
|
overdueBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), dto.getRepalGroupId(), dto.getRepalBillType(), RepalBillStatusEnum.OVERDUE.getCode(), dto.getRepalBookId());
|
|
|
|
+ totalBO = repalBillMapper.getTotalMoneyByUser(UserContextUtil.getUser().getUserId(), dto.getRepalGroupId(), dto.getRepalBillType(), null, dto.getRepalBookId());
|
|
}
|
|
}
|
|
- infoVO.setTotalBillStr(totalMoneyBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
|
|
|
|
+ infoVO.setTotalBillMoneyStr(totalMoneyBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
infoVO.setTotalBillCount(totalMoneyBO.getTotalCount());
|
|
infoVO.setTotalBillCount(totalMoneyBO.getTotalCount());
|
|
infoVO.setTotalOverdueCount(overdueBO.getTotalCount());
|
|
infoVO.setTotalOverdueCount(overdueBO.getTotalCount());
|
|
infoVO.setTotalOverdueStr(overdueBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
infoVO.setTotalOverdueStr(overdueBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
|
|
+ infoVO.setTotalCount(totalBO.getTotalCount());
|
|
|
|
+ infoVO.setTotalStr(totalBO.getTotalMoney().stripTrailingZeros().toPlainString());
|
|
// 分页数据
|
|
// 分页数据
|
|
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();
|
|
@@ -156,14 +162,29 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
if (CollUtil.isEmpty(repalBillPage.getRecords())) {
|
|
if (CollUtil.isEmpty(repalBillPage.getRecords())) {
|
|
return infoVO;
|
|
return infoVO;
|
|
}
|
|
}
|
|
- // info todo
|
|
|
|
|
|
+ // 未读消息
|
|
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, 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)) {
|
|
|
|
+ vo.setDynamicCountList(new ArrayList<Integer>(){{
|
|
|
|
+ add(unreadInfoBO.getUnreadRiskCount());
|
|
|
|
+ add(unreadInfoBO.getUnreadFinanceCount());
|
|
|
|
+ add(unreadInfoBO.getUnreadRankCount());
|
|
|
|
+ add(unreadInfoBO.getUnreadOverdueCount());
|
|
|
|
+ }});
|
|
|
|
+ }
|
|
return vo;
|
|
return vo;
|
|
}).collect(Collectors.toList()));
|
|
}).collect(Collectors.toList()));
|
|
return infoVO;
|
|
return infoVO;
|