| | |
| | | package cc.mrbird.febs.ai.controller.product; |
| | | |
| | | import cc.mrbird.febs.ai.entity.AiProduct; |
| | | import cc.mrbird.febs.ai.entity.AiProductPoint; |
| | | import cc.mrbird.febs.ai.entity.AiProductPointLink; |
| | | import cc.mrbird.febs.ai.entity.*; |
| | | import cc.mrbird.febs.ai.res.AdminMoveChooseInfoVo; |
| | | import cc.mrbird.febs.ai.service.AiProductPointLinkService; |
| | | import cc.mrbird.febs.ai.service.AiProductPointService; |
| | | import cc.mrbird.febs.ai.service.AiProductService; |
| | | import cc.mrbird.febs.ai.service.*; |
| | | import cc.mrbird.febs.common.entity.FebsConstant; |
| | | import cc.mrbird.febs.common.utils.FebsUtil; |
| | | import cn.hutool.core.collection.CollUtil; |
| | |
| | | private final AiProductService aiProductService; |
| | | private final AiProductPointLinkService aiProductPointLinkService; |
| | | private final AiProductPointService aiProductPointService; |
| | | private final AiProductRoleLinkService aiProductRoleLinkService; |
| | | private final AiProductQuestionLinkService aiProductQuestionLinkService; |
| | | private final AiProductQuestionService aiProductQuestionService; |
| | | private final AiProductRoleService aiProductRoleService; |
| | | |
| | | @GetMapping("list") |
| | | @RequiresPermissions("productList:view") |
| | |
| | | model.addAttribute("chooseId", id); |
| | | return FebsUtil.view("modules/ai/product/pointSet"); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping("productRoleSet/{id}") |
| | | @RequiresPermissions("productList:productRoleSet") |
| | | public String productRoleSet(@PathVariable String id, Model model) { |
| | | List<AdminMoveChooseInfoVo> vos = new ArrayList<>(); |
| | | Set<String> productIds = new HashSet<>(); |
| | | |
| | | AiProduct entity = aiProductService.getById(id); |
| | | String companyId = entity.getCompanyId(); |
| | | if(ObjectUtil.isNotNull(entity)){ |
| | | //右侧数据 |
| | | LambdaQueryWrapper<AiProductRoleLink> query = Wrappers.lambdaQuery(AiProductRoleLink.class); |
| | | if(StrUtil.isNotEmpty(id)){ |
| | | query.eq(AiProductRoleLink::getProductId, id); |
| | | query.eq(AiProductRoleLink::getCompanyId, companyId); |
| | | } |
| | | List<AiProductRoleLink> selectedList = aiProductRoleLinkService.selectListByQuery(query); |
| | | if(CollUtil.isNotEmpty(selectedList)){ |
| | | //stream流操作happyMemberLabelRecords,获取memberId的set集合 |
| | | productIds = selectedList.stream().map(AiProductRoleLink::getProductRoleId).collect(Collectors.toSet()); |
| | | } |
| | | |
| | | //左侧数据 |
| | | List<AiProductRole> allList = aiProductRoleService.productRoleTree(companyId); |
| | | if(CollUtil.isNotEmpty(allList)){ |
| | | //stream流操作mallMembers,生成一个新的List<MallMemberVo> |
| | | vos = allList.stream().map(AiProductRole -> { |
| | | AdminMoveChooseInfoVo vo = new AdminMoveChooseInfoVo(); |
| | | vo.setId(AiProductRole.getId()); |
| | | vo.setName(AiProductRole.getName()); |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | } |
| | | |
| | | model.addAttribute("productRoleAll", vos); |
| | | model.addAttribute("productRoleSelected", productIds); |
| | | model.addAttribute("chooseId", id); |
| | | return FebsUtil.view("modules/ai/product/productRoleSet"); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping("productQuestionSet/{id}") |
| | | @RequiresPermissions("productList:productQuestionSet") |
| | | public String productQuestionSet(@PathVariable String id, Model model) { |
| | | List<AdminMoveChooseInfoVo> vos = new ArrayList<>(); |
| | | Set<String> productIds = new HashSet<>(); |
| | | |
| | | AiProduct entity = aiProductService.getById(id); |
| | | if(ObjectUtil.isNotNull(entity)){ |
| | | //右侧数据 |
| | | LambdaQueryWrapper<AiProductQuestionLink> query = Wrappers.lambdaQuery(AiProductQuestionLink.class); |
| | | if(StrUtil.isNotEmpty(id)){ |
| | | query.eq(AiProductQuestionLink::getProductId, id); |
| | | } |
| | | List<AiProductQuestionLink> selectedList = aiProductQuestionLinkService.selectListByQuery(query); |
| | | if(CollUtil.isNotEmpty(selectedList)){ |
| | | //stream流操作happyMemberLabelRecords,获取memberId的set集合 |
| | | productIds = selectedList.stream().map(AiProductQuestionLink::getProductQuestionId).collect(Collectors.toSet()); |
| | | } |
| | | |
| | | //左侧数据 |
| | | LambdaQueryWrapper<AiProductQuestion> aiProductQuestionLambdaQueryWrapper = Wrappers.lambdaQuery(AiProductQuestion.class); |
| | | aiProductQuestionLambdaQueryWrapper.eq(AiProductQuestion::getProductCategoryId, entity.getProductCategoryId()); |
| | | aiProductQuestionLambdaQueryWrapper.eq(AiProductQuestion::getState, 1); |
| | | List<AiProductQuestion> allList = aiProductQuestionService.productQuestionTree(aiProductQuestionLambdaQueryWrapper); |
| | | if(CollUtil.isNotEmpty(allList)){ |
| | | //stream流操作mallMembers,生成一个新的List<MallMemberVo> |
| | | vos = allList.stream().map(AiProductQuestion -> { |
| | | AdminMoveChooseInfoVo vo = new AdminMoveChooseInfoVo(); |
| | | vo.setId(AiProductQuestion.getId()); |
| | | vo.setName(AiProductQuestion.getTitle()); |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | } |
| | | |
| | | model.addAttribute("productQuestionAll", vos); |
| | | model.addAttribute("productQuestionSelected", productIds); |
| | | model.addAttribute("chooseId", id); |
| | | return FebsUtil.view("modules/ai/product/productQuestionSet"); |
| | | } |
| | | } |