| | |
| | | package cc.mrbird.febs.ai.service.impl; |
| | | |
| | | import cc.mrbird.febs.ai.entity.*; |
| | | import cc.mrbird.febs.ai.enumerates.AiTypeEnum; |
| | | import cc.mrbird.febs.ai.mapper.AiMemberMapper; |
| | | import cc.mrbird.febs.ai.req.member.ApiMemberTeamPageDto; |
| | | import cc.mrbird.febs.ai.req.member.ApiMemberTeamPracticeDto; |
| | |
| | | String companyId = LoginUserUtil.getLoginUser().getCompanyId(); |
| | | String memberUuid = dto.getMemberUuid(); |
| | | |
| | | List<AiMemberTalk> aiMemberTalks = aiMemberTalkService.getListByCompanyIdAndMemberUuid(companyId, memberUuid); |
| | | // 创建分页对象,传入当前页和每页大小 |
| | | Page<AiMemberTalk> page = new Page<>(dto.getPageNow(), dto.getPageSize()); |
| | | LambdaQueryWrapper<AiMemberTalk> queryWrapper = Wrappers.lambdaQuery(AiMemberTalk.class); |
| | | queryWrapper.eq(AiMemberTalk::getCompanyId, companyId); |
| | | queryWrapper.eq(AiMemberTalk::getMemberId, memberUuid); |
| | | queryWrapper.eq(AiMemberTalk::getState, AiTypeEnum.AI_MEMBER_TALK_STATE_DONE.getCode()); |
| | | Page<AiMemberTalk> pageListByQuery = aiMemberTalkService.getBaseMapper().selectPage(page, queryWrapper); |
| | | List<AiMemberTalk> aiMemberTalks = pageListByQuery.getRecords(); |
| | | |
| | | // List<AiMemberTalk> aiMemberTalks = aiMemberTalkService.getListByCompanyIdAndMemberUuid(companyId, memberUuid); |
| | | |
| | | Map<String, List<AiMemberTalk>> aiMemberTalkMap = new HashMap<>(); |
| | | if (CollUtil.isNotEmpty(aiMemberTalks)){ |
| | | //stream操作aiMemberTalks,返回一个根据productId分组的集合 |
| | |
| | | String companyId = LoginUserUtil.getLoginUser().getCompanyId(); |
| | | String memberUuid = dto.getMemberUuid(); |
| | | |
| | | List<AiMemberPoint> aiMemberPoints = aiMemberPointService.getListByCompanyIdAndMemberUuid(companyId, memberUuid); |
| | | |
| | | |
| | | // 创建分页对象,传入当前页和每页大小 |
| | | Page<AiMemberPoint> page = new Page<>(dto.getPageNow(), dto.getPageSize()); |
| | | LambdaQueryWrapper<AiMemberPoint> queryWrapper = Wrappers.lambdaQuery(AiMemberPoint.class); |
| | | queryWrapper.eq(AiMemberPoint::getCompanyId, companyId); |
| | | queryWrapper.eq(AiMemberPoint::getMemberId, memberUuid); |
| | | Page<AiMemberPoint> pageListByQuery = aiMemberPointService.getBaseMapper().selectPage(page, queryWrapper); |
| | | List<AiMemberPoint> aiMemberPoints = pageListByQuery.getRecords(); |
| | | |
| | | // List<AiMemberPoint> aiMemberPoints = aiMemberPointService.getListByCompanyIdAndMemberUuid(companyId, memberUuid); |
| | | if (CollUtil.isEmpty(aiMemberPoints)){ |
| | | return new FebsResponse().success().data(vos); |
| | | } |
| | | Map<String, AiMemberPoint> aiMemberPointMap = new HashMap<>(); |
| | | Map<String, List<AiMemberPoint>> aiMemberPointMap = new HashMap<>(); |
| | | if (CollUtil.isNotEmpty(aiMemberPoints)){ |
| | | aiMemberPoints.forEach(aiMemberPoint -> aiMemberPointMap.put(aiMemberPoint.getProductPointId(),aiMemberPoint)); |
| | | //stream操作aiMemberPoints,返回一个Map<productPointId,List<AiMemberPoint>> |
| | | aiMemberPointMap = aiMemberPoints.stream().collect(Collectors.groupingBy(AiMemberPoint::getProductPointId)); |
| | | } |
| | | |
| | | //stream流操作aiMemberPoints,返回一个productPointId的set集合 |
| | |
| | | vo.setTitle(aiProductPoint.getTitle()); |
| | | Integer totalTime = 0; |
| | | if (aiMemberPointMap.containsKey(aiProductPoint.getId())){ |
| | | totalTime = aiMemberPointMap.get(aiProductPoint.getId()).getTotalTime(); |
| | | List<AiMemberPoint> memberPoints = aiMemberPointMap.get(aiProductPoint.getId()); |
| | | for (AiMemberPoint memberPoint : memberPoints){ |
| | | totalTime += memberPoint.getTotalTime(); |
| | | } |
| | | } |
| | | vo.setTotalTime(DateUtil.secondToTime(totalTime)); |
| | | |