44323
2024-01-16 f45b80c5f8836bfb16b6cfff7df29aec631131ed
guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HousingDemandServiceImpl.java
@@ -3,14 +3,17 @@
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.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.file.OSSService;
import com.stylefeng.guns.modular.system.dao.HousingDemandMapper;
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.UUIDUtil;
import com.stylefeng.guns.modular.system.util.WxAppletTools;
import com.stylefeng.guns.modular.system.warpper.req.HousingDemandReq;
import com.stylefeng.guns.modular.system.warpper.req.SearchHousingDemandReq;
import com.stylefeng.guns.modular.system.warpper.res.ContactInformationRes;
@@ -19,14 +22,23 @@
import com.stylefeng.guns.modular.system.warpper.res.SearchHousingDemandRes;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -46,8 +58,12 @@
    @Autowired
    private ICollectionHousingDemandService collectionHousingDemandService;
    @Autowired
    private WxAppletTools wxAppletTools;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private OSSService ossService;
    /**
     * 添加房源需求
@@ -59,8 +75,14 @@
        if(null == appUser){
            return ResultUtil.tokenErr();
        }
        String s=null;
        if (StringUtils.hasLength(req.getDistrict())){
            s = req.getDistrict().replaceAll("\"", "");
        }
        HousingDemand housingDemand = new HousingDemand();
        housingDemand.setType(req.getType());
        BeanUtils.copyProperties(req, housingDemand);
        housingDemand.setDistrict(s);
        try {
            housingDemand.setCode(UUIDUtil.getRandomCode(8));
        } catch (Exception e) {
@@ -69,7 +91,84 @@
        housingDemand.setIsDelete(0);
        housingDemand.setInsertTime(new Date());
        housingDemand.setInsertUserId(appUser.getId());
        this.insert(housingDemand);
        housingDemand.setAppUserId(appUser.getId());
        housingDemand.setStatus(1);
        housingDemand.setUpdateTime(new Date());
        if (StringUtils.hasLength(req.getSaleAmount())&&req.getSaleAmount().equals("2000")){
            housingDemand.setSaleAmount("2000-99999999");
        }
        if (StringUtils.hasLength(req.getSaleAmount())&&req.getSaleAmount().equals("500")){
            housingDemand.setSaleAmount("0-500");
        }
        if (req.getType()==2){
            this.insertOrUpdate(housingDemand);
        }else{
            this.insertOrUpdate(housingDemand);
        }
        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);
            InputStream inputStream = null;
            OutputStream outputStream = null;
            String accessToken = wxAppletTools.getAccessToken();
            try {
                String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + accessToken;
                Map<String, Object> param = new HashMap<>();
                param.put("scene","id="+housingDemand.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
                ossService.uploadFile2OSS(inputStream, objectName);
                //获取文件的URl地址
                String imgUrl = ossService.getImgUrl(objectName);
                housingDemand.setQrCode(imgUrl);
                this.baseMapper.updateById(housingDemand);
                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;
                }
            }
        }
        List<HousingDemandDistrict> list = new ArrayList<>();
        if(ToolUtil.isNotEmpty(req.getDistrict())){
            JSONArray jsonArray = JSON.parseArray(req.getDistrict());
@@ -91,9 +190,9 @@
        if(list.size() > 0){
            housingDemandDistrictService.insertBatch(list);
        }
        return ResultUtil.success();
    }
    /**
     * 搜索求房源列表数据
@@ -102,31 +201,37 @@
     */
    @Override
    public SearchHousingDemandRes searchHousingDemand(SearchHousingDemandReq req) {
        req.setPageNum(req.getPageNum() - 1 * req.getPageSize());
        //区域
        List<String> district = null;
        if(StringUtils.hasLength(req.getDistrict())){
            district = 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(null == districtId){
                    districtId = 0;
        req.setPageNum((req.getPageNum() - 1) * req.getPageSize());
        //区域一级
        List<Integer> districtIds = new ArrayList<>();
        // 二级
        List<Integer> areaIds = new ArrayList<>();
        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) {
                    areaIds.add(Integer.valueOf(s));
                }
                district.add("cityId:" + cityId + ",districtId:" + districtId);
            }
        }
        //价格范围
        Double saleAmountStart = null;
        Double saleAmountEnd = null;
        if(StringUtils.hasLength(req.getSaleAmount())){
            String[] split = req.getSaleAmount().split("-");
            saleAmountStart = Double.valueOf(split[0]);
            saleAmountEnd = Double.valueOf(split[1]);
            if (req.getSaleAmount().contains("以上")){
                saleAmountEnd =2001.0;
                saleAmountStart = 2000.0;
            }else if (req.getSaleAmount().contains("以下")){
                saleAmountEnd =500.0;
                saleAmountStart = 0.0;
            }else{
                String[] split = req.getSaleAmount().split("-");
                saleAmountStart = Double.valueOf(split[0]);
                saleAmountEnd = Double.valueOf(split[1]);
            }
        }
        //户型
        List<String> houseModels = null;
@@ -142,11 +247,155 @@
            for (String s : split) {
                houseTypeIds.add(Integer.valueOf(s));
            }
            houseTypeIds.add(0);
        }
        SearchHousingDemandRes searchHouseResource = new SearchHousingDemandRes();
        List<SearchHousingDemandListRes> searchHouseResourceListRes = this.baseMapper.searchHousingDemand
                (req, districtIds,areaIds, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds);
        for (SearchHousingDemandListRes searchHouseResourceListRe : searchHouseResourceListRes) {
            // 获取到房源区域id集合
            List<HousingDemandDistrict> list1 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId())
            ).stream().filter(t -> t.getCityId() == 1).collect(Collectors.toList());
            List<HousingDemandDistrict> list2 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId())
            ).stream().filter(t -> t.getCityId() == 2).collect(Collectors.toList());
            List<HousingDemandDistrict> list3 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId())
            ).stream().filter(t -> t.getCityId() == 3).collect(Collectors.toList());
            List<String> dis = new ArrayList<>();
            StringBuilder s1 = new StringBuilder("香港岛>");
            StringBuilder s2 = new StringBuilder("九龙>");
            StringBuilder s3 = new StringBuilder("新界>");
            for (HousingDemandDistrict housingDemandDistrict : list1) {
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                s1.append((null == region1 ? "不限" : region1.getName())+"/");
            }
            for (HousingDemandDistrict housingDemandDistrict : list2) {
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                s2.append((null == region1 ? "不限" : region1.getName())+"/");
            }
            for (HousingDemandDistrict housingDemandDistrict : list3) {
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                s3.append((null == region1 ? "不限" : region1.getName())+"/");
            }
            String string1 = s1.toString();
            String string2 = s2.toString();
            String string3 = s3.toString();
            String substring1=string1;
            String substring2=string2;
            String substring3=string3;
            if (string1.endsWith("/")){
                substring1 = string1.substring(0, string1.length() - 1);
            }
            if (string2.endsWith("/")){
                substring2 = string2.substring(0, string2.length() - 1);
            }
            if (string3.endsWith("/")){
                substring3 = string3.substring(0, string3.length() - 1);
            }
            if (!substring1.equals("香港岛>")){
                dis.add(substring1);
            }
            if (!substring2.equals("九龙>")){
                dis.add(substring2);
            }
            if (!substring3.equals("新界>")){
                dis.add(substring3);
            }
            //城市不限用空判断
            searchHouseResourceListRe.setAddress(dis.size() == 0 ? null : dis);
        }
        List<SearchHousingDemandListRes> collect = new ArrayList<>();
        if (StringUtils.hasLength(req.getRentalDuration())){
            if (req.getRentalDuration().equals("2")){
                collect = searchHouseResourceListRes.stream().filter(t -> t.getRentalDuration()!=null && t.getRentalDuration()>= 12)
                        .collect(Collectors.toList());
            }else if (req.getRentalDuration().equals("1")){
                collect = searchHouseResourceListRes.stream().filter(t ->t.getRentalDuration()!=null && t.getRentalDuration() < 12)
                        .collect(Collectors.toList());
            }
            searchHouseResource.setList(collect);
            searchHouseResource.setTotal(collect.size());
        }else{
            searchHouseResource.setList(searchHouseResourceListRes);
            searchHouseResource.setTotal(searchHouseResourceListRes.size());
        }
        return searchHouseResource;
    }
    /**
     * 搜索求房源列表数据
     * @return
     */
    @Override
    public SearchHousingDemandRes searchHousingDemand1(Integer id) {
        SearchHousingDemandRes searchHouseResource = new SearchHousingDemandRes();
        List<SearchHousingDemandListRes> searchHouseResourceListRes = this.baseMapper.searchHousingDemand(req, district, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds);
        List<SearchHousingDemandListRes> searchHouseResourceListRes = this.baseMapper.searchHousingDemand1(id);
        for (SearchHousingDemandListRes searchHouseResourceListRe : searchHouseResourceListRes) {
            // 获取到房源区域id集合
            List<HousingDemandDistrict> list1 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId())
            ).stream().filter(t -> t.getCityId() == 1).collect(Collectors.toList());
            List<HousingDemandDistrict> list2 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId())
            ).stream().filter(t -> t.getCityId() == 2).collect(Collectors.toList());
            List<HousingDemandDistrict> list3 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId())
            ).stream().filter(t -> t.getCityId() == 3).collect(Collectors.toList());
            List<String> dis = new ArrayList<>();
            StringBuilder s1 = new StringBuilder("香港岛>");
            StringBuilder s2 = new StringBuilder("九龙>");
            StringBuilder s3 = new StringBuilder("新界>");
            for (HousingDemandDistrict housingDemandDistrict : list1) {
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                s1.append((null == region1 ? "不限" : region1.getName())+"/");
            }
            for (HousingDemandDistrict housingDemandDistrict : list2) {
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                s2.append((null == region1 ? "不限" : region1.getName())+"/");
            }
            for (HousingDemandDistrict housingDemandDistrict : list3) {
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                s3.append((null == region1 ? "不限" : region1.getName())+"/");
            }
            String string1 = s1.toString();
            String string2 = s2.toString();
            String string3 = s3.toString();
            String substring1=string1;
            String substring2=string2;
            String substring3=string3;
            if (string1.endsWith("/")){
                substring1 = string1.substring(0, string1.length() - 1);
            }
            if (string2.endsWith("/")){
                substring2 = string2.substring(0, string2.length() - 1);
            }
            if (string3.endsWith("/")){
                substring3 = string3.substring(0, string3.length() - 1);
            }
            if (!substring1.equals("香港岛>")){
                dis.add(substring1);
            }
            if (!substring2.equals("九龙>")){
                dis.add(substring2);
            }
            if (!substring3.equals("新界>")){
                dis.add(substring3);
            }
            //城市不限用空判断
            searchHouseResourceListRe.setAddress(dis.size() == 0 ? null : dis);
        }
        searchHouseResource.setList(searchHouseResourceListRes);
        searchHouseResource.setTotal(searchHouseResourceListRes.size());
        return searchHouseResource;
    }
    @Override
    public SearchHousingDemandRes searchHousingDemand2(List<Integer> id) {
        SearchHousingDemandRes searchHouseResource = new SearchHousingDemandRes();
        List<SearchHousingDemandListRes> searchHouseResourceListRes = this.baseMapper.searchHousingDemand2(id);
        for (SearchHousingDemandListRes searchHouseResourceListRe : searchHouseResourceListRes) {
            List<HousingDemandDistrict> list = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                    .eq("housing_demand_id", searchHouseResourceListRe.getId()));
@@ -155,20 +404,16 @@
                Region region = regionService.selectById(housingDemandDistrict.getCityId());
                Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
                dis.add(region.getName() + ">" + (null == region1 ? "不限" : region1.getName()));
            }
            //城市不限用空判断
            searchHouseResourceListRe.setAddress(dis.size() == 0 ? null : dis);
        }
        searchHouseResource.setList(searchHouseResourceListRes);
        Integer integer = this.baseMapper.searchHousingDemandCount(req, district, saleAmountStart, saleAmountEnd, houseModels, houseTypeIds);
        searchHouseResource.setTotal(integer);
        searchHouseResource.setTotal(searchHouseResourceListRes.size());
        return searchHouseResource;
    }
    /**
     * 获取求房源详情
     * 求房源详情
     * @param id
     * @return
     */
@@ -177,33 +422,96 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        HousingDemand housingDemand = this.selectById(id);
        HousingDemandInfoRes housingDemandInfoRes = new HousingDemandInfoRes();
        AppUser appUser = appUserService.getAppUser();
//        AppUser appUser = appUserService.getAppUser();
        housingDemandInfoRes.setId(id);
        housingDemandInfoRes.setDataType(housingDemand.getDataType());
        housingDemandInfoRes.setQrCode(housingDemand.getQrCode());
        housingDemandInfoRes.setTitle(housingDemand.getTitle());
        housingDemandInfoRes.setSaleAmount(housingDemand.getSaleAmount());
        housingDemandInfoRes.setHouseModel(housingDemand.getHouseModel());
        housingDemandInfoRes.setRentalDuration(housingDemand.getRentalDuration());
        housingDemandInfoRes.setSaleDate(housingDemand.getSaleDate());
        String[] split = housingDemand.getHouseTypeId().split(",");
        String houseType = "";
        for (String s : split) {
            HouseType htype = houseTypeService.selectById(s);
            houseType += htype.getName() + " / ";
        if (StringUtils.hasLength(housingDemand.getHouseTypeId())){
            if (housingDemand.getHouseTypeId().equals("0")){
                housingDemandInfoRes.setHouseType("不限");
            }else{
                String[] split = housingDemand.getHouseTypeId().split(",");
                String houseType = "";
                for (String s : split) {
                    HouseType htype = houseTypeService.selectById(s);
                    if (htype!=null)houseType += htype.getName() + " / ";
                }
                if (StringUtils.hasLength(houseType))housingDemandInfoRes.setHouseType(houseType.substring(0, houseType.lastIndexOf("/")));
            }
        }
        housingDemandInfoRes.setHouseType(houseType.substring(0, houseType.lastIndexOf("/")));
        housingDemandInfoRes.setFloor(housingDemand.getFloor());
        housingDemandInfoRes.setElevator(housingDemand.getElevator());
        housingDemandInfoRes.setDryingArea(housingDemand.getDryingArea());
        StringBuilder stringBuilder = new StringBuilder("");
        if (housingDemand.getBalcony()==1 && housingDemand.getAir()==1 && housingDemand.getDryingArea()==1){
            stringBuilder.append("不限");
        }else{
            if (housingDemand.getBalcony()!=null && housingDemand.getBalcony() == 1){
                stringBuilder.append("阳台");
            }
            if (housingDemand.getDryingArea()!=null && housingDemand.getDryingArea() == 1){
                stringBuilder.append("| 天台");
            }
            if (housingDemand.getAir()!=null && housingDemand.getAir() == 1){
                stringBuilder.append("| 无");
            }
        }
        housingDemandInfoRes.setDryingArea(stringBuilder.toString());
        housingDemandInfoRes.setHouseArea(housingDemand.getHouseArea());
        housingDemandInfoRes.setKeepPet(housingDemand.getKeepPet());
        List<HousingDemandDistrict> list = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                .eq("housing_demand_id", id));
        // 获取到房源区域id集合
        List<HousingDemandDistrict> list1 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                .eq("housing_demand_id", id)
        ).stream().filter(t -> t.getCityId() == 1).collect(Collectors.toList());
        List<HousingDemandDistrict> list2 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                .eq("housing_demand_id", id)
        ).stream().filter(t -> t.getCityId() == 2).collect(Collectors.toList());
        List<HousingDemandDistrict> list3 = housingDemandDistrictService.selectList(new EntityWrapper<HousingDemandDistrict>()
                .eq("housing_demand_id", id)
        ).stream().filter(t -> t.getCityId() == 3).collect(Collectors.toList());
        List<String> dis = new ArrayList<>();
        for (HousingDemandDistrict housingDemandDistrict : list) {
            Region region = regionService.selectById(housingDemandDistrict.getCityId());
        StringBuilder s1 = new StringBuilder("香港岛>");
        StringBuilder s2 = new StringBuilder("九龙>");
        StringBuilder s3 = new StringBuilder("新界>");
        for (HousingDemandDistrict housingDemandDistrict : list1) {
            Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
            dis.add(region.getName() + ">" + (null == region1 ? "不限" : region1.getName()));
            s1.append((null == region1 ? "不限" : region1.getName())+"/");
        }
        for (HousingDemandDistrict housingDemandDistrict : list2) {
            Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
            s2.append((null == region1 ? "不限" : region1.getName())+"/");
        }
        for (HousingDemandDistrict housingDemandDistrict : list3) {
            Region region1 = regionService.selectById(housingDemandDistrict.getDistrictId());
            s3.append((null == region1 ? "不限" : region1.getName())+"/");
        }
        String string1 = s1.toString();
        String string2 = s2.toString();
        String string3 = s3.toString();
        String substring1=string1;
        String substring2=string2;
        String substring3=string3;
        if (string1.endsWith("/")){
            substring1 = string1.substring(0, string1.length() - 1);
        }
        if (string2.endsWith("/")){
            substring2 = string2.substring(0, string2.length() - 1);
        }
        if (string3.endsWith("/")){
            substring3 = string3.substring(0, string3.length() - 1);
        }
        if (!substring1.equals("香港岛>")){
            dis.add(substring1);
        }
        if (!substring2.equals("九龙>")){
            dis.add(substring2);
        }
        if (!substring3.equals("新界>")){
            dis.add(substring3);
        }
        //城市不限用空判断
        housingDemandInfoRes.setAddress(dis.size() == 0 ? null : dis);
@@ -213,17 +521,24 @@
        housingDemandInfoRes.setProfilePhoto(appUser1.getProfilePhoto());
        housingDemandInfoRes.setNickname(appUser1.getNickname());
        housingDemandInfoRes.setInsertTime(sdf.format(housingDemand.getInsertTime()));
        housingDemandInfoRes.setUpdateTime(sdf.format(housingDemand.getUpdateTime()));
        if (housingDemand.getUpdateTime()==null){
            housingDemandInfoRes.setUpdateTime(null);
        }else{
            housingDemandInfoRes.setUpdateTime(sdf.format(housingDemand.getUpdateTime()));
        }
        housingDemandInfoRes.setCode(housingDemand.getCode());
        int collectionTimes = collectionHousingDemandService.selectCount(new EntityWrapper<CollectionHousingDemand>().eq("housing_demand_id", id));
        housingDemandInfoRes.setCollectionTimes(collectionTimes);
        housingDemandInfoRes.setCollection(0);
        if(null != appUser){
            int collection = collectionHousingDemandService.selectCount(new EntityWrapper<CollectionHousingDemand>().eq("housing_demand_id", id).eq("app_user_id", appUser.getId()));
            housingDemandInfoRes.setCollection(0 == collection ? 0 : 1);
        }
//        if(null != appUser){
//            int collection = collectionHousingDemandService
//                    .selectCount(new EntityWrapper<CollectionHousingDemand>()
//                            .eq("housing_demand_id", id)
//                            .eq("app_user_id", appUser.getId()));
//            housingDemandInfoRes.setCollection(0 == collection ? 0 : 1);
//        }
        //添加访问次数记录
        addViewsNumber(housingDemand);
//        addViewsNumber(housingDemand);
        return housingDemandInfoRes;
    }
@@ -246,10 +561,10 @@
    @Override
    public ContactInformationRes getContactInformation(Integer id) {
        HousingDemand houseResource = this.selectById(id);
        AppUser appUser = appUserService.selectById(houseResource.getAppUserId());
        ContactInformationRes contactInformationRes = new ContactInformationRes();
        contactInformationRes.setWhatsApp(appUser.getWatchApp());
        contactInformationRes.setPhone(appUser.getPhone());
        contactInformationRes.setWatchApp(houseResource.getWatchApp());
        contactInformationRes.setPhone(houseResource.getPhone());
        contactInformationRes.setWechatQrCode(houseResource.getWechatQRCode());
        return contactInformationRes;
    }
@@ -263,10 +578,14 @@
        if(null == appUser){
            return ResultUtil.tokenErr();
        }
        int num = this.selectCount(new EntityWrapper<HousingDemand>().eq("is_delete", 0)
        int num = this.selectCount(new EntityWrapper<HousingDemand>()
                .eq("is_delete", 0)
                .eq("app_user_id", appUser.getId())
                .eq("status", 1)
                .eq("type", 2)
        );
        if (appUser.getAuth()==2){
            return ResultUtil.success(99999);
        }
        return ResultUtil.success(appUser.getUserType() != 3 ? (3 - num) : -1);
    }
}