44323
2023-12-04 fd83395529437e0c02b8d69b039fe52d40a4ec62
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
package com.stylefeng.guns.modular.api;
 
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.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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * @author zhibing.pu
 * @Date 2023/11/8 15:10
 */
@RestController
@RequestMapping("")
public class HouseResourceController {
 
    @Autowired
    private IHouseResourceService houseResourceService;
    @Autowired
    private IHouseTypeService houseTypeService;
    @Autowired
    private ICollectionHouseResourceService collectionHouseResourceService;
    @Autowired
    private IReportHouseResourceService reportHouseResourceService;
    @Autowired
    private IAppUserService appUserService;
 
    // todo 放行
    @ResponseBody
    @PostMapping("/base/addHouse/confirm")
    @ApiOperation(value = "中介身份提示", tags = {"发布"})
    @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....",
            required = true, paramType = "header")
    public ResultUtil confirm(@RequestBody Integer userType){
        return houseResourceService.confirm(userType);
    }
    // todo 放行
    @ResponseBody
    @PostMapping("/base/addHouse/add")
    @ApiOperation(value = "发布房源", tags = {"发布"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil addHouse(@RequestBody AddHouseReq req){
        return houseResourceService.addHouse(req);
    }
 
    @ResponseBody
    @GetMapping("/base/houseResource/searchHouseResource")
    @ApiOperation(value = "获取房源列表", tags = {"首页", "地图房源"})
    public ResultUtil<SearchHouseResourceRes> searchHouseResource(SearchHouseResourceReq req){
        SearchHouseResourceRes searchHouseResource = houseResourceService.searchHouseResource(req);
        return ResultUtil.success(searchHouseResource);
    }
 
    @ResponseBody
    @GetMapping("/base/houseType/getHouseType")
    @ApiOperation(value = "获取房源类型", tags = {"首页"})
    public ResultUtil<List<HouseType>> getHouseType(){
        List<HouseType> houseTypes = houseTypeService.selectList(null);
        return ResultUtil.success(houseTypes);
    }
 
    @ResponseBody
    @GetMapping("/base/houseResource/getDistrictHouseResourceNumber")
    @ApiOperation(value = "获取行政区域房源数量", tags = {"地图房源"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "userType", value = "2=个人,3=中介,4=公司盘", required = true),
            @ApiImplicitParam(name = "dataType", value = "1=租房,2=卖房", required = true)
    })
    public ResultUtil<List<DistrictHouseResourceNumberRes>> getDistrictHouseResourceNumber(Integer userType, Integer dataType){
        List<DistrictHouseResourceNumberRes> districtHouseResourceNumber = houseResourceService.getDistrictHouseResourceNumber(userType, dataType);
        return ResultUtil.success(districtHouseResourceNumber);
    }
 
 
    @ResponseBody
    @PostMapping("/base/houseResource/getHouseResourceInfo")
    @ApiOperation(value = "获取房源详情", tags = {"详情"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "房源id", required = true),
//            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = false, paramType = "header")
    })
    public ResultUtil<HouseResourceInfoRes> getHouseResourceInfo(Integer id){
        HouseResourceInfoRes houseResourceInfo = houseResourceService.getHouseResourceInfo(id);
        return ResultUtil.success(houseResourceInfo);
    }
 
 
    @ResponseBody
    @PostMapping("/api/houseResource/collectionHouseResource")
    @ApiOperation(value = "收藏/取消收藏房源操作", tags = {"详情"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "房源id", required = true),
            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil collectionHouseResource(Integer id){
        return collectionHouseResourceService.collectionHouseResource(id);
    }
 
 
 
    @ResponseBody
    @GetMapping("/base/houseResource/getNearbyHouseResource")
    @ApiOperation(value = "获取房源详情中的附近房源", tags = {"详情"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "房源id", required = true),
    })
    public ResultUtil<List<SearchHouseResourceListRes>> getNearbyHouseResource(Integer id){
        List<SearchHouseResourceListRes> nearbyHouseResource = houseResourceService.getNearbyHouseResource(id);
        return ResultUtil.success(nearbyHouseResource);
    }
 
 
    @ResponseBody
    @GetMapping("/base/houseResource/getContactInformation")
    @ApiOperation(value = "获取联系方式", tags = {"详情"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "房源id", required = true),
    })
    public ResultUtil<ContactInformationRes> getContactInformation(Integer id){
        ContactInformationRes contactInformation = houseResourceService.getContactInformation(id);
        return ResultUtil.success(contactInformation);
    }
 
 
 
    @ResponseBody
    @PostMapping("/api/houseResource/addReportHouseResource")
    @ApiOperation(value = "添加房源举报", tags = {"详情"})
    public ResultUtil addReportHouseResource(@RequestBody ReportHouseResourceReq req){
        return reportHouseResourceService.addReportHouseResource(req);
    }
    @ResponseBody
    @PostMapping("/base/intermediary/list")
    @ApiOperation(value = "找中介", tags = {"服务"})
    public ResultUtil<SearchIntermediaryRes> searchIntermediaryList(@RequestBody SearchIntermediaryReq req){
        SearchIntermediaryRes res= appUserService.searchIntermediaryList(req);
        return ResultUtil.success(res);
    }
    @ResponseBody
    @PostMapping("/base/intermediary/listHouse")
    @ApiOperation(value = "个人详情-我的房源", tags = {"服务"})
    @ApiImplicitParams({
//            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil<SearchHouseResourceRes> listHouse(@RequestBody HouseQuery query){
        SearchHouseResourceRes res= houseResourceService.listHouse(query);
        return ResultUtil.success(res);
    }
 
}