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/api/HouseResourceController.java |  131 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 120 insertions(+), 11 deletions(-)

diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/HouseResourceController.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/HouseResourceController.java
index e8d7fae..3a6a77c 100644
--- a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/HouseResourceController.java
+++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/HouseResourceController.java
@@ -1,11 +1,20 @@
 package com.stylefeng.guns.modular.api;
 
+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.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
 import com.stylefeng.guns.modular.file.OSSService;
 import com.stylefeng.guns.modular.system.model.AppUser;
 import com.stylefeng.guns.modular.system.model.HouseResource;
 import com.stylefeng.guns.modular.system.model.HouseType;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
+import com.stylefeng.guns.modular.system.util.HttpUtils;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.util.WxAppletTools;
 import com.stylefeng.guns.modular.system.warpper.req.*;
@@ -20,6 +29,7 @@
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
@@ -31,10 +41,8 @@
 import java.security.SecureRandom;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -109,7 +117,75 @@
         HouseResource houseResource = houseResourceService.selectById(id);
         return ResultUtil.success(houseResource.getQrCode());
     }
+    @ResponseBody
+    @GetMapping("/base/houseResource/historyTitle")
+    @ApiOperation(value = "选择之前填入过的标题", tags = {"房源"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
+    })
+    public ResultUtil<List<String>> historyTitle(){
+        Integer id = appUserService.getAppUser().getId();
+        List<String> titles = houseResourceService.selectList(new EntityWrapper<HouseResource>()
+                .eq("app_user_id", id)).stream().filter(t-> StringUtils.hasLength(t.getTitle())).map(HouseResource::getTitle)
+                .collect(Collectors.toList());
+        return ResultUtil.success(titles);
+    }
+    @ResponseBody
+    @GetMapping("/base/houseResource/historyIntroduce")
+    @ApiOperation(value = "选择之前填入过的更多介绍", tags = {"房源"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
+    })
+    public ResultUtil<List<String>> historyIntroduce(){
+        Integer id = appUserService.getAppUser().getId();
+        List<String> titles = houseResourceService.selectList(new EntityWrapper<HouseResource>()
+                .eq("app_user_id", id)).stream().filter(t-> StringUtils.hasLength(t.getMoreIntroduction())).map(HouseResource::getMoreIntroduction)
+                .collect(Collectors.toList());
+        return ResultUtil.success(titles);
+    }
+    @ResponseBody
+    @GetMapping("/base/houseResource/getHouse")
+    @ApiOperation(value = "根据选择的区域 获取附近小区", tags = {"房源"})
+    public ResultUtil<List<String>> getHouse(String cityName){
+        List<String> res = new ArrayList<>();
+        String url = "https://apis.map.qq.com/ws/place/v1/search?boundary=region(香港,0)&keyword="+cityName+"&filter=category=住宅区,别墅,社区,宿舍&page_size=30&page_index=1&key=G52BZ-X5AKH-V2JDQ-WSLRK-7DSMZ-YWFXZ";
+        String s = HttpUtils.sendGet(url);
+        Gson gson = new Gson();
+        JsonObject jsonObject = gson.fromJson(s, JsonObject.class);
+        JsonArray dataArray = jsonObject.getAsJsonArray("data");
+        List<String> titles = new ArrayList<>();
+        for (JsonElement element : dataArray) {
+            JsonObject dataObject = element.getAsJsonObject();
+            String title = dataObject.get("title").getAsString();
+            titles.add(title);
+        }
+        for (String title : titles) {
+            res.add(title);
+        }
+        return ResultUtil.success(res);
+    }
 
+    public static void main(String[] args) {
+        String url = "https://apis.map.qq.com/ws/place/v1/search?boundary=region(香港,0)&keyword=上环/中环/金钟&filter=category=住宅区,别墅,社区,宿舍&page_size=30&page_index=1&key=G52BZ-X5AKH-V2JDQ-WSLRK-7DSMZ-YWFXZ";
+        String s = HttpUtils.sendGet(url);
+        // 使用Gson库解析JSON
+        Gson gson = new Gson();
+        JsonObject jsonObject = gson.fromJson(s, JsonObject.class);
+        JsonArray dataArray = jsonObject.getAsJsonArray("data");
+
+        // 遍历data数组,提取title字段值并放入集合
+        List<String> titles = new ArrayList<>();
+        for (JsonElement element : dataArray) {
+            JsonObject dataObject = element.getAsJsonObject();
+            String title = dataObject.get("title").getAsString();
+            titles.add(title);
+        }
+
+        // 打印集合中的title字段值
+        for (String title : titles) {
+            System.out.println(title);
+        }
+    }
     // todo 放行
     @ResponseBody
     @PostMapping("/base/addHouse/confirm")
@@ -117,7 +193,26 @@
     @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....",
             required = true, paramType = "header")
     public ResultUtil confirm(Integer userType){
+        AppUser appUser = appUserService.getAppUser();
+        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
+            return ResultUtil.errorLogin("当前账号已被冻结或删除");
+        }
         return houseResourceService.confirm(userType);
+    }
+
+    @ResponseBody
+    @PostMapping("/base/addHouse/userInfo")
+    @ApiOperation(value = "发布房源获取当前人的中介认证状态", tags = {"发布"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
+    })
+    public ResultUtil userInfo(){
+        AppUser appUser = appUserService.getAppUser();
+        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
+            return ResultUtil.errorLogin("当前账号已被冻结或删除");
+        }
+        Integer auth = appUserService.getAppUser().getAuth();
+        return ResultUtil.success(appUser);
     }
 
     @ResponseBody
@@ -127,6 +222,10 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
     })
     public ResultUtil addHouse(@RequestBody AddHouseReq req){
+        AppUser appUser = appUserService.getAppUser();
+        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
+            return ResultUtil.errorLogin("当前账号已被冻结或删除");
+        }
         return houseResourceService.addHouse(req);
     }
 
@@ -158,7 +257,6 @@
         return ResultUtil.success(districtHouseResourceNumber);
     }
 
-
     @ResponseBody
     @PostMapping("/base/houseResource/getHouseResourceInfo")
     @ApiOperation(value = "获取房源详情", tags = {"详情"})
@@ -171,7 +269,6 @@
         return ResultUtil.success(houseResourceInfo);
     }
 
-
     @ResponseBody
     @PostMapping("/base/houseResource/collectionHouseResource")
     @ApiOperation(value = "收藏/取消收藏房源操作", tags = {"详情"})
@@ -180,10 +277,12 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
     })
     public ResultUtil collectionHouseResource(Integer id){
+        AppUser appUser = appUserService.getAppUser();
+        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
+            return ResultUtil.errorLogin("当前账号已被冻结或删除");
+        }
         return collectionHouseResourceService.collectionHouseResource(id);
     }
-
-
 
     @ResponseBody
     @GetMapping("/base/houseResource/getNearbyHouseResource")
@@ -195,7 +294,6 @@
         List<SearchHouseResourceListRes> nearbyHouseResource = houseResourceService.getNearbyHouseResource(id);
         return ResultUtil.success(nearbyHouseResource);
     }
-
 
     @ResponseBody
     @GetMapping("/base/houseResource/getContactInformation/{id}")
@@ -212,8 +310,13 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
     })
     public ResultUtil addReportHouseResource(@RequestBody ReportHouseResourceReq req){
+        AppUser appUser = appUserService.getAppUser();
+        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
+            return ResultUtil.errorLogin("当前账号已被冻结或删除");
+        }
         return reportHouseResourceService.addReportHouseResource(req);
     }
+
     @ResponseBody
     @PostMapping("/base/intermediary/list")
     @ApiOperation(value = "找中介", tags = {"服务"})
@@ -221,6 +324,7 @@
         SearchIntermediaryRes res= appUserService.searchIntermediaryList(req);
         return ResultUtil.success(res);
     }
+
     @ResponseBody
     @PostMapping("/base/intermediary/intermediaryInfo")
     @ApiOperation(value = "找中介-中介信息", tags = {"服务"})
@@ -241,6 +345,7 @@
         }
         return ResultUtil.success(res);
     }
+
     @ResponseBody
     @GetMapping("/base/intermediary/getContactInfo/{id}")
     @ApiOperation(value = "获取中介联系方式", tags = {"详情"})
@@ -260,12 +365,16 @@
     }
 
     @ResponseBody
-    @PostMapping("/api/housingDemand/getSurplusPushNumber1")
+    @PostMapping("/base/housingDemand/getSurplusPushNumber1")
     @ApiOperation(value = "获取剩余发布数量", tags = {"房源"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
     })
-    public ResultUtil<Integer> getSurplusPushNumber1(){
+    public ResultUtil getSurplusPushNumber1(){
+        AppUser appUser = appUserService.getAppUser();
+        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
+            return ResultUtil.errorLogin("当前账号已被冻结或删除");
+        }
         return houseResourceService.getSurplusPushNumber1();
     }
 }

--
Gitblit v1.7.1