xuhy
2026-02-27 ea0bb2911ae4a1671be87bf41349c1e5a516beb3
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.xiaopeng.api.dto.map.XpPointExportExcelQuery;
import com.xiaopeng.api.dto.operation.PointAddDto;
import com.xiaopeng.api.dto.operation.PointUpdateDto;
import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto;
@@ -18,6 +19,8 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
import org.apache.shardingsphere.transaction.core.TransactionType;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@@ -69,12 +72,18 @@
        PageInfo<XpPoint> pageList = xpPointService.pageList(query);
        return R.ok(pageList);
    }
    @PostMapping("/getByIds")
    public R<List<XpPoint>> getByIds(@RequestBody XpPointExportExcelQuery query){
        List<XpPoint> list = xpPointService.lambdaQuery().in(XpPoint::getId, query.getPointIds()).list();
        return R.ok(list);
    }
    /**
     * 新增点位
     */
    @Transactional(rollbackFor = Exception.class)
    @PostMapping("/addPoint")
    @ResponseBody
    @Transactional
    @ShardingSphereTransactionType(TransactionType.BASE)
    @ApiOperation(value = "新增点位")
    public R add(@Validated  @RequestBody PointAddDto pointAddDto) {
        XpPoint xpPoint = new XpPoint();
@@ -88,6 +97,8 @@
    @GetMapping("/deletePoint")
    @ResponseBody
    @ApiOperation(value = "删除点位")
    @Transactional
    @ShardingSphereTransactionType(TransactionType.BASE)
    public R deletePoint(@RequestParam("ids") String ids) {
        xpPointService.removeBatchByIds(Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList()));
        return R.ok();
@@ -97,6 +108,8 @@
     */
    @PostMapping("/editPoint")
    @ApiOperation(value = "编辑点位")
    @Transactional
    @ShardingSphereTransactionType(TransactionType.BASE)
    public R edit(@Validated@RequestBody PointUpdateDto pointAddDto) {
        XpPoint xpPoint = new XpPoint();
        BeanUtils.copyProperties(pointAddDto, xpPoint);
@@ -116,9 +129,12 @@
     */
    @PostMapping("/enableDisablePoint")
    @ApiOperation(value = "启用/禁用")
    @Transactional
    @ShardingSphereTransactionType(TransactionType.BASE)
    public R enableDisable(@RequestBody XpPointEnableDisableDto dto) {
        XpPoint xpPoint = xpPointService.getById(dto.getId());
        xpPoint.setOperationStatus(dto.getOperationStatus());
        xpPoint.setElectronicAreaId(null);
        xpPointService.updateById(xpPoint);
        return R.ok();
    }
@@ -128,7 +144,7 @@
     * 设置特殊点位
     */
    @PostMapping("/setSpecialPoint")
    @ApiOperation(value = "设置特殊点位")
    @ApiOperation(value = "设置特殊点位",tags = "后台管理-特殊点位")
    public R setSpecialPoint(@RequestBody XpPointSpecialDto dto) {
        xpPointService.update(new LambdaUpdateWrapper<XpPoint>().set(XpPoint::getChargePoint, 0).set(XpPoint::getParkingPoint,0));
        xpPointService.update(new LambdaUpdateWrapper<XpPoint>().in(XpPoint::getId,dto.getChargePoints()).set(XpPoint::getChargePoint,1));