package com.objecteye.controller; import com.objecteye.common.CommonResult; import com.objecteye.entity.PageResult; import com.objecteye.entity.SyEquipment; import com.objecteye.service.EquipmentService; import com.objecteye.utils.GlobalUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * controller * * @author Administrator */ @RestController @RequestMapping("/equipment") @Api(tags = "EquipmentController", description = "设备管理") @CrossOrigin public class EquipmentController { @Autowired private EquipmentService equipmentService; @Autowired private RedisTemplate redisTemplate; /** * 返回全部列表 * * @return */ @ApiOperation("分页返回全部设备") @RequestMapping(value = "/findPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult findPage(@RequestParam int currentpage, @RequestParam int pagevolume) { //@RequestBody PagePara pagePara //PageResult page1 = equipmentService.findPage(pagePara.getPage(), pagePara.getLimit()); PageResult page1 = equipmentService.findPage(currentpage, pagevolume); if (page1 != null) { return CommonResult.success(page1); } return CommonResult.success("", "无可用设备"); } /** * 增加 * * @param equipment * @return */ @ApiOperation("添加设备") @RequestMapping(value = "/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult add(@RequestBody SyEquipment equipment) { SyEquipment byIp = equipmentService.findByIp(equipment.getEquipmentIp()); SyEquipment byName = equipmentService.findByName(equipment.getEquipmentName()); SyEquipment byPort = equipmentService.findByPort(equipment.getEquipmentPort()); if ((byIp == null) & (byName == null) & (byPort == null)) { int count = equipmentService.add(equipment); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } return CommonResult.failed("设备名称、ip、端口不能重复"); } /** * 修改 * * @param equipment * @return */ @ApiOperation("更新设备") @RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult update(@RequestBody SyEquipment equipment) { int update = equipmentService.update(equipment); if (update > 0) { return CommonResult.success(update); } if (update == 0) { return CommonResult.failed("设备名称不能重复"); } return CommonResult.failed(); } /** * 获取实体 * * @return */ @ApiOperation("根据id查找设备") @RequestMapping(value = "/findOne", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult findOne(@RequestBody Map map) { Integer id = map.get("id"); SyEquipment equipment = equipmentService.findOne(id); if (equipment != null) { return CommonResult.success(equipment); } return CommonResult.failed("设备id无效"); } /** * 批量删除 * * @return */ @ApiOperation("删除设备") @Transactional @RequestMapping(value = "/delete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult delete(@RequestBody Map map) { try { int[] ids = map.get("ids"); equipmentService.delete(ids); return CommonResult.success("删除成功", "操作成功"); } catch (Exception e) { e.printStackTrace(); return CommonResult.failed(e.getMessage()); } } /** * 设备开关 * * @param map * @return */ @ApiOperation("设备开关") @RequestMapping(value = "/updateStatusById", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult updateStatusById(@RequestBody Map map) { Integer id = map.get("id"); int i = equipmentService.updateStatusById(id); if (i == -1) { return CommonResult.failed("设备id无效"); } if (i != 0) { return CommonResult.success("设备状态更新成功"); } return CommonResult.failed(); } /** * 设备开关 * * @param map id区域id * @return 设备是否可以删除 */ @ApiOperation("设备是否可以删除") @RequestMapping(value = "/checkDelete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult checkDelete(@RequestBody Map map) { Integer id = map.get("id"); boolean canDel = true; List msgList = new ArrayList<>(); if (redisTemplate.opsForHash().hasKey(GlobalUtil.IPWITHDEPLOYLIST, id)) { canDel = false; msgList.add("布控预警任务"); } if (redisTemplate.opsForHash().hasKey(GlobalUtil.FORBIDDEN_TASK, id)) { canDel = false; msgList.add("禁行任务"); } if (canDel) { return CommonResult.success(200, "不存在设备占用情况", ""); } else { return CommonResult.success(201, "存在" + String.join(",", msgList) + "占用设备", ""); } } }