package com.ruoyi.sy.controller; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdTankWall; import com.ruoyi.sy.service.IArdTankWallLockService; import com.ruoyi.sy.service.IArdTankWallService; import com.ruoyi.utils.result.Results; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.sy.domain.ArdTankLock; import com.ruoyi.sy.service.IArdTankLockService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * 电磁锁Controller * * @author ard * @date 2024-07-01 */ @Api(tags = "电磁锁") @RestController @RequestMapping("/sy/lock") public class ArdTankLockController extends BaseController { @Autowired private IArdTankLockService ardTankLockService; @Autowired private IArdTankWallService ardTankWallService; @Autowired private IArdTankWallLockService ardTankWallLockService; /** * 查询电磁锁列表 */ @ApiOperation("查询电磁锁列表") @PreAuthorize("@ss.hasPermi('sy:lock:list')") @GetMapping("/list") public TableDataInfo list(ArdTankLock ardTankLock) { startPage(); List list = ardTankLockService.selectArdTankLockList(ardTankLock); return getDataTable(list); } /** * 导出电磁锁列表 */ @PreAuthorize("@ss.hasPermi('sy:lock:export')") @Log(title = "电磁锁" , businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdTankLock ardTankLock) { List list = ardTankLockService.selectArdTankLockList(ardTankLock); ExcelUtil util = new ExcelUtil(ArdTankLock. class); util.exportExcel(response, list, "电磁锁数据"); } /** * 获取电磁锁详细信息 */ @ApiOperation("获取电磁锁详细信息") @PreAuthorize("@ss.hasPermi('sy:lock:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardTankLockService.selectArdTankLockById(id)); } /** * 新增电磁锁 */ /*@ApiOperation("新增电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:add')") @Log(title = "电磁锁" , businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdTankLock ardTankLock) { return toAjax(ardTankLockService.insertArdTankLock(ardTankLock)); }*/ @ApiOperation("新增电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:add')") @Log(title = "电磁锁" , businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody Map para) { return toAjax(ardTankLockService.insertArdTankLock(para)); } /** * 修改电磁锁 */ @ApiOperation("修改电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:edit')") @Log(title = "电磁锁" , businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdTankLock ardTankLock) { return toAjax(ardTankLockService.updateArdTankLock(ardTankLock)); } /** * 删除电磁锁 */ /*@ApiOperation("删除电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:remove')") @Log(title = "电磁锁" , businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardTankLockService.deleteArdTankLockByIds(ids)); }*/ /** * 删除电磁锁 */ @ApiOperation("删除单一电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:remove')") @Log(title = "电磁锁" , businessType = BusinessType.DELETE) @DeleteMapping("/{id}") public AjaxResult remove(@PathVariable String id) { return toAjax(ardTankLockService.deleteArdTankLockById(id)); } /*@ApiOperation("查询全部电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:getAll')") @GetMapping("/getAll") public Results getAll() { String userId = SecurityUtils.getUserId(); Results result = ardTankLockService.getAll(userId); return result; }*/ @ApiOperation("查询全部电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:getAll')") //@GetMapping("/getAll") @PostMapping("/getAll") public TableDataInfo getAll(@RequestBody Map para) { /*startPage(); String userId = SecurityUtils.getUserId(); List> result = ardTankLockService.getAll(userId); return getDataTable(result);*/ PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize")); String userId = SecurityUtils.getUserId(); Map result = ardTankLockService.getAll(userId); TableDataInfo dataTable = new TableDataInfo(); dataTable.setRows((List>) result.get("list")); dataTable.setTotal((Long) result.get("total")); dataTable.setCode(200); dataTable.setMsg("查询成功"); return dataTable; } /** * 根据car_id获取电磁锁详细信息 */ @ApiOperation("根据car_id获取电磁锁详细信息") @PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarId')") @PostMapping("/getLockByCarId") public AjaxResult getLockByCarId(@RequestBody ArdTankLock ardTankLock) { String userId = SecurityUtils.getUserId(); return success(ardTankLockService.getLockByCarId(ardTankLock.getCarId(),userId)); } /** * 根据car_id删除电磁锁 */ @ApiOperation("根据car_id删除电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:deleteLockByCarId')") @PostMapping("/deleteLockByCarId") public AjaxResult deleteLockByCarId(@RequestBody ArdTankLock ardTankLock) { return toAjax(ardTankLockService.deleteLockByCarId(ardTankLock.getCarId())); } @ApiOperation("修改电磁锁") @PreAuthorize("@ss.hasPermi('sy:lock:updateLockByCarId')") @Log(title = "电磁锁" , businessType = BusinessType.UPDATE) @PutMapping("/updateLockByCarId") public AjaxResult updateLockByCarId(@RequestBody Map para) { return toAjax(ardTankLockService.updateLockByCarId(para)); } /** * 新增电子围栏 */ @ApiOperation("新增电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:addWall')") @Log(title = "电磁锁" , businessType = BusinessType.INSERT) @PostMapping("/addWall") public AjaxResult addWall(@RequestBody ArdTankWall ardTankWall) { return toAjax(ardTankWallService.insertArdTankWall(ardTankWall)); } /** * 修改电子围栏 */ @ApiOperation("修改电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:updateWall')") @Log(title = "电磁锁" , businessType = BusinessType.UPDATE) @PutMapping("/updateWall") public AjaxResult updateWall(@RequestBody ArdTankWall ardTankWall) { return toAjax(ardTankWallService.updateArdTankWall(ardTankWall)); } /** * 删除电子围栏 */ @ApiOperation("删除单一电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:removeWall')") @Log(title = "电磁锁" , businessType = BusinessType.DELETE) @DeleteMapping("/removeWall/{id}") public AjaxResult removeWall(@PathVariable String id) { return toAjax(ardTankWallService.deleteArdTankWallById(id)); } /*@ApiOperation("查询全部电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:getAllArdTankWall')") @GetMapping("/getAllArdTankWall") public Results getAllArdTankWall() { List result = ardTankWallService.getAllArdTankWall(); return Results.succeed(result); }*/ @ApiOperation("查询全部电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:getAllArdTankWall')") @PostMapping("/getAllArdTankWall") public TableDataInfo getAllArdTankWall(@RequestBody Map para) { /*startPage(); ArdTankWall ardTankWall = new ArdTankWall(); ardTankWall.setWallName((String) para.get("wallName")); List list = ardTankWallService.selectArdTankWallList(ardTankWall); return getDataTable(list);*/ PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize")); ArdTankWall ardTankWall = new ArdTankWall(); ardTankWall.setWallName((String) para.get("wallName")); Map result = ardTankWallService.selectArdTankWallList(ardTankWall); TableDataInfo dataTable = new TableDataInfo(); dataTable.setRows((List) result.get("list")); dataTable.setTotal((Long) result.get("total")); dataTable.setCode(200); dataTable.setMsg("查询成功"); return dataTable; } @ApiOperation("根据主键获取电磁锁电子围栏") @PreAuthorize("@ss.hasPermi('sy:tankWall:getArdTankWallById')") @GetMapping(value = "/getArdTankWallById/{id}") public AjaxResult getArdTankWallById(@PathVariable String id) { return success(ardTankWallService.selectArdTankWallById(id)); } /** * 模糊查询电磁锁及挂接的车辆 */ @ApiOperation("模糊查询电磁锁及挂接的车辆") @PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarPlate')") @PostMapping("/getLockByCarPlate") public TableDataInfo getLockByCarPlate(@RequestBody Map para) { /*startPage(); String userId = SecurityUtils.getUserId(); List> result = ardTankLockService.getLockByCarPlate(userId,para.get("carPlate")); return getDataTable(result);*/ //PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize")); String userId = SecurityUtils.getUserId(); Map result = ardTankLockService.getLockByCarPlate(userId, (String) para.get("carPlate"),(Integer) para.get("pageNum"), (Integer) para.get("pageSize")); TableDataInfo dataTable = new TableDataInfo(); dataTable.setRows((List>) result.get("list")); dataTable.setTotal((Long) result.get("total")); dataTable.setCode(200); dataTable.setMsg("查询成功"); return dataTable; } @ApiOperation("根据锁主键获取电子围栏") @PreAuthorize("@ss.hasPermi('sy:tankWall:getArdTankWallByLockId')") @GetMapping(value = "/getArdTankWallByLockId/{id}") public AjaxResult getArdTankWallByLockId(@PathVariable String id) { return success(ardTankWallService.getArdTankWallByLockId(id)); } /** * 挂接电磁锁及电子围栏 */ @ApiOperation("挂接电磁锁及电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:insertWallLock')") @PostMapping("/insertWallLock") public AjaxResult insertWallLock(@RequestBody Map para) { int result = ardTankWallLockService.insertWallLock(para); return toAjax(result); } /** * 根据锁主键删除挂接的电子围栏 */ @ApiOperation("根据锁主键删除挂接的电子围栏") @PreAuthorize("@ss.hasPermi('sy:lock:deleteArdTankWallLockByLockId')") @Log(title = "电磁锁" , businessType = BusinessType.DELETE) @DeleteMapping("/deleteArdTankWallLockByLockId/{id}") public AjaxResult deleteArdTankWallLockByLockId(@PathVariable String id) { return toAjax(ardTankWallLockService.deleteArdTankWallLockByLockId(id)); } }