Administrator
11 hours ago cd35010f827a0de3f125f714b576c10aab7afc12
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
@@ -1,6 +1,7 @@
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;
@@ -158,7 +159,17 @@
        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分组的集合
@@ -226,13 +237,24 @@
        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集合
@@ -252,7 +274,10 @@
            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));