From 3b05389a5bcf93ead612761835952699a4b2e302 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 15 Sep 2025 16:50:21 +0800 Subject: [PATCH] refactor(ai): 重构产品配置相关功能 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++-- 1 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java index a67e99d..2a934fb 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java @@ -3,14 +3,13 @@ import cc.mrbird.febs.ai.entity.*; import cc.mrbird.febs.ai.mapper.AiProductMapper; import cc.mrbird.febs.ai.req.AdminMoveChooseInfoDto; -import cc.mrbird.febs.ai.service.AiProductCategoryService; -import cc.mrbird.febs.ai.service.AiProductPointLinkService; -import cc.mrbird.febs.ai.service.AiProductService; +import cc.mrbird.febs.ai.service.*; import cc.mrbird.febs.ai.util.UUID; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -40,6 +39,8 @@ private final AiProductMapper aiProductMapper; private final AiProductCategoryService aiProductCategoryService; private final AiProductPointLinkService aiProductPointLinkService; + private final AiProductRoleLinkService aiProductRoleLinkService; + private final AiProductQuestionLinkService aiProductQuestionLinkService; @Override public AiProduct getById(String id) { @@ -51,8 +52,11 @@ Page<AiProduct> page = new Page<>(request.getPageNum(), request.getPageSize()); LambdaQueryWrapper<AiProduct> query = Wrappers.lambdaQuery(AiProduct.class); - if (ObjectUtil.isNotNull(dto.getProductCategoryId())){ + if (StrUtil.isNotEmpty(dto.getProductCategoryId())){ query.eq(AiProduct::getProductCategoryId, dto.getProductCategoryId()); + } + if (StrUtil.isNotEmpty(dto.getCompanyId())){ + query.eq(AiProduct::getCompanyId, dto.getCompanyId()); } query.ne(AiProduct::getState, 2); query.orderByDesc(AiProduct::getHotState); @@ -157,9 +161,10 @@ } @Override - public List<AiProduct> selectList() { + public List<AiProduct> selectList(String companyId) { return aiProductMapper.selectList( Wrappers.lambdaQuery(AiProduct.class) + .eq(AiProduct::getCompanyId, companyId) .ne(AiProduct::getState, 2) ); } @@ -171,15 +176,18 @@ List<String> chooseIds = dto.getChooseIds(); AiProduct aiProduct = this.getById(chooseId); if (ObjectUtil.isNotNull(aiProduct)) { + String companyId = aiProduct.getCompanyId(); aiProductPointLinkService.deleteByQuery( Wrappers.lambdaQuery(AiProductPointLink.class) .eq(AiProductPointLink::getProductId,chooseId) + .eq(AiProductPointLink::getCompanyId,companyId) ); if(CollUtil.isNotEmpty(chooseIds)){ Date createdTime = new Date(); for (String item : chooseIds){ AiProductPointLink entity = new AiProductPointLink(); entity.setId(UUID.getSimpleUUIDString()); + entity.setCompanyId(companyId); entity.setProductId(chooseId); entity.setProductPointId(item); entity.setCreatedTime(createdTime); @@ -189,4 +197,61 @@ } return new FebsResponse().success().message("操作成功"); } + + @Override + public FebsResponse productRoleSet(AdminMoveChooseInfoDto dto) { + + String chooseId = dto.getChooseId(); + List<String> chooseIds = dto.getChooseIds(); + AiProduct aiProduct = this.getById(chooseId); + if (ObjectUtil.isNotNull(aiProduct)) { + String companyId = aiProduct.getCompanyId(); + aiProductRoleLinkService.deleteByQuery( + Wrappers.lambdaQuery(AiProductRoleLink.class) + .eq(AiProductRoleLink::getProductId,chooseId) + .eq(AiProductRoleLink::getCompanyId,companyId) + ); + if(CollUtil.isNotEmpty(chooseIds)){ + Date createdTime = new Date(); + for (String item : chooseIds){ + AiProductRoleLink entity = new AiProductRoleLink(); + entity.setId(UUID.getSimpleUUIDString()); + entity.setCompanyId(companyId); + entity.setProductId(chooseId); + entity.setProductRoleId(item); + entity.setCreatedTime(createdTime); + aiProductRoleLinkService.getBaseMapper().insert(entity); + } + } + } + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse productQuestionSet(AdminMoveChooseInfoDto dto) { + String chooseId = dto.getChooseId(); + List<String> chooseIds = dto.getChooseIds(); + AiProduct aiProduct = this.getById(chooseId); + if (ObjectUtil.isNotNull(aiProduct)) { + String companyId = aiProduct.getCompanyId(); + aiProductQuestionLinkService.deleteByQuery( + Wrappers.lambdaQuery(AiProductQuestionLink.class) + .eq(AiProductQuestionLink::getProductId,chooseId) + .eq(AiProductQuestionLink::getCompanyId,companyId) + ); + if(CollUtil.isNotEmpty(chooseIds)){ + Date createdTime = new Date(); + for (String item : chooseIds){ + AiProductQuestionLink entity = new AiProductQuestionLink(); + entity.setId(UUID.getSimpleUUIDString()); + entity.setCompanyId(companyId); + entity.setProductId(chooseId); + entity.setProductQuestionId(item); + entity.setCreatedTime(createdTime); + aiProductQuestionLinkService.getBaseMapper().insert(entity); + } + } + } + return new FebsResponse().success().message("操作成功"); + } } -- Gitblit v1.9.1