| | |
| | | SearchHouseResourceRes searchHouseResource = new SearchHouseResourceRes(); |
| | | List<SearchHouseResourceListRes> searchHouseResourceListRes = this.baseMapper.searchHouseResource(req, cityIds, districtIds, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds); |
| | | |
| | | |
| | | // 如果有根据用户历史来搜索必看 如果没有搜索出数据 那么查询所有必看 |
| | | if (req.getDataType()!=null&&req.getDataType()==1 && (!StringUtils.hasLength(req.getDistrict())) && searchHouseResourceListRes!=null&&searchHouseResourceListRes.size()==0){ |
| | | if (req.getDataType()!=null&&req.getDataType()==1 && (!StringUtils.hasLength(req.getDistrict())) |
| | | && searchHouseResourceListRes!=null&&searchHouseResourceListRes.size()==0){ |
| | | cityIds=null; |
| | | districtIds=null; |
| | | searchHouseResourceListRes = this.baseMapper.searchHouseResource(req, cityIds, districtIds, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds); |
| | |
| | | t.setHouseResource(3); |
| | | } |
| | | } |
| | | if (req.getUserType()==5){ |
| | | // 中介房源 |
| | | List<SearchHouseResourceListRes> collect = searchHouseResourceListRes.stream() |
| | | .filter(t -> t.getHouseResource() == 3) |
| | | .sorted(Comparator.comparing(SearchHouseResourceListRes::getInsertTime).reversed()) |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 个人房源 |
| | | List<SearchHouseResourceListRes> collect1 = searchHouseResourceListRes.stream() |
| | | .filter(t -> t.getHouseResource() == 2) |
| | | .sorted(Comparator.comparing(SearchHouseResourceListRes::getInsertTime).reversed()) |
| | | .collect(Collectors.toList()); |
| | | searchHouseResourceListRes = collect; |
| | | searchHouseResourceListRes.addAll(collect1); |
| | | }else{ |
| | | List<SearchHouseResourceListRes> collect = searchHouseResourceListRes.stream() |
| | | .sorted(Comparator.comparing(SearchHouseResourceListRes::getInsertTime).reversed()) |
| | | .collect(Collectors.toList()); |
| | | searchHouseResourceListRes = collect; |
| | | } |
| | | |
| | | searchHouseResource.setList(searchHouseResourceListRes); |
| | | List<SearchHouseResourceListRes> searchHouseResourceListRes1 = this.baseMapper.searchHouseResource1(req, cityIds, districtIds, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds); |
| | | searchHouseResource.setTotal(searchHouseResourceListRes1.size()); |
| | |
| | | if (houseResource.getHouseTypeId()!=null)req.setHouseTypeId(houseResource.getHouseTypeId().toString()); |
| | | fillSearchHistory(req); |
| | | HouseResourceInfoRes houseResourceInfoRes = new HouseResourceInfoRes(); |
| | | houseResourceInfoRes.setAge(houseResource.getAge()); |
| | | houseResourceInfoRes.setDataType(houseResource.getDataType()); |
| | | houseResourceInfoRes.setId(id); |
| | | houseResourceInfoRes.setBuildingOrientation(houseResource.getBuildingOrientation()); |
| | |
| | | List<Integer> ids = pointLocations.stream().map(PointLocation::getHouseId).collect(Collectors.toList()); |
| | | if (ids.size()!= 0){ |
| | | List<HouseResource> houseResources = this.selectBatchIds(ids); |
| | | List<HouseResource> collect = houseResources.stream().filter(t -> !t.getId().equals(id) && t.getAuthStatus() == 2 && t.getType() == 2 |
| | | List<HouseResource> collect = houseResources.stream() |
| | | .filter(t -> !t.getId().equals(id) |
| | | && t.getAuthStatus() == 2 && t.getType() == 2 |
| | | && t.getStatus() == 1 && t.getIsDelete() == 0 && t.getDataType() == houseResource.getDataType()) |
| | | .collect(Collectors.toList()); |
| | | List<SearchHouseResourceListRes> list = new ArrayList<>(); |
| | |
| | | searchHouseResourceListRes.setId(resource.getId()); |
| | | AppUser appUser = appUserService.selectById(resource.getAppUserId()); |
| | | searchHouseResourceListRes.setHouseResource(appUser.getUserType()); |
| | | searchHouseResourceListRes.setImgUrl(resource.getHousePhoto().split(",")[0]); |
| | | if(StringUtils.hasLength(resource.getHousePhoto())){ |
| | | searchHouseResourceListRes.setImgUrl(resource.getHousePhoto().split(",")[0]); |
| | | } |
| | | searchHouseResourceListRes.setTitle(resource.getTitle()); |
| | | searchHouseResourceListRes.setHouseArea(resource.getHouseArea()); |
| | | searchHouseResourceListRes.setHouseModel(resource.getHouseModel()); |
| | | Region region = regionService.selectById(houseResource.getDistrictId()); |
| | | Region region1 = regionService.selectById(houseResource.getCityId()); |
| | | searchHouseResourceListRes.setAddress(region1.getName() + " > " + region.getName() + "/" + houseResource.getHouseAddress()); |
| | | if (region!=null && region1!=null){ |
| | | searchHouseResourceListRes.setAddress(region1.getName() + " > " + region.getName() + "/" + houseResource.getHouseAddress()); |
| | | } |
| | | searchHouseResourceListRes.setSaleAmount(resource.getSaleAmount().doubleValue()); |
| | | searchHouseResourceListRes.setElevator(resource.getElevator()); |
| | | searchHouseResourceListRes.setDryingArea(resource.getDryingArea()); |
| | |
| | | } |
| | | } |
| | | HouseResource houseResource = new HouseResource(); |
| | | |
| | | houseResource.setPlatform(req.getPlatform()); |
| | | BeanUtils.copyProperties(req,houseResource); |
| | | houseResource.setType(req.getType()); |
| | | if (StringUtils.hasLength(req.getHousePhoto())){ |
| | | houseResource.setHousePhoto(req.getHousePhoto()); |
| | | }else{ |
| | | houseResource.setHousePhoto(""); |
| | | } |
| | | houseResource.setInsertTime(new Date()); |
| | | houseResource.setGoodHouse(0); |
| | | houseResource.setAge(req.getAge()); |
| | | houseResource.setIsDelete(0); |
| | | houseResource.setInsertUserId(appUserId); |
| | | houseResource.setViewsNumber(0); |
| | | houseResource.setUpdateTime(new Date()); |
| | | // todo 修改回审核和上下架状态 |
| | | houseResource.setStatus(1); |
| | | houseResource.setHeadImg(req.getHeadImg()); |
| | | houseResource.setDataType(req.getDataType()); |
| | | houseResource.setAuthStatus(1); |
| | | houseResource.setAuthStatus(2); |
| | | houseResource.setLeaseTime(req.getTime()); |
| | | houseResource.setAppUserId(appUserId); |
| | | houseResource.setFirmHouse(req.getFirmHouse()); |
| | | if(req.getRentalMoney()!=null){ |
| | | // 如果勾选了同时可租 |
| | | houseResource.setKeepPet(null); |
| | | houseResource.setLeaseTime(null); |
| | | houseResource.setStartTime(""); |
| | | } |
| | | if (StringUtils.hasLength(req.getTime())){ |
| | | if (req.getTime().contains("年")){ |
| | | houseResource.setRentalDuration(2); |
| | |
| | | } |
| | | if (req.getType()==2){ |
| | | if (req.getId()==null){ |
| | | houseResource.setAuthTime(new Date()); |
| | | houseResource.setAuthStatus(2); |
| | | this.baseMapper.insert(houseResource); |
| | | }else{ |
| | | houseResource.setAuthTime(new Date()); |
| | | houseResource.setAuthStatus(2); |
| | | this.baseMapper.updateById(houseResource); |
| | | } |
| | | }else{ |
| | | if (req.getId()==null){ |
| | | houseResource.setAuthTime(new Date()); |
| | | houseResource.setAuthStatus(2); |
| | | this.baseMapper.insert(houseResource); |
| | | }else{ |
| | | houseResource.setAuthTime(new Date()); |
| | | houseResource.setAuthStatus(2); |
| | | this.baseMapper.updateById(houseResource); |
| | | } |
| | | } |
| | | HouseResource houseResource2 = new HouseResource(); |
| | | if(req.getRentalMoney()!=null){ |
| | | BeanUtils.copyProperties(houseResource,houseResource2); |
| | | houseResource2.setDataType(1); |
| | | houseResource2.setId(null); |
| | | houseResource2.setLeaseTime(req.getTime()); |
| | | houseResource2.setKeepPet(req.getKeepPet()); |
| | | houseResource2.setStartTime(req.getStartTime()); |
| | | this.baseMapper.insert(houseResource2); |
| | | if (req.getType()==2){ |
| | | getQRCode(houseResource2); |
| | | } |
| | | |
| | | } |
| | | if (req.getType()==2 && req.getId()==null){ |
| | | if(req.getRentalMoney()!=null && houseResource2.getId()!=null){ |
| | | PointLocation pointLocation = new PointLocation(); |
| | | GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(req.getLongitude()),Double.valueOf(req.getLatitude())); |
| | | pointLocation.setGeoJsonPoint(geoJsonPoint); |
| | | pointLocation.setHouseId(houseResource2.getId()); |
| | | mongoTemplate.insert(pointLocation); |
| | | houseResource2.setCode(pointLocation.getId()); |
| | | houseResource2.setAuthStatus(2); |
| | | houseResource2.setAuthTime(new Date()); |
| | | this.baseMapper.updateById(houseResource2); |
| | | } |
| | | |
| | | PointLocation pointLocation = new PointLocation(); |
| | | GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(req.getLongitude()),Double.valueOf(req.getLatitude())); |
| | | pointLocation.setGeoJsonPoint(geoJsonPoint); |
| | |
| | | mongoTemplate.insert(pointLocation); |
| | | houseResource.setCode(pointLocation.getId()); |
| | | houseResource.setAuthStatus(2); |
| | | houseResource.setAuthTime(new Date()); |
| | | this.baseMapper.updateById(houseResource); |
| | | InputStream inputStream = null; |
| | | OutputStream outputStream = null; |
| | | String accessToken = wxAppletTools.getAccessToken(); |
| | | try { |
| | | String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("scene","id="+houseResource.getId()); |
| | | //pageA/houseDetail |
| | | param.put("page", "pageA/houseDetail"); |
| | | param.put("check_path", false); |
| | | param.put("env_version", "trial"); |
| | | param.put("width", 200); //二维码尺寸 |
| | | param.put("is_hyaline", true); // 是否需要透明底色, is_hyaline 为true时,生成透明底色的小程序码 参数仅对小程序码生效 |
| | | param.put("auto_color", true); // 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 参数仅对小程序码生效 |
| | | Map<String, Object> line_color = new HashMap<>(); |
| | | line_color.put("r", 0); |
| | | line_color.put("g", 0); |
| | | line_color.put("b", 0); |
| | | param.put("line_color", line_color); |
| | | System.err.println("调用生成微信URL接口传参:" + param); |
| | | MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); |
| | | HttpEntity requestEntity = new HttpEntity(param, headers); |
| | | ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]); |
| | | System.err.println("调用小程序生成微信永久小程序码URL接口返回结果:" + entity.getBody()); |
| | | byte[] result = entity.getBody(); |
| | | System.err.println(Base64.encodeBase64String(result)); |
| | | inputStream = new ByteArrayInputStream(result); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | // 最后上传生成的文件名 |
| | | String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpg"; |
| | | // oss中的文件夹名 |
| | | String objectName = sdf.format(new Date()) + "/" + finalFileName; |
| | | // 上传oss |
| | | String s = ossService.uploadFile2OSS(inputStream, objectName); |
| | | //获取文件的URl地址 |
| | | String imgUrl = ossService.getImgUrl(objectName); |
| | | houseResource.setQrCode(imgUrl); |
| | | this.baseMapper.updateById(houseResource); |
| | | System.err.println("看看文件路径" + imgUrl); |
| | | } catch (Exception e) { |
| | | System.err.println("调用小程序生成微信永久小程序码URL接口异常" + e); |
| | | } finally { |
| | | if (inputStream != null) { |
| | | try { |
| | | inputStream.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | if (outputStream != null) { |
| | | try { |
| | | outputStream.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | getQRCode(houseResource); |
| | | } |
| | | if (req.getType()==2 && req.getId()!=null){ |
| | | if(req.getRentalMoney()!=null && houseResource2.getId()!=null){ |
| | | PointLocation pointLocation = new PointLocation(); |
| | | GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(req.getLongitude()),Double.valueOf(req.getLatitude())); |
| | | pointLocation.setGeoJsonPoint(geoJsonPoint); |
| | | pointLocation.setHouseId(houseResource2.getId()); |
| | | mongoTemplate.insert(pointLocation); |
| | | houseResource2.setCode(pointLocation.getId()); |
| | | houseResource2.setAuthStatus(2); |
| | | houseResource2.setAuthTime(new Date()); |
| | | this.baseMapper.updateById(houseResource2); |
| | | } |
| | | HouseResource houseResource1 = this.baseMapper.selectById(req.getId()); |
| | | if (!StringUtils.hasLength(houseResource1.getCode())){ |
| | | PointLocation pointLocation = new PointLocation(); |
| | |
| | | UpdateResult updateResult = mongoTemplate.updateFirst(query, update, PointLocation.class); |
| | | System.err.println(updateResult.getModifiedCount()); |
| | | } |
| | | |
| | | return ResultUtil.success(); |
| | | } |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | public void getQRCode(HouseResource houseResource) { |
| | | InputStream inputStream = null; |
| | | OutputStream outputStream = null; |
| | | String accessToken = wxAppletTools.getAccessToken(); |
| | | try { |
| | | String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("scene","id="+houseResource.getId()); |
| | | param.put("page", "pageA/houseDetail"); |
| | | param.put("check_path", false); |
| | | param.put("env_version", "trial"); |
| | | param.put("width", 200); //二维码尺寸 |
| | | param.put("is_hyaline", true); // 是否需要透明底色, is_hyaline 为true时,生成透明底色的小程序码 参数仅对小程序码生效 |
| | | param.put("auto_color", true); // 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 参数仅对小程序码生效 |
| | | Map<String, Object> line_color = new HashMap<>(); |
| | | line_color.put("r", 0); |
| | | line_color.put("g", 0); |
| | | line_color.put("b", 0); |
| | | param.put("line_color", line_color); |
| | | System.err.println("调用生成微信URL接口传参:" + param); |
| | | MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); |
| | | HttpEntity requestEntity = new HttpEntity(param, headers); |
| | | ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]); |
| | | System.err.println("调用小程序生成微信永久小程序码URL接口返回结果:" + entity.getBody()); |
| | | byte[] result = entity.getBody(); |
| | | System.err.println(Base64.encodeBase64String(result)); |
| | | inputStream = new ByteArrayInputStream(result); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | // 最后上传生成的文件名 |
| | | String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpg"; |
| | | // oss中的文件夹名 |
| | | String objectName = sdf.format(new Date()) + "/" + finalFileName; |
| | | // 上传oss |
| | | String s = ossService.uploadFile2OSS(inputStream, objectName); |
| | | //获取文件的URl地址 |
| | | String imgUrl = ossService.getImgUrl(objectName); |
| | | houseResource.setQrCode(imgUrl); |
| | | this.baseMapper.updateById(houseResource); |
| | | System.err.println("看看文件路径" + imgUrl); |
| | | } catch (Exception e) { |
| | | System.err.println("调用小程序生成微信永久小程序码URL接口异常" + e); |
| | | } finally { |
| | | if (inputStream != null) { |
| | | try { |
| | | inputStream.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | if (outputStream != null) { |
| | | try { |
| | | outputStream.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultUtil confirm(Integer userType) { |
| | | AppUser appUser = appUserService.getAppUser(); |