package com.mosty.sjzx.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mosty.base.model.query.sjzx.*;
import com.mosty.common.base.domain.BaseController;
import com.mosty.common.base.domain.ResponseResult;
import com.mosty.common.token.JwtSysUser;
import com.mosty.sjzx.service.SgfxService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@AllArgsConstructor
@RestController
@Api(tags = "巡防统计--原magic接口")
@RequestMapping("/xftj")
public class XftjController extends BaseController {

    @Resource
    private SgfxService sgfxService;

    @GetMapping("/jmjq/jrjqczfx")
    @ApiOperation(value = "今日警情处置分析")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> jrjqczfx(XftjQuery dto) {
        return ResponseResult.success(this.sgfxService.jrjqczfx(dto));
    }

    @GetMapping("/jmjq/jrjqslzs")
    @ApiOperation(value = "今日警情数量走势")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> jrjqslzs(XftjQuery dto) {
        return ResponseResult.success(this.sgfxService.jrjqslzs(dto));
    }

    @GetMapping("/jmjq/jrjqyj")
    @ApiOperation(value = "今日警情预警")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> jrjqyj(XftjQuery dto) {
        return ResponseResult.success(this.sgfxService.jrjqyj(dto));
    }

    @GetMapping("/jmjq/jqlxtj")
    @ApiOperation(value = "警情类型统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> jqlxtj(XftjQuery dto) {
        return ResponseResult.success(this.sgfxService.jqlxtj(dto));
    }

    @GetMapping("/jmjq/jqlb")
    @ApiOperation(value = "警情列表")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> jqlb(XftjJqlbQuery dto) {
        return ResponseResult.success(this.sgfxService.jqlb(dto));
    }

    @PostMapping("/xfzytj/gzy/bmlbtj")
    @ApiOperation(value = "感知源-部门列表统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> gzybmlbtj(XftjJqlbQuery dto) {
        return ResponseResult.success(this.sgfxService.gzybmlbtj(dto));
    }

    @PostMapping("/xfzytj/gzy/sblxtj")
    @ApiOperation(value = "设备类型统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> sblxtj(XftjQuery dto) {
        return ResponseResult.success(this.sgfxService.sblxtj(dto));
    }

    @GetMapping("/xfzytj/gzy/sblb")
    @ApiOperation(value = "设备列表")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> sblb(XftjJqlbQuery dto) {
        return ResponseResult.success(this.sgfxService.sblb(dto));
    }

    @GetMapping("/xfzytj/jwz/bmlbtj")
    @ApiOperation(value = "部门列表统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> jwzbmlbtj(XftjJwzQuery dto) {
        return ResponseResult.success(this.sgfxService.jwzbmlbtj(dto));
    }

    @GetMapping("/xfzytj/jwz/bmtjjwz")
    @ApiOperation(value = "根据部门统计警务站")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> bmtjjwz(XftjJwzQuery dto) {
        return ResponseResult.success(this.sgfxService.bmtjjwz(dto));
    }

    @GetMapping("/xfzytj/xfll/clbmtj")
    @ApiOperation(value = "根据部门统计警务站")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> clbmtj(XftjXfllQuery dto) {
        return ResponseResult.success(this.sgfxService.clbmtj(dto));
    }

    @GetMapping("/xfzytj/xfll/fjbmtj")
    @ApiOperation(value = "辅警部门统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> fjbmtj(XftjXfllQuery dto) {
        return ResponseResult.success(this.sgfxService.fjbmtj(dto));
    }

    @GetMapping("/xfzytj/xfll/mjbmtj")
    @ApiOperation(value = "民警部门统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> mjbmtj(XftjXfllQuery dto) {
        return ResponseResult.success(this.sgfxService.mjbmtj(dto));
    }

    @GetMapping("/xfzytj/xfll/zttjz")
    @ApiOperation(value = "柱状图统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> zttjz(XftjXfllQuery dto) {
        return ResponseResult.success(this.sgfxService.zttjz(dto));
    }

    @GetMapping("/xfzytj/ydzb/lbtj")
    @ApiOperation(value = "移动装备--部门列表统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> lbtj(XftjYdzbQuery dto) {
        return ResponseResult.success(this.sgfxService.lbtj(dto));
    }

    @GetMapping("/xfzytj/ydzb/bmtj")
    @ApiOperation(value = "移动装备--根据部门统计")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> bmtj(XftjYdzbQuery dto) {
        return ResponseResult.success(this.sgfxService.bmtj(dto));
    }
}


