package com.xiaopeng.map.controller; import com.xiaopeng.api.dto.operation.PointAddDto; import com.xiaopeng.api.dto.operation.PointUpdateDto; import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto; import com.xiaopeng.api.feignClient.operation.XpPointClient; 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.PointPageListQuery; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.controller.BaseController; 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.beans.BeanUtils; import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @Slf4j @RestController @RequestMapping("/api/v1/point") @Api(tags = "点位管理") public class XpPointManagementController extends BaseController { @Resource private XpPointClient xpPointClient; @Resource private TokenService tokenService; @ApiOperation(value = "获取所有运营中的区域", response = XpElectronicFenceArea.class) @PostMapping("/listElectronicFenceArea") public R> listElectronicFenceArea() { return xpPointClient.listElectronicFenceArea(); } @ApiOperation(value = "点位管理列表", response = XpPoint.class) @PostMapping("/list") public R> list(@RequestBody PointPageListQuery query) { if (StringUtils.hasLength(query.getOperationStatus())){ List operationStatusIds = Arrays.stream(query.getOperationStatus().split(",")).map(Integer::parseInt).collect(Collectors.toList()); query.setOperationStatusIds(operationStatusIds); } return xpPointClient.list( query); } /** * 新增点位 */ @PostMapping("/add") @ApiOperation(value = "新增点位") public R add(@Validated @RequestBody PointAddDto pointAddDto) { return xpPointClient.add(pointAddDto); } /** * 编辑点位 */ @PostMapping("/edit") @ApiOperation(value = "编辑点位") public R edit(@Validated@RequestBody PointUpdateDto pointAddDto) { return xpPointClient.edit(pointAddDto); } /** * 批量删除点位 */ @GetMapping("/deletePoint") @ResponseBody @ApiOperation(value = "删除点位") public R deletePoint(@RequestParam("ids") String ids) { xpPointClient.deletePoint(ids); return R.ok(); } /** * 编辑点位 */ @GetMapping("/queryById") @ResponseBody @ApiOperation(value = "点位详情") public R queryById(@RequestParam Long id) { return xpPointClient.queryById( id); } /** * 启用/禁用 */ @PostMapping("/enableDisable") @ResponseBody @ApiOperation(value = "启用/禁用") public R enableDisable(@RequestBody XpPointEnableDisableDto dto) { return xpPointClient.enableDisable(dto); } }