das接口新增
This commit is contained in:
parent
966f6deb6c
commit
2f0ea30756
@ -156,12 +156,17 @@ public class SysEquipmentServiceImpl implements SysEquipmentService {
|
||||
SysEquipment field = new SysEquipment();
|
||||
BeanUtil.copyProperties(dto,field);
|
||||
// 根据名称获取物模型id
|
||||
if(StringUtils.isNotBlank(dto.getOrgName())) {
|
||||
Long iotModelId = sysIotModelMapper.queryIotModelIdByName(dto.getIotModelName());
|
||||
Long orgId = sysOrgMapper.queryOrgIdByName(dto.getOrgName());
|
||||
field.setIotModelId(iotModelId);
|
||||
}
|
||||
if(StringUtils.isNotBlank(dto.getOrgName())) {
|
||||
Long orgId = sysOrgMapper.queryOrgIdByName(dto.getOrgName());
|
||||
field.setOrgId(orgId);
|
||||
}
|
||||
field.setParentEquipmentId(Long.valueOf(parentEquipmentId));
|
||||
field.setId(SequenceUtils.generateId());
|
||||
field.setOrgId(orgId);
|
||||
|
||||
field.setCreatedTime(new Date());
|
||||
field.setUpdatedTime(new Date());
|
||||
field.setRevision(1);
|
||||
|
@ -0,0 +1,54 @@
|
||||
package com.das.modules.node.controller;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.das.common.constant.SysAuthorityIds;
|
||||
import com.das.common.exceptions.ServiceException;
|
||||
import com.das.common.result.R;
|
||||
import com.das.modules.equipment.domain.dto.SysIotModelDto;
|
||||
import com.das.modules.equipment.domain.vo.SysIotModelVo;
|
||||
import com.das.modules.node.domain.dto.SysNodeDto;
|
||||
import com.das.modules.node.domain.vo.SysNodeVo;
|
||||
import com.das.modules.node.service.SysNodeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物模型Controller
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/node")
|
||||
public class SysNodeController {
|
||||
|
||||
@Autowired
|
||||
private SysNodeService sysNodeService;
|
||||
|
||||
|
||||
/** 获取节点列表 */
|
||||
@PostMapping("/list")
|
||||
public R<List<SysNodeVo>> querySysNodeList() {
|
||||
|
||||
return R.success(sysNodeService.querySysNodeList());
|
||||
}
|
||||
|
||||
/** 新增节点 */
|
||||
@PostMapping("/add")
|
||||
public R<SysNodeVo> createSysNode(@RequestBody SysNodeDto sysNodeDto) {
|
||||
|
||||
//判断是否有权限
|
||||
boolean hasPermission = StpUtil.hasPermission(SysAuthorityIds.SYS_AUTHORITY_ID_DEVICE_MGR.toString());
|
||||
if(!hasPermission){
|
||||
return R.fail("没有设备管理权限");
|
||||
}
|
||||
return R.success(sysNodeService.createSysNode(sysNodeDto));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,21 @@
|
||||
package com.das.modules.node.domain.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class SysNodeDto implements Serializable {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long orgId;
|
||||
|
||||
private String nodeName;
|
||||
|
||||
private String nodeIp;
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.das.modules.node.domain.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 链路前端回显
|
||||
*
|
||||
* @author guchengwei
|
||||
*/
|
||||
@Data
|
||||
public class SysCommunicationLinkVo {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 链路名称
|
||||
*/
|
||||
private String linkName;
|
||||
|
||||
/**
|
||||
* 通讯协议
|
||||
*/
|
||||
private Integer protocol;
|
||||
|
||||
/**
|
||||
* 协议参数
|
||||
*/
|
||||
private String params;
|
||||
|
||||
/**
|
||||
* 所属系统节点
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 所属系统节点id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long nodeId;
|
||||
|
||||
private Integer revision;
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package com.das.modules.node.domain.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 节点前端回显
|
||||
*
|
||||
* @author guchengwei
|
||||
*/
|
||||
@Data
|
||||
public class SysNodeVo {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 节点ip
|
||||
*/
|
||||
private String nodeIp;
|
||||
|
||||
/**
|
||||
* 所属机构
|
||||
*/
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 所属机构id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long orgId;
|
||||
|
||||
private Integer revision;
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package com.das.modules.node.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.das.common.constant.BaseEntity;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 链路表
|
||||
* </p>
|
||||
*
|
||||
* @author chenhaojie
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_communicationlink")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SysCommunicationLink extends BaseEntity {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 系统节点ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 链路名称
|
||||
*/
|
||||
@TableField("link_name")
|
||||
private String linkName;
|
||||
|
||||
/**
|
||||
* 通讯协议
|
||||
*/
|
||||
@TableField("protocol")
|
||||
private Integer protocol;
|
||||
|
||||
/**
|
||||
* 协议参数
|
||||
*/
|
||||
@TableField("params")
|
||||
private String params;
|
||||
|
||||
/**
|
||||
* 所属系统节点ID
|
||||
*/
|
||||
@TableField("node_id")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long nodeId;
|
||||
}
|
59
das/src/main/java/com/das/modules/node/entity/SysNode.java
Normal file
59
das/src/main/java/com/das/modules/node/entity/SysNode.java
Normal file
@ -0,0 +1,59 @@
|
||||
package com.das.modules.node.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.das.common.constant.BaseEntity;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 节点表
|
||||
* </p>
|
||||
*
|
||||
* @author chenhaojie
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_node")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SysNode extends BaseEntity {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 系统节点ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
@TableField("node_name")
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 节点ip
|
||||
*/
|
||||
@TableField("node_ip")
|
||||
private String nodeIp;
|
||||
|
||||
/**
|
||||
* 所属机构id
|
||||
*/
|
||||
@TableField("org_id")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long orgId;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.das.modules.node.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.das.modules.node.entity.SysCommunicationLink;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SysCommunicationLinkMapper extends BaseMapper<SysCommunicationLink> {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.das.modules.node.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.das.modules.node.domain.vo.SysNodeVo;
|
||||
import com.das.modules.node.entity.SysNode;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SysNodeMapper extends BaseMapper<SysNode> {
|
||||
|
||||
List<SysNodeVo> querySysNodeList();
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.das.modules.node.service;
|
||||
|
||||
import com.das.modules.node.domain.dto.SysNodeDto;
|
||||
import com.das.modules.node.domain.vo.SysNodeVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SysNodeService {
|
||||
List<SysNodeVo> querySysNodeList();
|
||||
|
||||
SysNodeVo createSysNode(SysNodeDto sysNodeDto);
|
||||
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package com.das.modules.node.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.das.common.config.SessionUtil;
|
||||
import com.das.common.exceptions.ServiceException;
|
||||
import com.das.common.utils.BeanCopyUtils;
|
||||
import com.das.common.utils.SequenceUtils;
|
||||
import com.das.modules.auth.domain.vo.SysUserVo;
|
||||
import com.das.modules.auth.entity.SysOrg;
|
||||
import com.das.modules.auth.mapper.SysOrgMapper;
|
||||
import com.das.modules.equipment.domain.vo.SysIotModelVo;
|
||||
import com.das.modules.equipment.entity.SysIotModel;
|
||||
import com.das.modules.node.domain.dto.SysNodeDto;
|
||||
import com.das.modules.node.domain.vo.SysNodeVo;
|
||||
import com.das.modules.node.entity.SysNode;
|
||||
import com.das.modules.node.mapper.SysNodeMapper;
|
||||
import com.das.modules.node.service.SysNodeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Service
|
||||
public class SysNodeServiceImpl implements SysNodeService {
|
||||
|
||||
@Autowired
|
||||
private SysNodeMapper sysNodeMapper;
|
||||
|
||||
@Autowired
|
||||
private SysOrgMapper sysOrgMapper;
|
||||
|
||||
@Override
|
||||
public List<SysNodeVo> querySysNodeList() {
|
||||
List<SysNodeVo> sysNodeVoList = sysNodeMapper.querySysNodeList();
|
||||
return sysNodeVoList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysNodeVo createSysNode(SysNodeDto sysNodeDto) {
|
||||
SysNode sysNode = new SysNode();
|
||||
BeanCopyUtils.copy(sysNodeDto,sysNode);
|
||||
|
||||
SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY);
|
||||
sysNode.setId(SequenceUtils.generateId());
|
||||
sysNode.setCreatedTime(new Date());
|
||||
sysNode.setUpdatedTime(new Date());
|
||||
sysNode.setCreatedBy(sysUserVo.getAccount());
|
||||
sysNode.setUpdatedBy(sysUserVo.getAccount());
|
||||
// sysNode.setCreatedBy("测试");
|
||||
// sysNode.setUpdatedBy("测试");
|
||||
sysNode.setRevision(1);
|
||||
sysNodeMapper.insert(sysNode);
|
||||
SysNodeVo sysNodeVo = new SysNodeVo();
|
||||
// 根据org_id查询组织名称
|
||||
SysOrg sysorg = sysOrgMapper.selectById(sysNode.getOrgId());
|
||||
BeanCopyUtils.copy(sysNode,sysNodeVo);
|
||||
sysNodeVo.setOrgName(sysorg.getName());
|
||||
return sysNodeVo;
|
||||
}
|
||||
}
|
22
das/src/main/resources/mapper/SysNodeMapper.xml
Normal file
22
das/src/main/resources/mapper/SysNodeMapper.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.das.modules.node.mapper.SysNodeMapper">
|
||||
|
||||
<resultMap type="com.das.modules.node.domain.vo.SysNodeVo" id="SysNodeMap">
|
||||
<result property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="nodeName" column="node_name" jdbcType="VARCHAR"/>
|
||||
<result property="nodeIp" column="node_ip" jdbcType="VARCHAR"/>
|
||||
<result property="orgName" column="orgName" jdbcType="VARCHAR"/>
|
||||
<result property="orgId" column="org_id" jdbcType="BIGINT"/>
|
||||
<result property="revision" column="revision" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="querySysNodeList" resultMap="SysNodeMap">
|
||||
select sn.*,so."name" as orgName from sys_node sn left join sys_org so on sn.org_id = so.id
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
@ -14,3 +14,86 @@
|
||||
| | 1.2.3修改链路信息 | /api/node/link/update | SYS_AUTHORITY_ID_ADMIN |
|
||||
| | 1.2.4删除链路信息 | /api/node/link/delete | SYS_AUTHORITY_ID_ADMIN |
|
||||
|
||||
### 1.1 节点相关接口
|
||||
|
||||
#### 1.1.1 获取所有节点信息列表
|
||||
|
||||
POST 请求接口
|
||||
|
||||
> /api/node/list
|
||||
|
||||
请求参数
|
||||
|
||||
无
|
||||
|
||||
返回报文
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
"data": [
|
||||
{
|
||||
"id": "1",
|
||||
"nodeName": "测试节点",
|
||||
"nodeIp": "127.0.0.1",
|
||||
"orgName": "某风电场",
|
||||
"orgId": "1",
|
||||
"revision": 1
|
||||
}
|
||||
],
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
返参描述
|
||||
|
||||
| 参数名 | 参数类型 | 可选 | 描述 |
|
||||
| ------------- | -------- | ---- |------|
|
||||
| id | String | 否 | 节点ID |
|
||||
| nodeName | String | 否 | 节点名称 |
|
||||
| nodeIp | String | 否 | 节点IP |
|
||||
| orgName | String | 否 | 机构名称 |
|
||||
| orgId | String | 否 | 机构ID |
|
||||
| revision | String | 否 | 乐观锁 |
|
||||
|
||||
|
||||
#### 1.1.2 新增节点信息
|
||||
|
||||
POST 请求接口
|
||||
|
||||
> /api/node/add
|
||||
|
||||
请求参数
|
||||
```json
|
||||
{
|
||||
"nodeName": "测试节点1",
|
||||
"nodeIp": "127.0.0.1",
|
||||
"orgId": "1"
|
||||
}
|
||||
```
|
||||
|
||||
入参描述
|
||||
|
||||
| 参数名 | 参数类型 | 可选 | 描述 |
|
||||
| ------------- | -------- | ---- |------|
|
||||
| nodeName | String | 否 | 节点名称 |
|
||||
| nodeIp | String | 否 | 节点IP |
|
||||
| orgId | String | 否 | 机构ID |
|
||||
|
||||
返回报文
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
"data": {
|
||||
"id": "73535240297775104",
|
||||
"nodeName": "测试节点1",
|
||||
"nodeIp": "127.0.0.1",
|
||||
"orgName": "某风电场",
|
||||
"orgId": "1",
|
||||
"revision": 1
|
||||
},
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue
Block a user