package com.huimv.env.admin.controller; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huimv.env.admin.common.utils.Result; import com.huimv.env.admin.common.utils.ResultCode; import com.huimv.env.admin.entity.Gateway; import com.huimv.env.admin.entity.Terminal; import com.huimv.env.admin.entity.vo.*; import com.huimv.env.admin.service.ITerminalService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 监测终端 前端控制器 *

* * @author newspaper * @since 2024-05-07 */ @RestController @CrossOrigin @RequestMapping("/terminal") public class TerminalController { @Autowired private ITerminalService terminalService; @PostMapping("/add") public Result add(@RequestBody TerminalAddParam terminalAddParam){ List terminalList = terminalService.list(new QueryWrapper().lambda() .eq(Terminal::getDeviceCode, terminalAddParam.getDeviceCode())); if (ObjectUtil.isEmpty(terminalList)){ return new Result(10001,"终端编号已存在",false); } Terminal terminal = new Terminal(); terminal.setDeviceCode(terminalAddParam.getDeviceCode()); terminal.setGatewayId(terminalAddParam.getGatewayId()); terminal.setType(terminalAddParam.getType()); terminal.setFarmId(terminalAddParam.getFarmId()); terminalService.save(terminal); return Result.SUCCESS(); } @PostMapping("/list") public Result list(@RequestBody TerminalListParam terminalListParam){ List terminalList = terminalService.list(new QueryWrapper().lambda() .eq(ObjectUtil.isNotEmpty(terminalListParam.getGatewayId()), Terminal::getGatewayId, terminalListParam.getGatewayId())); return new Result(ResultCode.SUCCESS,terminalList); } @PostMapping("/page") public Result page(@RequestBody TerminalPageParam terminalPageParam){ Page page = new Page<>(terminalPageParam.getPageNum(),terminalPageParam.getPageSize()); Page terminalPage = terminalService.page(page); return new Result(ResultCode.SUCCESS,terminalPage); } @PostMapping("/update") public Result update(@RequestBody TerminalUpdateParam terminalUpdateParam){ List terminalList = terminalService.list(new QueryWrapper().lambda() .eq(Terminal::getDeviceCode, terminalUpdateParam.getDeviceCode()) .ne(Terminal::getId,terminalUpdateParam.getId())); if (ObjectUtil.isEmpty(terminalList)){ return new Result(10001,"终端编号已存在",false); } Terminal terminal = terminalService.getById(terminalUpdateParam.getId()); terminal.setDeviceCode(terminalUpdateParam.getDeviceCode()); terminal.setGatewayId(terminalUpdateParam.getGatewayId()); terminal.setType(terminalUpdateParam.getType()); terminal.setFarmId(terminalUpdateParam.getFarmId()); terminalService.updateById(terminal); return Result.SUCCESS(); } @PostMapping("/delete") public Result delete(@RequestBody TerminalDeleteParam terminalDeleteParam){ //TODO 终端删除前判断端口是否存在 // List terminalList = terminalService.list(new QueryWrapper().lambda().eq(Terminal::getGatewayId, gateWayDeleteParam.getId())); // if (ObjectUtil.isEmpty(terminalList)){ // return new Result(10001,"终端存在下属端口",false); // } terminalService.removeById(terminalDeleteParam.getId()); return Result.SUCCESS(); } }