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;
|
|
/**
|
* <p>
|
* 车道 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2024-08-06
|
*/
|
@Api(tags = "车道")
|
@RestController
|
@RequestMapping("/t-vehicle-ramp")
|
public class TVehicleRampController {
|
|
private final TVehicleRampService vehicleRampService;
|
|
@Resource
|
private SwitchwayGateClient switchwayGateClient;
|
|
@Resource
|
private TParkingLotService parkingLotService;
|
|
|
|
|
|
@Autowired
|
public TVehicleRampController(TVehicleRampService vehicleRampService) {
|
this.vehicleRampService = vehicleRampService;
|
}
|
|
/**
|
* 添加车道管理
|
*/
|
@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));
|
}
|
|
/**
|
* 修改车道
|
*/
|
@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) {
|
return AjaxResult.ok(vehicleRampService.updateById(dto));
|
}
|
|
/**
|
* 查看车道详情
|
*/
|
@RequiresPermissions(value = {"/parkingLot/update_lane"}, logical = Logical.OR)
|
@ApiOperation(tags = {"后台-车道"},value = "查看车道详情")
|
@GetMapping(value = "/getDetailById")
|
public AjaxResult<TVehicleRamp> getDetailById(@RequestParam("id") Integer id) {
|
return AjaxResult.ok(vehicleRampService.getById(id));
|
}
|
|
/**
|
* 删除车道
|
*/
|
@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("id") Integer id) {
|
return AjaxResult.ok(vehicleRampService.removeById(id));
|
}
|
|
/**
|
* 批量删除车道
|
*/
|
@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(@RequestParam String ids) {
|
String[] split = ids.split(",");
|
return AjaxResult.ok(vehicleRampService.removeByIds(Arrays.asList(split)));
|
}
|
|
/**
|
* 开关闸车道
|
*/
|
@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) {
|
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("操作失败");
|
}
|
|
}
|