From 0a23c31baef81d149563da16486f3f7d8d9f33e8 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 16 四月 2024 17:30:25 +0800 Subject: [PATCH] 4.16 --- rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java | 196 ++++++++++++++++++++++++------------------------ 1 files changed, 98 insertions(+), 98 deletions(-) diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java index 63d206d..36f16bf 100644 --- a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java +++ b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CounsellingInfoController.java @@ -180,97 +180,14 @@ @ApiImplicitParam(name = "pageSize", value = "分页:每页大小(默认10)", dataTypeClass = Integer.class, paramType = "query"), @ApiImplicitParam(name = "searchType", value = "查询类型 1-严选,2-普通查询,默认2", dataTypeClass = Integer.class, paramType = "query") }) - public ResponseData<List<CounsellinginfoResponseDTO>> page(Integer pageNo, Integer pageSize,Integer searchType) { - if (roleInfoCacheApi.get("customer")!=null){ - List<CounsellinginfoResponseDTO> customer = roleInfoCacheApi.get("customer"); - return new SuccessResponseData<>(customer); - } - - LambdaQueryWrapper<CounsellingInfo> lambdaQueryWrapper = new LambdaQueryWrapper<CounsellingInfo>().eq(CounsellingInfo::getIsDelete,false) - .orderByDesc(CounsellingInfo::getSort,CounsellingInfo::getCreateTime).eq(CounsellingInfo::getListingStatus,1); - //默认普通查询 - if (searchType != null && searchType.intValue() == 1){ - List<Customer> customerList = customerService.getWorkerListByLineStatusAndPost(null, null, PostIdEnum.PO_22.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode()); - if (CollectionUtil.isNotEmpty(customerList)){ - List<Long> customerIds = customerList.stream().map(Customer::getCustomerId).collect(Collectors.toList()); - lambdaQueryWrapper.in(CounsellingInfo::getUserId,customerIds); - } - } - List<CounsellingInfo> page = this.counsellingInfoService.list(lambdaQueryWrapper); - if (CollectionUtil.isNotEmpty(page)){ - List<Long> counseIds = page.stream().map(CounsellingInfo::getId).collect(Collectors.toList()); - QueryWrapper<CounsellingOrder> orderQueryWrapper = new QueryWrapper<CounsellingOrder>().select("counselling_info_id counsellingInfoId,count(1) num "); - //查询是否首次咨询 - orderQueryWrapper.lambda().eq(CounsellingOrder::getUserId,LoginContext.me().getLoginUser().getUserId()).in(CounsellingOrder::getStatusFlag,1,2).in(CounsellingOrder::getCounsellingInfoId,counseIds) - .eq(CounsellingOrder::getOrderType,1).groupBy(CounsellingOrder::getCounsellingInfoId).having(" num > 0 "); - List<Map<String,Object>> mapList = this.counsellingOrderService.listMaps(orderQueryWrapper); - Map<Long,Object> fristMap = new HashMap<>(); - if (CollectionUtil.isNotEmpty(mapList)){ - - mapList.stream().forEach(stringObjectMap -> { - fristMap.put(Long.parseLong(stringObjectMap.get("counsellingInfoId").toString()),stringObjectMap.get("num")); - }); - } - //查询标签总条数 - List<CounsellingTag> counsellingTags = this.counsellingTagService.list(new LambdaQueryWrapper<CounsellingTag>() - .select(CounsellingTag::getId,CounsellingTag::getTagName)); - List<Long> custommerIds = page.stream().map(CounsellingInfo::getUserId).collect(Collectors.toList()); - //查询客户ids - List<Customer> customerList = this.customerService.list(new LambdaQueryWrapper<Customer>().select(Customer::getCustomerId,Customer::getNickName).in(Customer::getCustomerId,custommerIds)); - //查询套餐最低价 - List<Map<String,Object>> lowMapList = this.counsellingSetMealService.listMaps(new QueryWrapper<CounsellingSetMeal>().select(" counselling_info_id counsellingInfoId,IFNULL(min(price),0) price ").lambda().in(CounsellingSetMeal::getCounsellingInfoId,counseIds) - .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0)); - - List<CounsellinginfoResponseDTO> counsellinginfoResponseDTOS = BeanUtil.copyToList(page,CounsellinginfoResponseDTO.class, CopyOptions.create()); - counsellinginfoResponseDTOS.stream().forEach(counsellinginfoResponseDTO -> { - if (fristMap.get(counsellinginfoResponseDTO.getId()) != null){ - counsellinginfoResponseDTO.setIsFirstBuy(true); - } - if (StrUtil.isNotBlank(counsellinginfoResponseDTO.getCounsellingTagIds())){ - List<String> counsellingTagList = Arrays.asList(counsellinginfoResponseDTO.getCounsellingTagIds().split(",")); - String tagNames = counsellingTags.stream().filter(cou -> counsellingTagList.contains(cou.getId().toString())).map(CounsellingTag::getTagName).collect(Collectors.joining(",")); - //获取课程标签名称 -// LambdaQueryWrapper<CounsellingTag> counsellingTagLambdaQueryWrapper = new QueryWrapper<CounsellingTag>().select(" GROUP_CONCAT(tag_name) tagName ").lambda(); -// Map<String,Object> map = counsellingTagService.getMap(counsellingTagLambdaQueryWrapper.in(CounsellingTag::getId,counsellinginfoResponseDTO.getCounsellingTagIds().split(","))); -// if (ObjectUtil.isNotEmpty(map)){ - counsellinginfoResponseDTO.setCounsellingTagNames(tagNames); -// } - } - counsellinginfoResponseDTO.setPersonalProfile(null); - - counsellinginfoResponseDTO.setNikeName(customerList.stream().filter(cus -> counsellinginfoResponseDTO.getUserId().longValue() == cus.getCustomerId().longValue()).findFirst().get().getNickName()); - -// BigDecimal lowPrice = this.counsellingSetMealService.getObj(new QueryWrapper<CounsellingSetMeal>().select(" counselling_info_id counsellingInfoId,IFNULL(min(price),0) price ").lambda().eq(CounsellingSetMeal::getCounsellingInfoId,counsellinginfoResponseDTO.getId()) -// .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0),Convert::toBigDecimal); - - - if (CollectionUtil.isNotEmpty(lowMapList)){ - lowMapList.stream().forEach(stringObjectMap -> { - if (stringObjectMap.get("counsellingInfoId") != null){ - counsellinginfoResponseDTO.setLowPrice(new BigDecimal(stringObjectMap.get("price").toString())); - } - }); - if (counsellinginfoResponseDTO.getLowPrice() == null){ - counsellinginfoResponseDTO.setLowPrice(new BigDecimal(0)); - } - } - - - }); - roleInfoCacheApi.put("customer",counsellinginfoResponseDTOS,600L); - - return new SuccessResponseData<>(counsellinginfoResponseDTOS); - } - - return new SuccessResponseData<>(); - - - - - - + public ResponseData<PageResult<CounsellinginfoResponseDTO>> page(Integer pageNo, Integer pageSize,Integer searchType) { +// if (roleInfoCacheApi.get("customer:"+LoginContext.me().getLoginUser().getUserId())!=null){ +// List<CounsellinginfoResponseDTO> customer = roleInfoCacheApi.get("customer:"+LoginContext.me().getLoginUser().getUserId()); +// return new SuccessResponseData<>(customer); +// } +// // LambdaQueryWrapper<CounsellingInfo> lambdaQueryWrapper = new LambdaQueryWrapper<CounsellingInfo>().eq(CounsellingInfo::getIsDelete,false) -// .orderByDesc(CounsellingInfo::getSort,CounsellingInfo::getCreateTime).eq(CounsellingInfo::getListingStatus,1); +// .orderByDesc(CounsellingInfo::getSort,CounsellingInfo::getCreateTime).eq(CounsellingInfo::getListingStatus,1); // //默认普通查询 // if (searchType != null && searchType.intValue() == 1){ // List<Customer> customerList = customerService.getWorkerListByLineStatusAndPost(null, null, PostIdEnum.PO_22.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode()); @@ -279,9 +196,9 @@ // lambdaQueryWrapper.in(CounsellingInfo::getUserId,customerIds); // } // } -// Page<CounsellingInfo> page = this.counsellingInfoService.page(PageFactory.defaultPage(), lambdaQueryWrapper); -// if (CollectionUtil.isNotEmpty(page.getRecords())){ -// List<Long> counseIds = page.getRecords().stream().map(CounsellingInfo::getId).collect(Collectors.toList()); +// List<CounsellingInfo> page = this.counsellingInfoService.list(lambdaQueryWrapper); +// if (CollectionUtil.isNotEmpty(page)){ +// List<Long> counseIds = page.stream().map(CounsellingInfo::getId).collect(Collectors.toList()); // QueryWrapper<CounsellingOrder> orderQueryWrapper = new QueryWrapper<CounsellingOrder>().select("counselling_info_id counsellingInfoId,count(1) num "); // //查询是否首次咨询 // orderQueryWrapper.lambda().eq(CounsellingOrder::getUserId,LoginContext.me().getLoginUser().getUserId()).in(CounsellingOrder::getStatusFlag,1,2).in(CounsellingOrder::getCounsellingInfoId,counseIds) @@ -297,14 +214,14 @@ // //查询标签总条数 // List<CounsellingTag> counsellingTags = this.counsellingTagService.list(new LambdaQueryWrapper<CounsellingTag>() // .select(CounsellingTag::getId,CounsellingTag::getTagName)); -// List<Long> custommerIds = page.getRecords().stream().map(CounsellingInfo::getUserId).collect(Collectors.toList()); +// List<Long> custommerIds = page.stream().map(CounsellingInfo::getUserId).collect(Collectors.toList()); // //查询客户ids // List<Customer> customerList = this.customerService.list(new LambdaQueryWrapper<Customer>().select(Customer::getCustomerId,Customer::getNickName).in(Customer::getCustomerId,custommerIds)); // //查询套餐最低价 // List<Map<String,Object>> lowMapList = this.counsellingSetMealService.listMaps(new QueryWrapper<CounsellingSetMeal>().select(" counselling_info_id counsellingInfoId,IFNULL(min(price),0) price ").lambda().in(CounsellingSetMeal::getCounsellingInfoId,counseIds) // .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0)); // -// List<CounsellinginfoResponseDTO> counsellinginfoResponseDTOS = BeanUtil.copyToList(page.getRecords(),CounsellinginfoResponseDTO.class, CopyOptions.create()); +// List<CounsellinginfoResponseDTO> counsellinginfoResponseDTOS = BeanUtil.copyToList(page,CounsellinginfoResponseDTO.class, CopyOptions.create()); // counsellinginfoResponseDTOS.stream().forEach(counsellinginfoResponseDTO -> { // if (fristMap.get(counsellinginfoResponseDTO.getId()) != null){ // counsellinginfoResponseDTO.setIsFirstBuy(true); @@ -316,7 +233,7 @@ //// LambdaQueryWrapper<CounsellingTag> counsellingTagLambdaQueryWrapper = new QueryWrapper<CounsellingTag>().select(" GROUP_CONCAT(tag_name) tagName ").lambda(); //// Map<String,Object> map = counsellingTagService.getMap(counsellingTagLambdaQueryWrapper.in(CounsellingTag::getId,counsellinginfoResponseDTO.getCounsellingTagIds().split(","))); //// if (ObjectUtil.isNotEmpty(map)){ -// counsellinginfoResponseDTO.setCounsellingTagNames(tagNames); +// counsellinginfoResponseDTO.setCounsellingTagNames(tagNames); //// } // } // counsellinginfoResponseDTO.setPersonalProfile(null); @@ -340,11 +257,94 @@ // // // }); +// roleInfoCacheApi.put("customer:"+LoginContext.me().getLoginUser().getUserId(),counsellinginfoResponseDTOS,600L); // -// return new SuccessResponseData<>(PageResultFactory.createPageResult(counsellinginfoResponseDTOS,page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent()))); +// return new SuccessResponseData<>(counsellinginfoResponseDTOS); // } // -// return new SuccessResponseData<>(PageResultFactory.createPageResult(new ArrayList<CounsellinginfoResponseDTO>(),page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent()))); +// return new SuccessResponseData<>(); + + + + + + + LambdaQueryWrapper<CounsellingInfo> lambdaQueryWrapper = new LambdaQueryWrapper<CounsellingInfo>().eq(CounsellingInfo::getIsDelete,false) + .orderByDesc(CounsellingInfo::getSort,CounsellingInfo::getCreateTime).eq(CounsellingInfo::getListingStatus,1); + //默认普通查询 + if (searchType != null && searchType.intValue() == 1){ + List<Customer> customerList = customerService.getWorkerListByLineStatusAndPost(null, null, PostIdEnum.PO_22.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode()); + if (CollectionUtil.isNotEmpty(customerList)){ + List<Long> customerIds = customerList.stream().map(Customer::getCustomerId).collect(Collectors.toList()); + lambdaQueryWrapper.in(CounsellingInfo::getUserId,customerIds); + } + } + Page<CounsellingInfo> page = this.counsellingInfoService.page(PageFactory.defaultPage(), lambdaQueryWrapper); + if (CollectionUtil.isNotEmpty(page.getRecords())){ + List<Long> counseIds = page.getRecords().stream().map(CounsellingInfo::getId).collect(Collectors.toList()); + QueryWrapper<CounsellingOrder> orderQueryWrapper = new QueryWrapper<CounsellingOrder>().select("counselling_info_id counsellingInfoId,count(1) num "); + //查询是否首次咨询 + orderQueryWrapper.lambda().eq(CounsellingOrder::getUserId,LoginContext.me().getLoginUser().getUserId()).in(CounsellingOrder::getStatusFlag,1,2).in(CounsellingOrder::getCounsellingInfoId,counseIds) + .eq(CounsellingOrder::getOrderType,1).groupBy(CounsellingOrder::getCounsellingInfoId).having(" num > 0 "); + List<Map<String,Object>> mapList = this.counsellingOrderService.listMaps(orderQueryWrapper); + Map<Long,Object> fristMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(mapList)){ + + mapList.stream().forEach(stringObjectMap -> { + fristMap.put(Long.parseLong(stringObjectMap.get("counsellingInfoId").toString()),stringObjectMap.get("num")); + }); + } + //查询标签总条数 + List<CounsellingTag> counsellingTags = this.counsellingTagService.list(new LambdaQueryWrapper<CounsellingTag>() + .select(CounsellingTag::getId,CounsellingTag::getTagName)); + List<Long> custommerIds = page.getRecords().stream().map(CounsellingInfo::getUserId).collect(Collectors.toList()); + //查询客户ids + List<Customer> customerList = this.customerService.list(new LambdaQueryWrapper<Customer>().select(Customer::getCustomerId,Customer::getNickName).in(Customer::getCustomerId,custommerIds)); + //查询套餐最低价 + List<Map<String,Object>> lowMapList = this.counsellingSetMealService.listMaps(new QueryWrapper<CounsellingSetMeal>().select(" counselling_info_id counsellingInfoId,IFNULL(min(price),0) price ").lambda().in(CounsellingSetMeal::getCounsellingInfoId,counseIds) + .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0)); + + List<CounsellinginfoResponseDTO> counsellinginfoResponseDTOS = BeanUtil.copyToList(page.getRecords(),CounsellinginfoResponseDTO.class, CopyOptions.create()); + counsellinginfoResponseDTOS.stream().forEach(counsellinginfoResponseDTO -> { + if (fristMap.get(counsellinginfoResponseDTO.getId()) != null){ + counsellinginfoResponseDTO.setIsFirstBuy(true); + } + if (StrUtil.isNotBlank(counsellinginfoResponseDTO.getCounsellingTagIds())){ + List<String> counsellingTagList = Arrays.asList(counsellinginfoResponseDTO.getCounsellingTagIds().split(",")); + String tagNames = counsellingTags.stream().filter(cou -> counsellingTagList.contains(cou.getId().toString())).map(CounsellingTag::getTagName).collect(Collectors.joining(",")); + //获取课程标签名称 +// LambdaQueryWrapper<CounsellingTag> counsellingTagLambdaQueryWrapper = new QueryWrapper<CounsellingTag>().select(" GROUP_CONCAT(tag_name) tagName ").lambda(); +// Map<String,Object> map = counsellingTagService.getMap(counsellingTagLambdaQueryWrapper.in(CounsellingTag::getId,counsellinginfoResponseDTO.getCounsellingTagIds().split(","))); +// if (ObjectUtil.isNotEmpty(map)){ + counsellinginfoResponseDTO.setCounsellingTagNames(tagNames); +// } + } + counsellinginfoResponseDTO.setPersonalProfile(null); + + counsellinginfoResponseDTO.setNikeName(customerList.stream().filter(cus -> counsellinginfoResponseDTO.getUserId().longValue() == cus.getCustomerId().longValue()).findFirst().get().getNickName()); + +// BigDecimal lowPrice = this.counsellingSetMealService.getObj(new QueryWrapper<CounsellingSetMeal>().select(" counselling_info_id counsellingInfoId,IFNULL(min(price),0) price ").lambda().eq(CounsellingSetMeal::getCounsellingInfoId,counsellinginfoResponseDTO.getId()) +// .eq(CounsellingSetMeal::getSetMealType,1).eq(CounsellingSetMeal::getIsDelete,0),Convert::toBigDecimal); + + + if (CollectionUtil.isNotEmpty(lowMapList)){ + lowMapList.stream().forEach(stringObjectMap -> { + if (stringObjectMap.get("counsellingInfoId") != null){ + counsellinginfoResponseDTO.setLowPrice(new BigDecimal(stringObjectMap.get("price").toString())); + } + }); + if (counsellinginfoResponseDTO.getLowPrice() == null){ + counsellinginfoResponseDTO.setLowPrice(new BigDecimal(0)); + } + } + + + }); + + return new SuccessResponseData<>(PageResultFactory.createPageResult(counsellinginfoResponseDTOS,page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent()))); + } + + return new SuccessResponseData<>(PageResultFactory.createPageResult(new ArrayList<CounsellinginfoResponseDTO>(),page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent()))); } -- Gitblit v1.7.1