zhongrj
2024-05-17 5437586ac6cae38b00a69132c4f89f4844ece902
src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -16,22 +16,35 @@
 */
package org.springblade.modules.doorplateAddress.controller;
import cn.hutool.json.JSONUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.common.param.ToObject;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.jackson.JsonUtil;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
import org.springblade.modules.doorplateAddress.wrapper.DoorplateAddressWrapper;
import org.springblade.modules.house.vo.HouseParam;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import sun.rmi.runtime.Log;
import java.util.List;
/*
 * 门牌地址表(总台账数据) 控制器
 *
@@ -45,16 +58,29 @@
public class DoorplateAddressController{
   private final IDoorplateAddressService doorplateAddressService;
   private final BladeLogger bladeLogger;
   /**
    * 门牌地址表(总台账数据) 详情
    */
   @GetMapping("/detail")
   @ApiLog("门牌地址表(总台账数据) 详情")
   @ApiOperationSupport(order = 1)
   @ApiOperation(value = "详情", notes = "传入doorplateAddress")
   public R<DoorplateAddressVO> detail(DoorplateAddressEntity doorplateAddress) {
      bladeLogger.info("门牌地址详情查询", JsonUtil.toJson(doorplateAddress));
      DoorplateAddressEntity detail = doorplateAddressService.getOne(Condition.getQueryWrapper(doorplateAddress));
      return R.data(DoorplateAddressWrapper.build().entityVO(detail));
   }
   /**
    * 门牌地址表(总台账数据) 自定义详情
    */
   @GetMapping("/getDetail")
   @ApiLog("门牌地址表(总台账数据) 自定义详情")
   public R getDetail(DoorplateAddressVO doorplateAddress) {
      bladeLogger.info("门牌地址详情查询", JsonUtil.toJson(doorplateAddress));
      return R.data(doorplateAddressService.getDetail(doorplateAddress));
   }
   /**
@@ -73,6 +99,7 @@
    */
   @GetMapping("/page")
   @ApiOperationSupport(order = 3)
   @ApiLog("门牌地址表(总台账数据) 自定义分页")
   @ApiOperation(value = "分页", notes = "传入doorplateAddress")
   public R<IPage<DoorplateAddressVO>> page(DoorplateAddressVO doorplateAddress, Query query) {
      IPage<DoorplateAddressVO> pages = doorplateAddressService.selectDoorplateAddressPage(Condition.getPage(query), doorplateAddress);
@@ -121,13 +148,155 @@
   /**
    * 根据角色获取功能集合数据
    * @param type 1:查社区  2:查房屋和场所(居民角色)
    * @param roleName
    * @return
    */
   @GetMapping("/getFuncList")
   public R getFuncList(String roleName) {
      return R.data(doorplateAddressService.getFuncList(roleName));
   @ApiLog("根据角色获取功能集合数据")
   public R getFuncList(Integer type,String roleName) {
      bladeLogger.info("根据角色获取功能集合数据", JsonUtil.toJson(ToObject.toMap("type:" + type,"roleName:"+ roleName)));
      return R.data(doorplateAddressService.getFuncList(type,roleName));
   }
   /**
    * 获取楼盘相关集合数据
    * @param houseParam
    * @return
    */
   @GetMapping("/getHousesList")
   @ApiLog("获取楼盘相关集合数据")
   public R getHousesList(HouseParam houseParam) {
      bladeLogger.info("获取楼盘相关集合数据", JsonUtil.toJson(houseParam));
      return R.data(doorplateAddressService.getHousesList(houseParam));
   }
   /**
    * 查询房屋及出租详情信息
    * @param code 门牌地址编号
    * @return
    */
   @GetMapping("/getHouseRentInfo")
   @ApiLog("查询房屋及出租详情信息")
   public R getHouseRentInfo(String code, Long houseId) {
      bladeLogger.info("获取楼盘相关集合数据", JsonUtil.toJson(code));
      return R.data(doorplateAddressService.getHouseRentInfo(code,houseId));
   }
   /**
    * 判断房屋类型
    * @param code 门牌地址编号
    * @return
    */
//   @GetMapping("/getHouseType")
//   @ApiOperation(value = "通过houseCode判断房屋类型")
//   public R getHouseType(String code) {
//      return R.data(doorplateAddressService.getHouseType(code));
//   }
   /**
    * 获取门牌地址树集合信息
    * @param code
    * @param type
    * @return
    */
   @ApiLog("获取门牌地址树集合信息")
   @GetMapping("/getDoorplateAddressList")
   public R<List<DoorplateAddressVOTree>> getDoorplateAddressList(String code, String type){
      List<DoorplateAddressVOTree> list = doorplateAddressService.getDoorplateAddressList(code,type);
      return R.data(list);
   }
   /**
    * 获取房屋树--数据有问题暂时不用2023/11/16
    * @param houseParam
    * @return
    */
   @GetMapping("/getHouseTree")
   public R getHouseTree(HouseParam houseParam){
      return R.data(doorplateAddressService.getHouseTree(houseParam));
   }
   /**
    * 根据参数获取地址详情
    * @return
    */
   @ApiLog("根据参数获取地址详情")
   @GetMapping("/getDoorplateAddressDetail")
   public R getDoorplateAddressDetail(DoorplateAddressVO doorplateAddressVO){
      DoorplateAddressVO detail = doorplateAddressService.getDoorplateAddressDetail(doorplateAddressVO);
      return R.data(detail);
   }
   /**
    * 房屋数据处理
    * @return
    */
   @GetMapping("/houseDataHandle")
   public R dataHandle(String townName){
      return R.data(doorplateAddressService.houseDataHandle(townName));
   }
   /**
    * 小区数据处理
    * @return
    */
   @GetMapping("/aoiDataHandle")
   public R aoiDataHandle(){
      return R.data(doorplateAddressService.aoiDataHandle());
   }
   /**
    * 场所数据处理
    * @return
    */
   @GetMapping("/placeDataHandle")
   public R placeDataHandle(String townName){
      return R.data(doorplateAddressService.placeDataHandle(townName));
   }
   /**
    * 社区数据处理
    * @return
    */
   @GetMapping("/communityDataHandle")
   public R communityDataHandle(){
      return R.data(doorplateAddressService.communityDataHandle());
   }
   /**
    * 网格范围数据处理
    * @return
    */
   @GetMapping("/gridRangeDataHandle")
   public R gridRangeDataHandle(String townName,String communityName){
      return R.data(doorplateAddressService.gridRangeDataHandle(townName,communityName));
   }
   /**
    * 查询场所标准地址数据
    * @param doorplateAddressVO
    * 查询场所标准地址数据
    * @return
    */
   @ApiLog("查询场所标准地址数据")
   @GetMapping("/getPlaceList")
   public R getPlaceList(DoorplateAddressVO doorplateAddressVO,Integer size){
      return R.data(doorplateAddressService.getPlaceList(doorplateAddressVO,size));
   }
   /**
    * 通过小区id 查询楼栋编码
    * @param districtId 门牌地址编号
    * @return
    */
   @GetMapping("/getHouseBuildingCode")
   @ApiLog("通过小区id 查询楼栋编码")
   public R<List<DoorplateAddressVO>> getHouseBuildingCode(String districtId) {
      List<DoorplateAddressVO> houseBuildingCode = doorplateAddressService.getHouseBuildingCode(districtId);
      return R.data(houseBuildingCode);
   }
}