linwei
2024-01-08 ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7
src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -16,25 +16,40 @@
 */
package org.springblade.modules.house.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
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.core.secure.BladeUser;
import org.apache.logging.log4j.util.Strings;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.entity.UserHouseLabelEntity;
import org.springblade.modules.house.excel.HouseHoldExcel;
import org.springblade.modules.house.excel.HouseHoldImporter;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.service.IUserHouseLabelService;
import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.house.wrapper.HouseholdWrapper;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List;
/**
 * 住户 控制器
@@ -60,6 +75,17 @@
      HouseholdEntity detail = householdService.getOne(Condition.getQueryWrapper(household));
      return R.data(HouseholdWrapper.build().entityVO(detail));
   }
   /**
    * 住户 自定义查询详情
    * @param household
    * @return
    */
   @GetMapping("/getDetail")
   @ApiOperation(value = "详情", notes = "传入household")
   public R getDetail(HouseholdEntity household) {
      return R.data(householdService.getDetail(household));
   }
   /**
    * 住户 分页
    */
@@ -80,6 +106,17 @@
   public R<IPage<HouseholdVO>> page(HouseholdVO household, Query query) {
      IPage<HouseholdVO> pages = householdService.selectHouseholdPage(Condition.getPage(query), household);
      return R.data(pages);
   }
   /**
    * 住户列表查询
    * @param household
    * @return
    */
   @GetMapping("/selectHouseholdList")
   public R selectHouseholdList(HouseholdVO household) {
      return R.data(householdService.selectHouseholdList(household));
   }
   /**
@@ -113,14 +150,108 @@
   }
   /**
    * 住户 自定义新增或修改
    * @param household
    * @return
    */
   @PostMapping("/saveOrUpdateHousehold")
   @ApiOperation(value = "自定义新增或修改", notes = "传入household")
   public R saveOrUpdateHousehold(@Valid @RequestBody HouseholdVO household) {
      return R.status(householdService.saveOrUpdateHousehold(household));
   }
   /**
    * 住户 删除
    */
   @PostMapping("/remove")
   @ApiOperationSupport(order = 7)
   @ApiOperation(value = "逻辑删除", notes = "传入ids")
   @Transactional(rollbackFor = Exception.class)
   public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
      return R.status(householdService.removeByIds(Func.toLongList(ids)));
      // 返回
      return R.status(householdService.removeHousehold(ids));
   }
   /**
    * 住户审核统计
    */
   @PostMapping("/statistics")
   @ApiOperationSupport(order = 7)
   @ApiOperation(value = "住户审核统计", notes = "网格员调用")
   public R getStatistics() {
      return R.data(householdService.statistics(AuthUtil.getUserId(), ""));
   }
   /**
    * 导入用户
    */
   @PostMapping("import-household")
   @ApiOperationSupport(order = 12)
   @ApiOperation(value = "导入住户", notes = "传入excel")
   public R importUser(MultipartFile file, Integer isCovered) {
      HouseHoldImporter houseHoldImporter = new HouseHoldImporter(householdService, isCovered == 1);
      ExcelUtil.save(file, houseHoldImporter, HouseHoldExcel.class);
      return R.success("操作成功");
   }
   /**
    * 导出用户
    */
   @GetMapping("export-household")
   @ApiOperationSupport(order = 13)
   @ApiOperation(value = "导出住户", notes = "传入user")
   public void exportUser(HouseholdVO household, HttpServletResponse response) {
      List<HouseHoldExcel> list = householdService.export(household);
      ExcelUtil.export(response, "住户户数据" + DateUtil.time(), "住户数据表", list, HouseHoldExcel.class);
   }
   /**
    * 住户对应物业,网格,公安负责人查询
    * @param household
    * @return
    */
   @GetMapping("/getHouseholdOtherInfo")
   @ApiOperationSupport(order = 14)
   @ApiOperation(value = "住户对应物业,网格,公安负责人查询", notes = "住户对应物业,网格,公安负责人查询")
   public R getHouseholdOtherInfo(HouseholdVO household) {
      return R.data(householdService.getHouseholdOtherInfo(household));
   }
   /**
    * 用户信息统计
    * @param code
    * @param roleType
    * @return
    */
   @GetMapping("/getHouseHoldStatistics")
   @ApiOperationSupport(order = 14)
   @ApiOperation(value = "用户信息统计", notes = " ")
   public R getHouseHoldStatistics(@RequestParam("code") String code, @RequestParam("roleType") String roleType) {
      return R.data(householdService.getHouseHoldStatistics(code,roleType));
   }
   /**
    * 住户业主信息处理,将业主人员插入到用户表
    * @return
    */
   @GetMapping("/userHandle")
   public R userHandle() {
      return R.data(householdService.userHandle());
   }
   /**
    * 获取所有住户
    * @return
    */
   @GetMapping("/getAllHouseHold")
   public R getAllHouseHold(HouseholdVO household) {
      return R.data(householdService.getAllHouseHold(household));
   }
}