From f46687ac5de2f79a277efba1f3c1f9e224cbf623 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 30 一月 2024 16:43:05 +0800
Subject: [PATCH] 修改附近方圆报错

---
 guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HousingDemandServiceImpl.java |  435 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 377 insertions(+), 58 deletions(-)

diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HousingDemandServiceImpl.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HousingDemandServiceImpl.java
index 94ccf05..a0205b8 100644
--- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HousingDemandServiceImpl.java
+++ b/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/housingDetails");
+                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);
     }
 }

--
Gitblit v1.7.1