Pu Zhibing
2025-05-19 3244b550596e0330031b3f4547356927df83b0ad
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TVehicleRampController.java
@@ -1,17 +1,27 @@
package com.ruoyi.chargingPile.controller;
import com.ruoyi.chargingPile.api.model.TParkingLot;
import com.ruoyi.chargingPile.api.model.TVehicleRamp;
import com.ruoyi.chargingPile.service.TParkingLotService;
import com.ruoyi.chargingPile.service.TVehicleRampService;
import com.ruoyi.common.core.utils.CodeGenerateUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.domain.BaseDelete;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.integration.api.feignClient.SwitchwayGateClient;
import com.ruoyi.integration.api.vo.SwitchwayGateReq;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
@@ -28,6 +38,16 @@
public class TVehicleRampController {
    private final TVehicleRampService vehicleRampService;
    @Resource
    private SwitchwayGateClient switchwayGateClient;
    @Resource
    private TParkingLotService parkingLotService;
    @Autowired
    public TVehicleRampController(TVehicleRampService vehicleRampService) {
@@ -37,17 +57,20 @@
    /**
     * 添加车道管理
     */
    @Log(title = "添加车道", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE)
    @RequiresPermissions(value = {"/parkingLot/add_lane"}, logical = Logical.OR)
    @Log(title = "【停车场配置】添加车道", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-车道"},value = "添加车道")
    @PostMapping(value = "/add")
    public AjaxResult<Boolean> add(@RequestBody TVehicleRamp dto) {
        dto.setCarportNum(CodeGenerateUtils.generateVolumeSn());
        return AjaxResult.ok(vehicleRampService.save(dto));
    }
    /**
     * 修改车道
     */
    @Log(title = "修改车道", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    @RequiresPermissions(value = {"/parkingLot/update_lane"}, logical = Logical.OR)
    @Log(title = "【停车场配置】修改车道", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-车道"},value = "修改车道")
    @PostMapping(value = "/update")
    public AjaxResult<Boolean> update(@RequestBody TVehicleRamp dto) {
@@ -57,41 +80,53 @@
    /**
     * 查看车道详情
     */
    @RequiresPermissions(value = {"/parkingLot/update_lane"}, logical = Logical.OR)
    @ApiOperation(tags = {"后台-车道"},value = "查看车道详情")
    @GetMapping(value = "/getDetailById")
    public AjaxResult<TVehicleRamp> getDetailById(@RequestParam Integer id) {
    public AjaxResult<TVehicleRamp> getDetailById(@RequestParam("id") Integer id) {
        return AjaxResult.ok(vehicleRampService.getById(id));
    }
    /**
     * 删除车道
     */
    @Log(title = "删除车道", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    @RequiresPermissions(value = {"/parkingLot/del_lane"}, logical = Logical.OR)
    @Log(title = "【停车场配置】删除车道", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-车道"},value = "删除车道")
    @DeleteMapping(value = "/deleteById")
    public AjaxResult<Boolean> deleteById(@RequestParam Integer id) {
    public AjaxResult<Boolean> deleteById(@RequestParam("id") Integer id) {
        return AjaxResult.ok(vehicleRampService.removeById(id));
    }
    /**
     * 批量删除车道
     */
    @Log(title = "批量删除车道", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    @RequiresPermissions(value = {"/parkingLot/del_lane"}, logical = Logical.OR)
    @Log(title = "【停车场配置】批量删除车道", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-车道"},value = "批量删除车道")
    @DeleteMapping(value = "/deleteByIds")
    public AjaxResult<Boolean> deleteByIds(@RequestBody List<Integer> ids) {
        return AjaxResult.ok(vehicleRampService.removeByIds(ids));
    public AjaxResult<Boolean> deleteByIds(@RequestParam String ids) {
        String[] split = ids.split(",");
        return AjaxResult.ok(vehicleRampService.removeByIds(Arrays.asList(split)));
    }
    /**
     * 开关闸车道
     */
    @Log(title = "开关闸车道", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    @RequiresPermissions(value = {"/parkingLot/open_gate", "/parkingLot/close_gate"}, logical = Logical.OR)
    @Log(title = "【停车场配置】开关闸车道", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-车道"},value = "开关闸车道")
    @PostMapping(value = "/openOrDown")
    public AjaxResult<String> openOrDown(@RequestBody TVehicleRamp dto) {
        // TODO 硬件 开关闸车道
        return AjaxResult.success();
        TVehicleRamp vehicleRamp = vehicleRampService.getById(dto.getId());
        TParkingLot parkingLot = parkingLotService.getById(vehicleRamp.getParkingLotId());
        SwitchwayGateReq req = new SwitchwayGateReq();
        req.setAction(dto.getAction());
        req.setChannel(vehicleRamp.getCarportNum());
        req.setAppkey(parkingLot.getAppKey());
        req.setSecretkey(parkingLot.getSecretKey());
        Boolean data = switchwayGateClient.gateService(req).getData();
        return data ? AjaxResult.success() : AjaxResult.error("操作失败");
    }
}