From 23c4967b4cb8dbce8277f830f7152d315c5a4a57 Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期一, 25 十二月 2023 09:25:17 +0800
Subject: [PATCH] 12.25

---
 guns-admin/src/main/java/com/stylefeng/guns/modular/api/HouseResourceController.java |  134 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 123 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 631d412..e8d7fae 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,17 +1,40 @@
 package com.stylefeng.guns.modular.api;
 
+import com.alipay.api.internal.util.codec.Base64;
+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.ResultUtil;
+import com.stylefeng.guns.modular.system.util.WxAppletTools;
 import com.stylefeng.guns.modular.system.warpper.req.*;
 import com.stylefeng.guns.modular.system.warpper.res.*;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.http.entity.ContentType;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.*;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+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;
 
 /**
  * @author zhibing.pu
@@ -31,6 +54,61 @@
     private IReportHouseResourceService reportHouseResourceService;
     @Autowired
     private IAppUserService appUserService;
+    @Autowired
+    private WxAppletTools wxAppletTools;
+    @Autowired
+    private RestTemplate restTemplate;
+    @Autowired
+    private OSSService ossService;
+    @Value("${wx.appletsAppid}")
+    private String wxAppletsAppid;
+
+    @Value("${wx.appletsAppSecret}")
+    private String wxAppletsAppSecret;
+
+
+    /**
+     * 生成小程序码地址
+     */
+    public static final String CREATE_CODE_URL = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN";
+    // 生成小程序码
+    private String generateMiniProgramCode(String apiUrl, String pagePath, String outputFilePath) throws IOException {
+        URL url = new URL(apiUrl);
+        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+
+        // 设置请求方法
+        connection.setRequestMethod("POST");
+        connection.setDoOutput(true);
+
+        // 构建请求参数
+        String params = "path=" + URLEncoder.encode(pagePath, "UTF-8");
+
+        // 获取输出流
+        try (OutputStream outputStream = connection.getOutputStream()) {
+            outputStream.write(params.getBytes());
+        }
+
+        // 获取输入流
+        try (InputStream inputStream = connection.getInputStream();
+             FileOutputStream outputStream = new FileOutputStream(outputFilePath)) {
+            // 将返回的图片数据写入文件
+            byte[] buffer = new byte[1024];
+            int bytesRead;
+            while ((bytesRead = inputStream.read(buffer)) != -1) {
+                outputStream.write(buffer, 0, bytesRead);
+            }
+            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buffer);
+            MultipartFile file = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), byteArrayInputStream);
+            return ossService.uploadFile(file);
+        }
+    }
+    @ResponseBody
+    @GetMapping("/base/houseResource/qrCode/{id}")
+    @ApiOperation(value = "海报二维码", tags = {"房源"})
+    public ResultUtil<String> poster(@PathVariable("id") Integer id){
+        HouseResource houseResource = houseResourceService.selectById(id);
+        return ResultUtil.success(houseResource.getQrCode());
+    }
 
     // todo 放行
     @ResponseBody
@@ -38,10 +116,10 @@
     @ApiOperation(value = "中介身份提示", tags = {"发布"})
     @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....",
             required = true, paramType = "header")
-    public ResultUtil confirm(@RequestBody Integer userType){
+    public ResultUtil confirm(Integer userType){
         return houseResourceService.confirm(userType);
     }
-    // todo 放行
+
     @ResponseBody
     @PostMapping("/base/addHouse/add")
     @ApiOperation(value = "发布房源", tags = {"发布"})
@@ -95,7 +173,7 @@
 
 
     @ResponseBody
-    @PostMapping("/api/houseResource/collectionHouseResource")
+    @PostMapping("/base/houseResource/collectionHouseResource")
     @ApiOperation(value = "收藏/取消收藏房源操作", tags = {"详情"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "房源id", required = true),
@@ -120,21 +198,19 @@
 
 
     @ResponseBody
-    @GetMapping("/base/houseResource/getContactInformation")
+    @GetMapping("/base/houseResource/getContactInformation/{id}")
     @ApiOperation(value = "获取联系方式", tags = {"详情"})
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "房源id", required = true),
-    })
-    public ResultUtil<ContactInformationRes> getContactInformation(Integer id){
+    public ResultUtil<ContactInformationRes> getContactInformation(@PathVariable("id") Integer id){
         ContactInformationRes contactInformation = houseResourceService.getContactInformation(id);
         return ResultUtil.success(contactInformation);
     }
 
-
-
     @ResponseBody
-    @PostMapping("/api/houseResource/addReportHouseResource")
+    @PostMapping("/base/houseResource/addReportHouseResource")
     @ApiOperation(value = "添加房源举报", tags = {"详情"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
+    })
     public ResultUtil addReportHouseResource(@RequestBody ReportHouseResourceReq req){
         return reportHouseResourceService.addReportHouseResource(req);
     }
@@ -144,6 +220,33 @@
     public ResultUtil<SearchIntermediaryRes> searchIntermediaryList(@RequestBody SearchIntermediaryReq req){
         SearchIntermediaryRes res= appUserService.searchIntermediaryList(req);
         return ResultUtil.success(res);
+    }
+    @ResponseBody
+    @PostMapping("/base/intermediary/intermediaryInfo")
+    @ApiOperation(value = "找中介-中介信息", tags = {"服务"})
+    public ResultUtil<SearchIntermediaryListRes> searchIntermediaryInfo(Integer id){
+        SearchIntermediaryListRes res= appUserService.searchIntermediaryInfo(id);
+        if (res==null){
+            SearchIntermediaryListRes searchIntermediaryListRes = new SearchIntermediaryListRes();
+            AppUser appUser = appUserService.selectById(id);
+            searchIntermediaryListRes.setId(id);
+            searchIntermediaryListRes.setNickname(appUser.getNickname());
+            searchIntermediaryListRes.setCompanyName(appUser.getCompanyName());
+            searchIntermediaryListRes.setCompanyAddress(appUser.getCompanyAddress());
+            searchIntermediaryListRes.setIntroduce(appUser.getIntroduce());
+            searchIntermediaryListRes.setProfilePhoto(appUser.getProfilePhoto());
+            searchIntermediaryListRes.setPhone(appUser.getPhone());
+            searchIntermediaryListRes.setHouseCount(0);
+            return ResultUtil.success(searchIntermediaryListRes);
+        }
+        return ResultUtil.success(res);
+    }
+    @ResponseBody
+    @GetMapping("/base/intermediary/getContactInfo/{id}")
+    @ApiOperation(value = "获取中介联系方式", tags = {"详情"})
+    public ResultUtil<AppUser> getContactInfo(@PathVariable("id") Integer id){
+        AppUser appUser = appUserService.selectById(id);
+        return ResultUtil.success(appUser);
     }
     @ResponseBody
     @PostMapping("/base/intermediary/listHouse")
@@ -156,4 +259,13 @@
         return ResultUtil.success(res);
     }
 
+    @ResponseBody
+    @PostMapping("/api/housingDemand/getSurplusPushNumber1")
+    @ApiOperation(value = "获取剩余发布数量", tags = {"房源"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
+    })
+    public ResultUtil<Integer> getSurplusPushNumber1(){
+        return houseResourceService.getSurplusPushNumber1();
+    }
 }

--
Gitblit v1.7.1