| | |
| | | @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()); |
| | |
| | | // 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) |
| | |
| | | // //查询标签总条数 |
| | | // 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); |
| | |
| | | //// 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); |
| | |
| | | // |
| | | // |
| | | // }); |
| | | // 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()))); |
| | | } |
| | | |
| | | |