瀏覽代碼

网关 端口

Newspaper 1 年之前
父節點
當前提交
7a70ce1fde

+ 1 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/controller/GatewayController.java

@@ -64,6 +64,7 @@ public class GatewayController {
             terminal.setGatewayId(gateway.getId());
             terminal.setBuildId(gateway.getLocationId());
             terminal.setFarmId(gateWayAddParam.getFarmId());
+            terminal.setOrders(i);
             terminalService.save(terminal);
             List portList = new ArrayList();
             for (int j = 1; j < 9; j++){

+ 37 - 29
huimv-env-admin/src/main/java/com/huimv/env/admin/controller/TerminalController.java

@@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotNull;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -43,35 +44,42 @@ public class TerminalController {
     @Autowired
     private TerminalMapper terminalMapper;
 
-//    @PostMapping("/add")
-//    @Transactional
-//    public Result add(@RequestBody TerminalAddParam terminalAddParam){
-//        List<Terminal> terminalList = terminalService.list(new QueryWrapper<Terminal>().lambda()
-//                .eq(Terminal::getDeviceCode, terminalAddParam.getDeviceCode()));
-//        if (ObjectUtil.isNotEmpty(terminalList)){
-//            return new Result(10001,"终端编号已存在",false);
-//        }
-//        Gateway gateway = gatewayService.getById(terminalAddParam.getGatewayId());
-//
-//        Terminal terminal = new Terminal();
-//        terminal.setDeviceCode(terminalAddParam.getDeviceCode());
-//        terminal.setDeviceName(terminalAddParam.getDeviceName());
-//        terminal.setGatewayId(terminalAddParam.getGatewayId());
-//        terminal.setType(terminalAddParam.getType());
-//        terminal.setFarmId(terminalAddParam.getFarmId());
-//        terminalService.save(terminal);
-//
-//        List portList = new ArrayList();
-//        for (int i = 1; i < 9; i++){
-//            TerminalPort terminalPort = new TerminalPort();
-//            terminalPort.setDeviceCode(gateway.getDeviceCode()+terminal.getDeviceCode()+i);
-//            terminalPort.setTerminalId(terminal.getId());
-//            terminalPort.setFarmId(terminal.getFarmId());
-//            portList.add(terminalPort);
-//        }
-//        portService.saveBatch(portList);
-//        return Result.SUCCESS();
-//    }
+    @PostMapping("/add")
+    @Transactional
+    public Result add(@RequestBody TerminalAddParam terminalAddParam){
+        List<Terminal> terminalList = terminalService.list(new QueryWrapper<Terminal>().lambda()
+                .eq(Terminal::getDeviceCode, terminalAddParam.getDeviceCode()));
+        if (ObjectUtil.isNotEmpty(terminalList)){
+            return new Result(10001,"终端编号已存在",false);
+        }
+        Integer gatewayId = terminalAddParam.getGatewayId();
+        Gateway gateway = gatewayService.getById(gatewayId);
+
+        Integer maxOrder = terminalMapper.getMaxOrder(gatewayId);
+
+        Terminal terminal = new Terminal();
+        terminal.setDeviceCode(terminalAddParam.getDeviceCode());
+        terminal.setDeviceName(terminalAddParam.getDeviceName());
+        terminal.setGatewayId(gatewayId);
+        terminal.setOrders(maxOrder + 1);
+        terminal.setType(terminalAddParam.getType());
+        terminal.setFarmId(terminalAddParam.getFarmId());
+        terminalService.save(terminal);
+
+        gateway.setTerminalNum(gateway.getTerminalNum()+1);
+        gatewayService.updateById(gateway);
+
+        List portList = new ArrayList();
+        for (int i = 1; i < 9; i++){
+            TerminalPort terminalPort = new TerminalPort();
+            terminalPort.setDeviceCode(gateway.getDeviceCode()+terminal.getDeviceCode()+i);
+            terminalPort.setTerminalId(terminal.getId());
+            terminalPort.setFarmId(terminal.getFarmId());
+            portList.add(terminalPort);
+        }
+        portService.saveBatch(portList);
+        return Result.SUCCESS();
+    }
 
     @PostMapping("/list")
     public Result list(@RequestBody TerminalListParam terminalListParam){

+ 3 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/entity/Terminal.java

@@ -88,5 +88,8 @@ public class Terminal implements TransPojo {
     @TableField(exist = false)
     private String farmName;
 
+    @TableField("orders")
+    private Integer orders;
+
 
 }

+ 2 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/mapper/TerminalMapper.java

@@ -16,4 +16,6 @@ import com.huimv.env.admin.entity.vo.TerminalPageResult;
 public interface TerminalMapper extends BaseMapper<Terminal> {
 
     Page<TerminalPageResult> listByLocationId(Page<TerminalPageResult> page, Integer locationId);
+
+    Integer getMaxOrder(Integer gatewayId);
 }

+ 3 - 0
huimv-env-admin/src/main/resources/mapper/TerminalMapper.xml

@@ -14,5 +14,8 @@
         WHERE
             b.id = #{locationId}
     </select>
+    <select id="getMaxOrder" resultType="java.lang.Integer">
+        SELECT COALESCE(MAX(orders),0) AS 'maxOrder' FROM `terminal` WHERE gateway_id = #{gatewayId}
+    </select>
 
 </mapper>