From 9f88b12d16c83963dad8fb8f79d9eeba2c311518 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 20 八月 2024 09:10:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java | 651 ----------------------------------------------------------- 1 files changed, 0 insertions(+), 651 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 16223e3..e69de29 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 @@ -1,651 +0,0 @@ -package com.stylefeng.guns.modular.system.service.impl; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alipay.api.internal.util.codec.Base64; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.mongodb.client.result.UpdateResult; -import com.stylefeng.guns.core.util.ToolUtil; -import com.stylefeng.guns.modular.file.OSSService; -import com.stylefeng.guns.modular.system.dao.HouseResourceMapper; -import com.stylefeng.guns.modular.system.model.*; -import com.stylefeng.guns.modular.system.service.*; -import com.stylefeng.guns.modular.system.util.ResultUtil; -import com.stylefeng.guns.modular.system.util.WxAppletTools; -import com.stylefeng.guns.modular.system.warpper.PointLocation; -import com.stylefeng.guns.modular.system.warpper.req.AddHouseReq; -import com.stylefeng.guns.modular.system.warpper.req.HouseQuery; -import com.stylefeng.guns.modular.system.warpper.req.SearchHouseResourceReq; -import com.stylefeng.guns.modular.system.warpper.req.UserInfoQuery; -import com.stylefeng.guns.modular.system.warpper.res.*; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.annotations.ApiOperation; -import org.apache.http.entity.ContentType; -import org.dom4j.Document; -import org.dom4j.Element; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.geo.Circle; -import org.springframework.data.geo.Distance; -import org.springframework.data.geo.Metrics; -import org.springframework.data.geo.Point; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.geo.GeoJsonPoint; -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.CriteriaDefinition; -import org.springframework.data.mongodb.core.query.Query; -import org.springframework.data.mongodb.core.query.Update; -import org.springframework.http.*; -import org.springframework.mock.web.MockMultipartFile; -import org.springframework.stereotype.Service; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.client.RestTemplate; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import java.io.*; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLEncoder; -import java.security.SecureRandom; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author zhibing.pu - * @Date 2023/11/8 15:10 - */ -@Service -public class HouseResourceService extends ServiceImpl<HouseResourceMapper, HouseResource> implements IHouseResourceService { - - @Autowired - private ISearchHistoryConditionService searchHistoryConditionService; - @Autowired - private IAppUserService appUserService; - @Autowired - private IRegionService regionService; - @Autowired - private IHouseTypeService houseTypeService; - @Autowired - private ICollectionHouseResourceService collectionHouseResourceService; - @Resource - private MongoTemplate mongoTemplate; - @Autowired - private IHousingDemandService housingDemandService; - @Autowired - private WxAppletTools wxAppletTools; - @Autowired - private RestTemplate restTemplate; - @Autowired - private IUserService userService; - @Autowired - private OSSService ossService; - @Value("${wx.appletsAppid}") - private String wxAppletsAppid; - @Value("${wx.appletsAppSecret}") - private String wxAppletsAppSecret; - /** - * 获取房源列表 - * @param req - * @return - */ - @Override - public SearchHouseResourceRes searchHouseResource(SearchHouseResourceReq req) { - req.setPageNum((req.getPageNum() - 1) * req.getPageSize()); - //租房处理推荐和记录历史搜索数据 - fillSearchHistory(req); - //区域 - List<Integer> districtIds = new ArrayList<>(); - List<Integer> cityIds = new ArrayList<>(); - if (req.getDataType()!=null && req.getDataType()==1 && req.getUserType()==5 && req.getDistrict()==null && req.getArea()==null){ - // 如果用户有历史 并且在首页列表的时候 看他有没有历史搜索 - if (appUserService.getAppUser()!=null){ - SearchHistoryCondition app_user_id = searchHistoryConditionService.selectOne(new EntityWrapper<SearchHistoryCondition>() - .eq("app_user_id", appUserService.getAppUser().getId())); - if (app_user_id!=null){ - if(StringUtils.hasLength(app_user_id.getDistrict()) ){ - districtIds.add(Integer.valueOf(app_user_id.getDistrict())); - } - } - } - } - if (req.getDistrict() != null &&(!req.getDistrict().equals("")) ){ - // 一级id - Integer integer = Integer.valueOf(req.getDistrict()); - districtIds.add(integer); - if (req.getArea()!=null && (!req.getArea().equals(""))){ - String[] split = req.getArea().split(","); - for (String s : split) { - cityIds.add(Integer.valueOf(s)); - } - } - }else if (StringUtils.hasLength(req.getArea())){ - String[] split = req.getArea().split(","); - for (String s : split) { - cityIds.add(Integer.valueOf(s)); - } - // 根据用户历史搜索 推荐对应的区域 - } -// if(StringUtils.hasLength(req.getDistrict())){ -// cityIds = new ArrayList<>(); -// districtIds = new ArrayList<>(); -// JSONArray jsonArray = JSON.parseArray(req.getDistrict()); -// for (int i = 0; i < jsonArray.size(); i++) { -// JSONObject jsonObject = jsonArray.getJSONObject(i); -// Integer cityId = jsonObject.getInteger("cityId"); -// Integer districtId = jsonObject.getInteger("districtId"); -// //不限区域 -// if(0 == districtId || null == districtId){ -// List<Region> regions = regionService.selectList(new EntityWrapper<Region>().eq("parent_id", cityId)); -// districtIds.addAll(regions.stream().map(Region::getId).collect(Collectors.toList())); -// } -// cityIds.add(cityId); -// districtIds.add(districtId); -// } -// } - - //价格范围 - Double saleAmountStart = null; - Double saleAmountEnd = null; - if(StringUtils.hasLength(req.getSaleAmount())){ - if (req.getSaleAmount().contains("以上")){ - saleAmountStart = Double.valueOf(req.getSaleAmount().substring(0, req.getSaleAmount().length() - 2)); - saleAmountEnd = 10000000000000000000000.0; - }else if (req.getSaleAmount().contains("以下")){ - saleAmountStart = 0.0; - saleAmountEnd = Double.valueOf(req.getSaleAmount().substring(0, req.getSaleAmount().length() - 2)); - }else{ - String[] split = req.getSaleAmount().split("-"); - saleAmountStart = Double.valueOf(split[0]); - saleAmountEnd = Double.valueOf(split[1]); - } - } - //户型 - List<String> houseModels = null; - if(StringUtils.hasLength(req.getHouseModel())){ - String[] split = req.getHouseModel().split(","); - houseModels = Arrays.asList(split); - } - //房型 - List<Integer> houseTypeIds = null; - if(StringUtils.hasLength(req.getHouseTypeId())){ - houseTypeIds = new ArrayList<>(); - String[] split = req.getHouseTypeId().split(","); - for (String s : split) { - houseTypeIds.add(Integer.valueOf(s)); - } - } - 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){ - cityIds=null; - districtIds=null; - searchHouseResourceListRes = this.baseMapper.searchHouseResource(req, cityIds, districtIds, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds); - } - for (SearchHouseResourceListRes t : searchHouseResourceListRes) { - if (t.getIsManage()!=null && t.getIsManage() == 1){ - // 后台添加设置为中介房源 - t.setHouseResource(3); - } - } - searchHouseResource.setList(searchHouseResourceListRes); - List<SearchHouseResourceListRes> searchHouseResourceListRes1 = this.baseMapper.searchHouseResource1(req, cityIds, districtIds, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds); - searchHouseResource.setTotal(searchHouseResourceListRes1.size()); - return searchHouseResource; - } - - /** - * 填装历史搜索记录和修改历史搜索记录 - * @param req - */ - private void fillSearchHistory(SearchHouseResourceReq req){ - AppUser appUser = appUserService.getAppUser(); - if(null != appUser){ - //获取历史搜索数据 - SearchHistoryCondition searchHistoryCondition = searchHistoryConditionService - .selectOne(new EntityWrapper<SearchHistoryCondition>().eq("app_user_id", appUser.getId())); - if(null == searchHistoryCondition){ - //没有历史记录,将现有记录添加进去 - searchHistoryCondition = new SearchHistoryCondition(); - searchHistoryCondition.setAppUserId(appUser.getId()); - searchHistoryCondition.setDistrict(req.getDistrict()); - searchHistoryCondition.setPrice(req.getSaleAmount()); - searchHistoryCondition.setHouseModels(req.getHouseModel()); - searchHistoryCondition.setElevator(req.getElevator()); - searchHistoryCondition.setHouseTypeIds(req.getHouseTypeId()); - searchHistoryConditionService.insert(searchHistoryCondition); - }else{ - //没有进行搜索的情况,将历史记录填充进搜素条件。有搜索条件则不填充,然后更新历史搜索条件 - if(ToolUtil.isEmpty(req.getDistrict()) && ToolUtil.isEmpty(req.getSaleAmount()) && - ToolUtil.isEmpty(req.getHouseModel()) && ToolUtil.isEmpty(req.getElevator()) && - ToolUtil.isEmpty(req.getHouseTypeId())){ -// req.setDistrict(searchHistoryCondition.getDistrict()); -// req.setSaleAmount(searchHistoryCondition.getPrice()); -// req.setHouseModel(searchHistoryCondition.getHouseModels()); -// req.setElevator(searchHistoryCondition.getElevator()); -// req.setHouseTypeId(searchHistoryCondition.getHouseTypeIds()); - }else{ - //更新历史搜索记录 - searchHistoryCondition.setDistrict(req.getDistrict()); - searchHistoryCondition.setPrice(req.getSaleAmount()); - searchHistoryCondition.setHouseModels(req.getHouseModel()); - searchHistoryCondition.setElevator(req.getElevator()); - searchHistoryCondition.setHouseTypeIds(req.getHouseTypeId()); - searchHistoryConditionService.updateAllColumnById(searchHistoryCondition); - } - } - } - } - - - /** - * 获取区域房源数量 - * @return - */ - @Override - public List<DistrictHouseResourceNumberRes> getDistrictHouseResourceNumber(Integer userType, Integer dataType) { - List<DistrictHouseResourceNumberRes> districtHouseResourceNumber = this.baseMapper.getDistrictHouseResourceNumber(userType, dataType); - return districtHouseResourceNumber; - } - - - /** - * 获取房源详情 - * @param id - * @return - */ - @Override - public HouseResourceInfoRes getHouseResourceInfo(Integer id) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - AppUser appUser = appUserService.getAppUser(); - HouseResource houseResource = this.selectById(id); - SearchHouseResourceReq req = new SearchHouseResourceReq(); - if (houseResource.getDistrictId()!=null)req.setDistrict(houseResource.getCityId().toString()); - if (houseResource.getSaleAmount()!=null)req.setSaleAmount(houseResource.getSaleAmount().toString()); - req.setHouseModel(houseResource.getHouseModel()); - req.setElevator(houseResource.getElevator()); - if (houseResource.getHouseTypeId()!=null)req.setHouseTypeId(houseResource.getHouseTypeId().toString()); - fillSearchHistory(req); - HouseResourceInfoRes houseResourceInfoRes = new HouseResourceInfoRes(); - houseResourceInfoRes.setDataType(houseResource.getDataType()); - houseResourceInfoRes.setId(id); - houseResourceInfoRes.setBuildingOrientation(houseResource.getBuildingOrientation()); - houseResourceInfoRes.setVideoPhoto(houseResource.getVideoPhoto()); - houseResourceInfoRes.setQrCode(houseResource.getQrCode()); - houseResourceInfoRes.setTitle(houseResource.getTitle()); - houseResourceInfoRes.setSaleAmount(houseResource.getSaleAmount()); - houseResourceInfoRes.setHouseModel(houseResource.getHouseModel()); - houseResourceInfoRes.setRentalDuration(houseResource.getRentalDuration()); - houseResourceInfoRes.setSaleDate(houseResource.getStartTime()); - houseResourceInfoRes.setHousePhoto(houseResource.getHousePhoto()); - HouseType houseType = houseTypeService.selectById(houseResource.getHouseTypeId()); - if (houseType!=null)houseResourceInfoRes.setHouseType(houseType.getName()); - houseResourceInfoRes.setFloor(houseResource.getFloor()); - houseResourceInfoRes.setElevator(houseResource.getElevator()); - if (houseResource.getBalcony()!=null&&houseResource.getBalcony()==1)houseResourceInfoRes.setDryingAreas("阳台"); - if (houseResource.getDryingArea()!=null&&houseResource.getDryingArea()==1)houseResourceInfoRes.setDryingAreas("天台"); - if (houseResource.getAir()!=null&&houseResource.getAir()==1)houseResourceInfoRes.setDryingAreas("无"); - houseResourceInfoRes.setHouseArea(houseResource.getHouseArea()); - houseResourceInfoRes.setKeepPet(houseResource.getKeepPet()); - Region region = regionService.selectById(houseResource.getDistrictId()); - Region region1 = regionService.selectById(houseResource.getCityId()); - if (region != null&®ion1 != null){ - if (houseResource.getHouseAddress()==null){ - houseResourceInfoRes.setAddress(region1.getName() + " > " + region.getName()); - }else{ - houseResourceInfoRes.setAddress(region1.getName() + " > " + region.getName() + "/" +houseResource.getHouseAddress() ); - } - } - houseResourceInfoRes.setLongitude(houseResource.getLongitude()); - houseResourceInfoRes.setLatitude(houseResource.getLatitude()); - houseResourceInfoRes.setMoreIntroduction(houseResource.getMoreIntroduction()); - houseResourceInfoRes.setViewsNumber(houseResource.getViewsNumber()); - AppUser appUser1 = appUserService.selectById(houseResource.getAppUserId()); - houseResourceInfoRes.setProfilePhoto(appUser1.getProfilePhoto()); - houseResourceInfoRes.setNickname(appUser1.getNickname()); - houseResourceInfoRes.setUserType(appUser1.getUserType()); - houseResourceInfoRes.setInsertTime(sdf.format(houseResource.getInsertTime())); - // 后台添加的 - if (houseResource.getIsManage()!=null && houseResource.getIsManage()==1){ - User user = userService.selectById(houseResource.getInsertUserId()); - if (user!=null){ - houseResourceInfoRes.setNickname(user.getName()); - houseResourceInfoRes.setProfilePhoto(user.getAvatar()); - houseResourceInfoRes.setUserType(3); - } - } - if (houseResource.getUpdateTime()!=null){ - houseResourceInfoRes.setUpdateTime(sdf.format(houseResource.getUpdateTime())); - } - houseResourceInfoRes.setCode(houseResource.getCode()); - int collectionTimes = collectionHouseResourceService.selectCount(new EntityWrapper<CollectionHouseResource>().eq("house_resource_id", id)); - houseResourceInfoRes.setCollectionTimes(collectionTimes); - houseResourceInfoRes.setCollection(0); - if(null != appUser){ - int collection = collectionHouseResourceService.selectCount(new EntityWrapper<CollectionHouseResource>().eq("house_resource_id", id).eq("app_user_id", appUser.getId())); - houseResourceInfoRes.setCollection(0 == collection ? 0 : 1); - } - //添加访问次数记录 - addViewsNumber(houseResource); - return houseResourceInfoRes; - } - - /** - * 添加访问次数记录 - * @param houseResource - */ - private void addViewsNumber(HouseResource houseResource){ - houseResource.setViewsNumber((null == houseResource.getViewsNumber() ? 0 : houseResource.getViewsNumber()) + 1); - this.updateById(houseResource); - } - - - /** - * 获取附近房源数据 - * @param id - * @return - */ - @Override - public List<SearchHouseResourceListRes> getNearbyHouseResource(Integer id) { - HouseResource houseResource = this.selectById(id); - //获取中心半径5KM范围内的房源数据 - if (houseResource.getLongitude()!=null && houseResource.getLatitude()!=null){ - Double x = Double.valueOf(houseResource.getLongitude()); - Double y = Double.valueOf(houseResource.getLatitude()); - Point point = new Point(x, y); - Circle circle = new Circle(point, new Distance(5, Metrics.KILOMETERS)); - Query query = Query.query(Criteria.where("geoJsonPoint").withinSphere(circle)); - List<PointLocation> pointLocations = mongoTemplate.find(query, PointLocation.class); - 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 - && t.getStatus() == 1 && t.getIsDelete() == 0 && t.getDataType() == houseResource.getDataType()) - .collect(Collectors.toList()); - List<SearchHouseResourceListRes> list = new ArrayList<>(); - //遍历解析出返回数据 - for (HouseResource resource : collect) { - SearchHouseResourceListRes searchHouseResourceListRes = new SearchHouseResourceListRes(); - searchHouseResourceListRes.setId(resource.getId()); - AppUser appUser = appUserService.selectById(resource.getAppUserId()); - searchHouseResourceListRes.setHouseResource(appUser.getUserType()); - 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()); - searchHouseResourceListRes.setSaleAmount(resource.getSaleAmount().doubleValue()); - searchHouseResourceListRes.setElevator(resource.getElevator()); - searchHouseResourceListRes.setDryingArea(resource.getDryingArea()); - searchHouseResourceListRes.setGarden(resource.getGarden()); - searchHouseResourceListRes.setCarport(resource.getCarport()); - searchHouseResourceListRes.setBalcony(resource.getBalcony()); - searchHouseResourceListRes.setKeepPet(resource.getKeepPet()); - list.add(searchHouseResourceListRes); - } - return list; - } - - } - List<SearchHouseResourceListRes> list = new ArrayList<>(); - return list; - } - - - /** - * 获取联系方式 - * @param id - * @return - */ - @Override - public ContactInformationRes getContactInformation(Integer id) { - HouseResource houseResource = this.selectById(id); - ContactInformationRes contactInformationRes = new ContactInformationRes(); - contactInformationRes.setWatchApp(houseResource.getWatchApp()); - contactInformationRes.setPhone(houseResource.getPhone()); - contactInformationRes.setWechatQrCode(houseResource.getWechatQRCode()); - return contactInformationRes; - } - - @Override - public SearchHouseResourceRes listHouse(HouseQuery query) { - SearchHouseResourceRes res = new SearchHouseResourceRes(); - res.setList(this.baseMapper.listHouse(query)); - res.setTotal(res.getList().size()); - return res; - } - @Override - public ResultUtil addHouse(AddHouseReq req) { - Integer appUserId = appUserService.getAppUser().getId(); - AppUser appUser = appUserService.selectOne(new EntityWrapper<AppUser>() - .eq("id", appUserId) - .eq("status", 1)); - if (appUser!=null){ - if (req.getId()==null){ - if (req.getType()==2){ - if (StringUtils.hasLength(req.getWechatQRCode()))appUser.setWechatQrCode1(req.getWechatQRCode()); - if (StringUtils.hasLength(req.getWatchApp()))appUser.setWatchApp1(req.getWatchApp()); - if (StringUtils.hasLength(req.getPhone()))appUser.setPhone1(req.getPhone()); - appUserService.updateById(appUser); - if (appUser.getAuth()!=2){ - // 未认证 只能能发布三条房源信息 - List<HouseResource> houseResources = this.selectList(new EntityWrapper<HouseResource>() - .eq("app_user_id", appUserId) - .eq("is_delete", 0) - .eq("type", 2) - ); - if (houseResources.size()>=3){ - return ResultUtil.error("未认证中介或认证未通过,只能同时发布3条房源信息"); - } - } - } - } - HouseResource houseResource = new HouseResource(); - houseResource.setPlatform(req.getPlatform()); - BeanUtils.copyProperties(req,houseResource); - houseResource.setType(req.getType()); - houseResource.setInsertTime(new Date()); - houseResource.setGoodHouse(0); - houseResource.setIsDelete(0); - houseResource.setInsertUserId(appUserId); - houseResource.setViewsNumber(0); - houseResource.setUpdateTime(new Date()); - // todo 修改回审核和上下架状态 - houseResource.setStatus(1); - houseResource.setDataType(req.getDataType()); - houseResource.setAuthStatus(1); - houseResource.setLeaseTime(req.getTime()); - houseResource.setAppUserId(appUserId); - houseResource.setFirmHouse(req.getFirmHouse()); - if (StringUtils.hasLength(req.getTime())){ - if (req.getTime().contains("年")){ - houseResource.setRentalDuration(2); - }else{ - houseResource.setRentalDuration(1); - } - } - if (req.getType()==2){ - if (req.getId()==null){ - houseResource.setAuthStatus(2); - this.baseMapper.insert(houseResource); - }else{ - houseResource.setAuthStatus(2); - this.baseMapper.updateById(houseResource); - } - }else{ - if (req.getId()==null){ - houseResource.setAuthStatus(2); - this.baseMapper.insert(houseResource); - }else{ - houseResource.setAuthStatus(2); - this.baseMapper.updateById(houseResource); - } - } - if (req.getType()==2 && req.getId()==null){ - PointLocation pointLocation = new PointLocation(); - GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(req.getLongitude()),Double.valueOf(req.getLatitude())); - pointLocation.setGeoJsonPoint(geoJsonPoint); - pointLocation.setHouseId(houseResource.getId()); - mongoTemplate.insert(pointLocation); - houseResource.setCode(pointLocation.getId()); - houseResource.setAuthStatus(2); - 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; - } - } - } - if (req.getType()==2 && req.getId()!=null){ - HouseResource houseResource1 = this.baseMapper.selectById(req.getId()); - if (!StringUtils.hasLength(houseResource1.getCode())){ - PointLocation pointLocation = new PointLocation(); - GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(req.getLongitude()),Double.valueOf(req.getLatitude())); - pointLocation.setGeoJsonPoint(geoJsonPoint); - pointLocation.setHouseId(req.getId()); - mongoTemplate.insert(pointLocation); - houseResource1.setCode(pointLocation.getId()); - houseResource1.setAuthStatus(2); - this.baseMapper.updateById(houseResource1); - } - Query query = Query.query(Criteria.where("_id").is(houseResource1.getCode())); - PointLocation pointLocation = new PointLocation(); - pointLocation.setId(houseResource1.getCode()); - pointLocation.setHouseId(houseResource.getId()); - GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(req.getLongitude()),Double.valueOf(req.getLatitude())); - pointLocation.setGeoJsonPoint(geoJsonPoint); - org.bson.Document document = (org.bson.Document)mongoTemplate.getConverter() .convertToMongoType(pointLocation); - Update update = Update.fromDocument (document); - UpdateResult updateResult = mongoTemplate.updateFirst(query, update, PointLocation.class); - System.err.println(updateResult.getModifiedCount()); - } - return ResultUtil.success(); - } - return ResultUtil.success(); - } - - @Override - public ResultUtil confirm(Integer userType) { - AppUser appUser = appUserService.getAppUser(); - if (userType==2 && appUser.getUserType()==2){ - - }else{ - appUser.setChangeTime(new Date()); - } - appUser.setUserType(userType); - appUserService.updateById(appUser); - - return ResultUtil.success(); - } - - @Override - public List<CollectListRes> collect(Integer id) { - return this.baseMapper.collect(id); - } - - @Override - public ResultUtil<Integer> getSurplusPushNumber1() { - AppUser appUser = appUserService.getAppUser(); - // 判断这个人是什么身份 - if (appUser.getUserType()==2){ - // 最多只能发布三条房源信息 - int size = this.baseMapper.selectList(new EntityWrapper<HouseResource>() - .eq("app_user_id", appUser.getId()) - .eq("is_delete", 0) - .eq("type",2) - ).size(); - if (3-size<0){ - return ResultUtil.success(0); - } - return ResultUtil.success(3-size); - } - if (appUser.getUserType()==3){ - // 如果是中介 判断他是否认证成功 - if (appUser.getAuth()==2){ - return ResultUtil.success(99999); - }else{ - // 如果是中介但是还未认证 最多只能上架三条 - int size = this.baseMapper.selectList(new EntityWrapper<HouseResource>() - .eq("app_user_id", appUser.getId()) - .eq("is_delete", 0) - .eq("type",2) - ).size(); - if (3-size<0){ - return ResultUtil.success(0); - } - return ResultUtil.success(3-size); - } - } - return ResultUtil.success(0); - } - - - public List<CollectListRes> release(UserInfoQuery query, List<Integer> collect) { - return this.baseMapper.release(query,collect); - } -} -- Gitblit v1.7.1