44323
2024-01-10 a1a50ae80ce2b09af00a6a2972195b3f5617d4bf
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
package com.stylefeng.guns.modular.api;
 
import com.stylefeng.guns.modular.system.model.AppUser;
import com.stylefeng.guns.modular.system.model.HouseResource;
import com.stylefeng.guns.modular.system.model.HousingDemand;
import com.stylefeng.guns.modular.system.service.IAppUserService;
import com.stylefeng.guns.modular.system.service.ICollectionHousingDemandService;
import com.stylefeng.guns.modular.system.service.IHousingDemandService;
import com.stylefeng.guns.modular.system.service.IReportHousingDemandService;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.warpper.req.AddHouseReq;
import com.stylefeng.guns.modular.system.warpper.req.HousingDemandReq;
import com.stylefeng.guns.modular.system.warpper.req.ReportHousingDemandReq;
import com.stylefeng.guns.modular.system.warpper.req.SearchHousingDemandReq;
import com.stylefeng.guns.modular.system.warpper.res.ContactInformationRes;
import com.stylefeng.guns.modular.system.warpper.res.HousingDemandInfoRes;
import com.stylefeng.guns.modular.system.warpper.res.SearchHousingDemandRes;
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/20 17:00
 */
@RestController
@RequestMapping("")
public class HousingDemandController {
 
    @Autowired
    private IHousingDemandService housingDemandService;
    @Autowired
    private IReportHousingDemandService reportHousingDemandService;
    @Autowired
    private ICollectionHousingDemandService collectionHousingDemandService;
    @Autowired
    private IAppUserService appUserService;
 
 
    @ResponseBody
    @GetMapping("/base/houseDemand/qrCode/{id}")
    @ApiOperation(value = "海报二维码", tags = {"求房源"})
    public ResultUtil<String> poster(@PathVariable("id") Integer id){
        HousingDemand houseResource = housingDemandService.selectById(id);
        return ResultUtil.success(houseResource.getQrCode());
    }
    @ResponseBody
    @PostMapping("/base/housingDemand/addHousingDemand")
    @ApiOperation(value = "添加房源", tags = {"求房源"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
 
    public ResultUtil addHousingDemand(@RequestBody HousingDemandReq req){
        AppUser appUser = appUserService.getAppUser();
        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
            return ResultUtil.errorLogin("当前账号已被冻结或删除");
        }
        return housingDemandService.addHousingDemand(req);
    }
 
    @ResponseBody
    @GetMapping("/base/housingDemand/searchHousingDemand")
    @ApiOperation(value = "求房源列表", tags = {"求房源"})
    public ResultUtil<SearchHousingDemandRes> searchHousingDemand(SearchHousingDemandReq req){
        SearchHousingDemandRes searchHousingDemandRes = housingDemandService.searchHousingDemand(req);
        return ResultUtil.success(searchHousingDemandRes);
    }
 
    @ResponseBody
    @PostMapping("/base/housingDemand/housingDemandInfo")
    @ApiOperation(value = "获取求房源详情", tags = {"求房源"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "数据id", required = true),
//            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil<HousingDemandInfoRes> housingDemandInfo(Integer id){
//        AppUser appUser = appUserService.getAppUser();
//        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
//            return ResultUtil.errorLogin("当前账号已被冻结或删除");
//        }
        HousingDemandInfoRes housingDemandInfoRes = housingDemandService.housingDemandInfo(id);
        return ResultUtil.success(housingDemandInfoRes);
    }
 
    @ResponseBody
    @PostMapping("/base/housingDemand/addReportHousingDemand")
    @ApiOperation(value = "添加举报数据", tags = {"求房源"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil addReportHousingDemand(ReportHousingDemandReq req){
        AppUser appUser = appUserService.getAppUser();
        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
            return ResultUtil.errorLogin("当前账号已被冻结或删除");
        }
        return reportHousingDemandService.addReportHousingDemand(req);
    }
 
    @ResponseBody
    @PostMapping("/base/housingDemand/collectionHousingDemand")
    @ApiOperation(value = "收藏/取消收藏房源操作", tags = {"求房源"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil collectionHousingDemand(Integer id){
        AppUser appUser = appUserService.getAppUser();
        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
            return ResultUtil.errorLogin("当前账号已被冻结或删除");
        }
        return collectionHousingDemandService.collectionHousingDemand(id);
    }
 
    @ResponseBody
    @GetMapping("/base/housingDemand/getContactInformation/{id}")
    @ApiOperation(value = "获取联系方式", tags = {"求房源"})
    public ResultUtil<ContactInformationRes> getContactInformation(@PathVariable("id") Integer id){
        ContactInformationRes contactInformation = housingDemandService.getContactInformation(id);
        return ResultUtil.success(contactInformation);
    }
 
    @ResponseBody
    @PostMapping("/base/housingDemand/getSurplusPushNumber")
    @ApiOperation(value = "获取剩余发布数量", tags = {"求房源"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
    })
    public ResultUtil<Integer> getSurplusPushNumber(){
        AppUser appUser = appUserService.getAppUser();
        if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){
            return ResultUtil.errorLogin("当前账号已被冻结或删除");
        }
        return housingDemandService.getSurplusPushNumber();
    }
}