| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- package com.genersoft.iot.vmp.gb28181.controller;
- import com.genersoft.iot.vmp.conf.exception.ControllerException;
- import com.genersoft.iot.vmp.gb28181.bean.Region;
- import com.genersoft.iot.vmp.gb28181.bean.RegionTree;
- import com.genersoft.iot.vmp.gb28181.service.IRegionService;
- import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
- import com.github.pagehelper.PageInfo;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.Parameter;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.ObjectUtils;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- @Tag(name = "区域管理")
- @RestController
- @RequestMapping("/api/region")
- public class RegionController {
- private final static Logger logger = LoggerFactory.getLogger(RegionController.class);
- @Autowired
- private IRegionService regionService;
- @Operation(summary = "添加区域")
- @Parameter(name = "region", description = "Region", required = true)
- @ResponseBody
- @PostMapping("/add")
- public void add(@RequestBody Region region){
- regionService.add(region);
- }
- @Operation(summary = "查询区域")
- @Parameter(name = "query", description = "要搜索的内容", required = true)
- @Parameter(name = "page", description = "当前页", required = true)
- @Parameter(name = "count", description = "每页查询数量", required = true)
- @ResponseBody
- @GetMapping("/page/list")
- public PageInfo<Region> query(
- @RequestParam(required = false) String query,
- @RequestParam(required = true) int page,
- @RequestParam(required = true) int count
- ){
- return regionService.query(query, page, count);
- }
- @Operation(summary = "查询区域")
- @Parameter(name = "query", description = "要搜索的内容", required = true)
- @Parameter(name = "parent", description = "所属行政区划编号", required = true)
- @ResponseBody
- @GetMapping("/tree/list")
- public List<RegionTree> queryForTree(
- @RequestParam(required = false) String query,
- @RequestParam(required = false) String parent
- ){
- if (ObjectUtils.isEmpty(parent)) {
- parent = null;
- }
- if (ObjectUtils.isEmpty(query)) {
- query = null;
- }
- return regionService.queryForTree(query, parent);
- }
- @Operation(summary = "更新区域")
- @Parameter(name = "region", description = "Region", required = true)
- @ResponseBody
- @PostMapping("/update")
- public void update(@RequestBody Region region){
- regionService.update(region);
- }
- @Operation(summary = "删除区域")
- @Parameter(name = "regionDeviceId", description = "区域编码", required = true)
- @ResponseBody
- @DeleteMapping("/delete")
- public void delete(String deviceId){
- assert !ObjectUtils.isEmpty(deviceId);
- boolean result = regionService.deleteByDeviceId(deviceId);
- if (!result) {
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "移除失败");
- }
- }
- @Operation(summary = "分页区域子节点")
- @Parameter(name = "regionParentId", description = "行政区划父节点编号", required = true)
- @Parameter(name = "page", description = "当前页", required = true)
- @Parameter(name = "count", description = "每页查询数量", required = true)
- @ResponseBody
- @GetMapping("/child/list")
- public PageInfo<Region> queryChildRegionList(
- @RequestParam(required = true) String regionParentId,
- @RequestParam(required = true) int page,
- @RequestParam(required = true) int count
- ){
- if (ObjectUtils.isEmpty(regionParentId.trim())) {
- regionParentId = null;
- }
- return regionService.queryChildRegionList(regionParentId, page, count);
- }
- @Operation(summary = "根据区域Id查询区域")
- @Parameter(name = "regionDeviceId", description = "行政区划节点编号", required = true)
- @ResponseBody
- @GetMapping("/one")
- public Region queryRegionByDeviceId(
- @RequestParam(required = true) String regionDeviceId
- ){
- if (ObjectUtils.isEmpty(regionDeviceId.trim())) {
- throw new ControllerException(ErrorCode.ERROR400);
- }
- return regionService.queryRegionByDeviceId(regionDeviceId);
- }
- @Operation(summary = "获取所属的行政区划下的行政区划")
- @Parameter(name = "parent", description = "所属的行政区划", required = false)
- @ResponseBody
- @GetMapping("/base/child/list")
- public List<Region> getAllChild(@RequestParam(required = false) String parent){
- if (ObjectUtils.isEmpty(parent)) {
- parent = null;
- }
- return regionService.getAllChild(parent);
- }
- @Operation(summary = "从通道中同步行政区划")
- @ResponseBody
- @GetMapping("/sync")
- public void sync(){
- regionService.syncFromChannel();
- }
- }
|