无关风月
2024-08-20 9f88b12d16c83963dad8fb8f79d9eeba2c311518
guns-admin/src/main/java/com/stylefeng/guns/modular/api/HouseResourceController.java
@@ -1,131 +0,0 @@
package com.stylefeng.guns.modular.api;
import com.stylefeng.guns.modular.system.model.HouseType;
import com.stylefeng.guns.modular.system.service.ICollectionHouseResourceService;
import com.stylefeng.guns.modular.system.service.IHouseResourceService;
import com.stylefeng.guns.modular.system.service.IHouseTypeService;
import com.stylefeng.guns.modular.system.service.IReportHouseResourceService;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.warpper.req.ReportHouseResourceReq;
import com.stylefeng.guns.modular.system.warpper.req.SearchHouseResourceReq;
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;
    @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(ReportHouseResourceReq req){
        return reportHouseResourceService.addReportHouseResource(req);
    }
}