package com.xiaopeng.map.controller;
|
|
|
import com.xiaopeng.api.dto.operation.ElectronicFenceAddDto;
|
import com.xiaopeng.api.dto.operation.ElectronicFenceAreaUpdateStatusDto;
|
import com.xiaopeng.api.dto.operation.ElectronicFenceUpdateDto;
|
import com.xiaopeng.api.feignClient.operation.XpElectronicClient;
|
import com.xiaopeng.api.model.operation.XpElectronicFence;
|
import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
|
import com.xiaopeng.api.model.operation.XpPoint;
|
import com.xiaopeng.api.query.operation.ElectronicPageListQuery;
|
import com.xiaopeng.api.vo.operation.ElectronicFenceDetailVo;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.exception.ServiceException;
|
import com.xiaopeng.common.core.utils.bean.BeanUtils;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
import com.xiaopeng.common.security.service.TokenService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 电子围栏 前端控制器
|
* </p>
|
*
|
* @author mitao
|
* @since 2026-02-03
|
*/
|
@RestController
|
@Slf4j
|
@Api(tags = "电子围栏管理")
|
@RequestMapping("/api/v1/electronicFence")
|
public class XpElectronicFenceManagementController {
|
|
|
@Resource
|
private TokenService tokenService;
|
|
@Resource
|
private XpElectronicClient xpElectronicClient;
|
|
@ApiOperation(value = "电子围栏管理列表", response = XpPoint.class)
|
@PostMapping("/pageList")
|
public R<PageInfo<XpElectronicFence>> pageList(@RequestBody ElectronicPageListQuery query) {
|
return R.ok(xpElectronicClient.pageList(query).getData());
|
}
|
|
/**
|
* 新增电子围栏
|
*/
|
@PostMapping("/add")
|
@ApiOperation(value = "新增电子围栏")
|
@Transactional
|
public R add(@Validated @RequestBody ElectronicFenceAddDto dto) {
|
|
return xpElectronicClient.add(dto);
|
}
|
|
|
|
/**
|
* 修改状态
|
*/
|
@PostMapping("/updateStatus")
|
@ResponseBody
|
@ApiOperation(value = "修改状态")
|
public R updateStatus(@RequestBody ElectronicFenceAreaUpdateStatusDto dto) {
|
|
return xpElectronicClient.updateStatus(dto);
|
}
|
|
/**
|
* 电子围栏详情
|
*/
|
@PostMapping("/queryById")
|
@ResponseBody
|
@ApiOperation(value = "电子围栏详情")
|
public R<ElectronicFenceDetailVo> queryById(@RequestParam("id")Long id) {
|
return xpElectronicClient.queryById(id);
|
}
|
|
/**
|
* 编辑电子围栏
|
*/
|
@PostMapping("/edit")
|
@ResponseBody
|
@ApiOperation(value = "编辑电子围栏")
|
@Transactional
|
public R edit(@Validated @RequestBody ElectronicFenceUpdateDto dto) {
|
return xpElectronicClient.edit(dto);
|
}
|
|
/**
|
* 复制电子围栏
|
*/
|
@PostMapping("/copy")
|
@ApiOperation(value = "复制电子围栏")
|
public R<Long> copy(@RequestParam("id") Integer id) {
|
return xpElectronicClient.copy(id);
|
}
|
}
|