From 65f10033448a07535d610ad56a628d7b3f137480 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 27 Aug 2025 17:22:14 +0800 Subject: [PATCH] feat(ai): 优化对话项添加逻辑并增强接口返回值 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java index a13c68e..58c9830 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java @@ -57,7 +57,6 @@ public FebsResponse startAnswerV2(ApiMemberAnswerDto dto) { String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid(); ApiMemberAnswerVoV2 apiMemberAnswerVoV2 = new ApiMemberAnswerVoV2(); - Integer current = 1; String productId = dto.getId(); AiProduct aiProduct = aiProductService.getById(productId); @@ -114,11 +113,15 @@ aiMemberAnswerItems.add(aiMemberAnswerItem); } aiMemberAnswerItemService.saveBatch(aiMemberAnswerItems); - current = 1; + apiMemberAnswerVoV2.setCurrent(1); }else{ - current = aiMemberAnswer.getDoneCnt(); + if (aiMemberAnswer.getQuestionCnt() > aiMemberAnswer.getDoneCnt()){ + apiMemberAnswerVoV2.setCurrent(aiMemberAnswer.getDoneCnt() + 1); + }else{ + apiMemberAnswerVoV2.setCurrent(aiMemberAnswer.getDoneCnt()); + } } - apiMemberAnswerVoV2.setCurrent(current); + apiMemberAnswerVoV2.setMemberAnswerId(aiMemberAnswer.getId()); return new FebsResponse().success().data(apiMemberAnswerVoV2); } @@ -273,7 +276,7 @@ }else{ aiMemberAnswerItem.setIsCollected(0); } - aiMemberAnswerItemService.save(aiMemberAnswerItem); + aiMemberAnswerItemService.updateById(aiMemberAnswerItem); aiMemberAnswer.setDoneCnt(aiMemberAnswer.getDoneCnt() + 1); if (aiMemberAnswerItem.getMemberAnswerState() == 1){ @@ -310,6 +313,15 @@ long between = DateUtil.between(createdTime, updatedTime, DateUnit.MINUTE); apiMemberAnswerInsureVo.setUseTime(between); + apiMemberAnswerInsureVo.setProductId(aiMemberAnswer.getProductId()); + + aiMemberAnswerMapper.update(null, + Wrappers.lambdaUpdate(AiMemberAnswer.class) + .set(AiMemberAnswer::getUpdatedTime, new Date()) + .set(AiMemberAnswer::getState, 1) + .set(AiMemberAnswer::getScore, percentage.intValue()) + .eq(AiMemberAnswer::getId, memberAnswerId) + ); return new FebsResponse().success().data(apiMemberAnswerInsureVo); } @@ -366,4 +378,15 @@ dto.setMemberUuid(memberUuid); return aiMemberAnswerItemService.wrongPage(dto); } + + @Override + public FebsResponse myWork(ApiMemberProductWorkPageDto dto) { + String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid(); + dto.setMemberUuid(memberUuid); + // 创建分页对象,传入当前页和每页大小 + Page<ApiMemberProductWorkVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); + Page<ApiMemberProductWorkVo> pageListByQuery = this.getBaseMapper().getPageMyWorkListByQuery(page, dto); + + return new FebsResponse().success().data(pageListByQuery); + } } -- Gitblit v1.9.1