package com.iden.bms.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.iden.bms.service.WarningStaService; import com.iden.common.annotation.Permission; import com.iden.common.exception.BDException; import com.iden.common.util.PageResult; import com.iden.common.util.Result; import com.iden.common.util.WebPageUtils; import com.iden.common.vo.PageReqVO; import com.iden.common.vo.UserLoginedConvertVO; import com.iden.common.vo.WarningPersonVO; import com.iden.common.vo.WarningStaVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * @Author: lilt * @Date: 2021/5/26 * @Desc: */ @RestController @Api(value = "WarningStaController", tags = { "预警管理" }) @Slf4j @RequestMapping("/bms/warningSta") @Permission public class WarningStaController { @Autowired private WarningStaService warningStaService; @GetMapping("/countCommunity") @ApiOperation(value = "当前小区个数查询") @ApiImplicitParams(value = { @ApiImplicitParam(paramType = "query", name = "type", value = "预警类型,1 陌生人员预警 2重点人员预警 3常住人员预警 4昼伏夜出人员预警"), @ApiImplicitParam(paramType = "query", name = "district", value = "所属区域"), @ApiImplicitParam(paramType = "query", name = "subdistrict", value = "所属街道"), @ApiImplicitParam(paramType = "query", name = "communityName", value = "小区名称"), @ApiImplicitParam(paramType = "query", name = "beginDate", value = "开始时间"), @ApiImplicitParam(paramType = "query", name = "endDate", value = "结束时间") }) public Result countCommunity(HttpServletRequest request, @RequestHeader(value = "token") String token, @RequestParam(value = "type", required = true) String type, @RequestParam(value = "district", required = false) String district, @RequestParam(value = "subdistrict", required = false) String subdistrict, @RequestParam(value = "communityName", required = false) String communityName, @RequestParam(value = "beginDate", required = false) String beginDate, @RequestParam(value = "endDate", required = false) String endDate){ try { UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request); Integer count = this.warningStaService.countCommunity(type,district,subdistrict,communityName,beginDate,endDate,loginUser); return Result.success("查询成功!",count); }catch (BDException e) { log.error("当前小区个数查询-出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("预警管理: 当前小区个数查询出现异常",e); return PageResult.error( "获取数据失败"); } } @GetMapping("/listWarningSta") @ApiOperation(value = "预警统计列表分页 ") @ApiImplicitParams(value = { @ApiImplicitParam(paramType = "query", name = "type", value = "预警类型,1 陌生人员预警 2重点人员预警 3常住人员预警 4昼伏夜出人员预警"), @ApiImplicitParam(paramType = "query", name = "district", value = "所属区域"), @ApiImplicitParam(paramType = "query", name = "subdistrict", value = "所属街道"), @ApiImplicitParam(paramType = "query", name = "communityName", value = "小区名称"), @ApiImplicitParam(paramType = "query", name = "beginDate", value = "开始时间"), @ApiImplicitParam(paramType = "query", name = "endDate", value = "结束时间") }) public PageResult> listWarningSta(HttpServletRequest request, @RequestHeader(value = "token") String token, @RequestParam(value = "type", required = true) String type, @RequestParam(value = "district", required = false) String district, @RequestParam(value = "subdistrict", required = false) String subdistrict, @RequestParam(value = "communityName", required = false) String communityName, @RequestParam(value = "beginDate", required = false) String beginDate, @RequestParam(value = "endDate", required = false) String endDate, PageReqVO pageReqVo){ try { UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request); IPage pageResponse = this.warningStaService.listWarningSta(type,district,subdistrict,communityName,beginDate,endDate,loginUser ,pageReqVo); return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal()); }catch (BDException e) { log.error("预警统计列表查询-分页列表出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("预警管理: 预警统计列表查询出现异常",e); return PageResult.error( "获取列表失败"); } } @GetMapping("/listWarningPersonbyCommunity") @ApiOperation(value = "根据小区查询预警人员列表分页 ") @ApiImplicitParams(value = { @ApiImplicitParam(paramType = "query", name = "type", value = "预警类型,1 陌生人员预警 2重点人员预警 3常住人员预警 4昼伏夜出人员预警"), @ApiImplicitParam(paramType = "query", name = "communityId", value = "小区ID"), @ApiImplicitParam(paramType = "query", name = "nameOrCred", value = "名称/身份证"), @ApiImplicitParam(paramType = "query", name = "populationType", value = "人口类型"), @ApiImplicitParam(paramType = "query", name = "crowdId", value = "人群类型ID"), @ApiImplicitParam(paramType = "query", name = "beginDate", value = "开始时间"), @ApiImplicitParam(paramType = "query", name = "endDate", value = "结束时间") }) public PageResult> listWarningPersonbyCommunity(HttpServletRequest request, @RequestHeader(value = "token") String token, @RequestParam(value = "type", required = true) String type, @RequestParam(value = "communityId", required = true) Long communityId, @RequestParam(value = "nameOrCred", required = false) String nameOrCred, @RequestParam(value = "populationType", required = false) String populationType, @RequestParam(value = "crowdId", required = false) Long crowdId, @RequestParam(value = "beginDate", required = false) String beginDate, @RequestParam(value = "endDate", required = false) String endDate, PageReqVO pageReqVo){ try { UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request); IPage pageResponse = this.warningStaService.listWarningPersonbyCommunity(type,communityId,nameOrCred,populationType,crowdId,beginDate,endDate,loginUser ,pageReqVo); return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal()); }catch (BDException e) { log.error("根据小区查询预警人员列表查询-分页列表出现异常",e); return PageResult.error(e.getMessage()); } catch (Exception e) { log.error("预警管理: 根据小区查询预警人员列表查询出现异常",e); return PageResult.error( "获取列表失败"); } } }