From aa8ff2d61669d0779fdacdba76e26388587b435d Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 22 二月 2024 15:40:23 +0800 Subject: [PATCH] 租房新增需求 --- guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java | 166 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 108 insertions(+), 58 deletions(-) diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java index bc20bf7..3d683c2 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java @@ -300,6 +300,7 @@ 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()); @@ -482,6 +483,7 @@ } } HouseResource houseResource = new HouseResource(); + houseResource.setPlatform(req.getPlatform()); BeanUtils.copyProperties(req,houseResource); houseResource.setType(req.getType()); @@ -492,17 +494,25 @@ } 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(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); @@ -531,7 +541,33 @@ 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); @@ -541,66 +577,20 @@ 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(); @@ -623,11 +613,71 @@ 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(); -- Gitblit v1.7.1