package com.xiaopeng.api.feignClient.operation; 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.factory.operation.XpPointClientFallbackFactory; import com.xiaopeng.api.model.operation.XpElectronicFence; import com.xiaopeng.api.model.operation.XpElectronicFenceArea; 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.dto.ServiceNameConstantsEnum; import com.xiaopeng.common.core.web.page.PageInfo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Collection; import java.util.List; @FeignClient(contextId = "XpElectronicClient", value = ServiceNameConstantsEnum.XP_OPERATION_SERVICE, fallbackFactory = XpPointClientFallbackFactory.class) public interface XpElectronicClient { @PostMapping("/api/v1/electronicFence/pageList") R> pageList(@RequestBody ElectronicPageListQuery query); /** * 新增电子围栏 */ @PostMapping("/api/v1/electronicFence/add") R add(@Validated @RequestBody ElectronicFenceAddDto dto); /** * 修改状态 */ @PostMapping("/api/v1/electronicFence/updateStatus") R updateStatus(@RequestBody ElectronicFenceAreaUpdateStatusDto dto); /** * 电子围栏详情 */ @PostMapping("/api/v1/electronicFence/queryById") R queryById(@RequestParam("id")Long id); /** * 编辑电子围栏 */ @PostMapping("/api/v1/electronicFence/edit") R edit(@Validated @RequestBody ElectronicFenceUpdateDto dto); /** * 复制电子围栏 */ @PostMapping("/api/v1/electronicFence/copy") R copy(@RequestParam("id") Integer id); /** * 根据ID列表批量查询电子围栏 * @param electronicIdSet * @return */ @PostMapping("/api/v1/electronicFence/listByIds") R> listByIds(@RequestBody Collection electronicIdSet); /** * 根据区域ID查询电子围栏区域信息 * * @param id 区域ID * @return 区域信息 */ @PostMapping("/logan/inner/v1/xp-electronic-fence-area/queryById") R queryElectronicFenceAreaById(@RequestParam("id") Long id); }