1.desk,service,user 模块 pom依赖修改
2.新增 blade-onenetstudio 模块,集成onenetstudio 基于MQTT协议的sdk,实现设备的属性上报功能
4 files modified
14 files added
| | |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
| | | import io.swagger.annotations.ApiModel; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.NoArgsConstructor; |
| | | import org.springblade.core.tool.node.INode; |
| | | import org.springblade.system.entity.Dept; |
| | | |
| | |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel(value = "DeptVO对象", description = "DeptVO对象") |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | public class DeptVO extends Dept implements INode<DeptVO> { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | |
| | | */ |
| | | private String deptCategoryName; |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-starter-oss-qiniu</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-common</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-dict-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-scope-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <!--<dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-starter-transaction</artifactId> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>blade-service</artifactId> |
| | | <groupId>org.springblade</groupId> |
| | | <version>2.7.1.RELEASE</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | |
| | | <artifactId>blade-onenetstudio</artifactId> |
| | | |
| | | <properties> |
| | | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| | | <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| | | <maven.compiler.encoding>UTF-8</maven.compiler.encoding> |
| | | <maven.compiler.source>1.8</maven.compiler.source> |
| | | <maven.compiler.target>1.8</maven.compiler.target> |
| | | <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> |
| | | </properties> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-core-boot</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.onenet.studio</groupId> |
| | | <artifactId>acc-sdk-process</artifactId> |
| | | <version>1.0.0-SNAPSHOT</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>org.eclipse.paho</groupId> |
| | | <artifactId>org.eclipse.paho.client.mqttv3</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>commons-io</groupId> |
| | | <artifactId>commons-io</artifactId> |
| | | <version>2.8.0</version> |
| | | </dependency> |
| | | <!-- org.eclipse.paho.client.mqttv3 --> |
| | | <dependency> |
| | | <groupId>org.eclipse.paho</groupId> |
| | | <artifactId>org.eclipse.paho.client.mqttv3</artifactId> |
| | | <version>1.2.5</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
| New file |
| | |
| | | package org.springblade.onenetstudio; |
| | | import com.onenet.studio.acc.sdk.annotations.ThingsModelConfiguration; |
| | | import org.springblade.core.launch.BladeApplication; |
| | | import org.springframework.boot.autoconfigure.SpringBootApplication; |
| | | import org.springframework.cloud.openfeign.EnableFeignClients; |
| | | |
| | | @SpringBootApplication |
| | | @EnableFeignClients |
| | | @ThingsModelConfiguration("src/main/resources/model-R67X22o88Y.json") |
| | | public class OneNetStudioApplication { |
| | | public static void main(String[] args) { |
| | | BladeApplication.run("blade-onenetstudio",OneNetStudioApplication.class,args); |
| | | } |
| | | } |
| New file |
| | |
| | | package org.springblade.onenetstudio.entity; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2020-07-01 |
| | | */ |
| | | @Data |
| | | public class Equipments implements Serializable { |
| | | |
| | | /** |
| | | * 设备名称 |
| | | */ |
| | | private String deviceName; |
| | | |
| | | /** |
| | | * 经度 |
| | | */ |
| | | private String jd; |
| | | |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | private String wd; |
| | | |
| | | /** |
| | | * 设备状态 |
| | | */ |
| | | private String dtype; |
| | | |
| | | /** |
| | | * 序列号 |
| | | */ |
| | | private String serialNumber; |
| | | |
| | | /** |
| | | * 设备型号 |
| | | */ |
| | | private String eqModel; |
| | | |
| | | /** |
| | | * 产品id,onenetstudio 平台生成 |
| | | */ |
| | | private String proId; |
| | | |
| | | /** |
| | | * 设备秘钥,onenetstudio 平台生成 |
| | | */ |
| | | private String eqSecret; |
| | | |
| | | /** |
| | | * 设备名称,onenetstudio 平台生成 |
| | | */ |
| | | private String eqName; |
| | | |
| | | /** |
| | | * 联网方式 |
| | | */ |
| | | private String netType; |
| | | } |
| New file |
| | |
| | | package org.springblade.onenetstudio.mapper; |
| | | |
| | | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.springblade.onenetstudio.entity.Equipments; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface EquipmentMapper { |
| | | |
| | | /** |
| | | * 查询已在onenetstudio平台注册的设备 |
| | | * @return |
| | | */ |
| | | List<Equipments> selRegisterEqList(); |
| | | } |
| New file |
| | |
| | | <?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="org.springblade.onenetstudio.mapper.EquipmentMapper"> |
| | | |
| | | <!--查询已在onenetstudio 平台注册的设备--> |
| | | <select id="selRegisterEqList" resultType="org.springblade.onenetstudio.entity.Equipments"> |
| | | select deviceName,jd,wd,dtype,serialNumber, |
| | | eq_model eqModel,pro_id proId,eq_secret eqSecret,eq_name eqName,net_type netType from sys_equipment |
| | | where pro_id is not null |
| | | </select> |
| | | </mapper> |
| New file |
| | |
| | | package org.springblade.onenetstudio.service; |
| | | |
| | | import org.springblade.onenetstudio.entity.Equipments; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface EquipmentService { |
| | | /** |
| | | * 查询已在onenetstudio平台注册的设备 |
| | | * @return |
| | | */ |
| | | List<Equipments> selRegisterEqList(); |
| | | } |
| New file |
| | |
| | | package org.springblade.onenetstudio.service.impl; |
| | | |
| | | import org.springblade.onenetstudio.entity.Equipments; |
| | | import org.springblade.onenetstudio.mapper.EquipmentMapper; |
| | | import org.springblade.onenetstudio.service.EquipmentService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class EquipmentServiceImpl implements EquipmentService { |
| | | |
| | | @Autowired |
| | | private EquipmentMapper equipmentMapper; |
| | | |
| | | /** |
| | | * 查询已在onenetstudio平台注册的设备 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Equipments> selRegisterEqList() { |
| | | return equipmentMapper.selRegisterEqList(); |
| | | } |
| | | } |
| New file |
| | |
| | | package org.springblade.onenetstudio.tm; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.onenet.studio.acc.sdk.OpenApi; |
| | | import com.onenet.studio.acc.sdk.OpenApiExtention; |
| | | import com.onenet.studio.acc.sdk.dto.GeoLocationStructDTO; |
| | | import org.springblade.onenetstudio.entity.Equipments; |
| | | import org.springblade.onenetstudio.service.EquipmentService; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 设备属性数据交互 |
| | | */ |
| | | @Component |
| | | public class PropertyPost { |
| | | |
| | | @Resource |
| | | private EquipmentService equipmentService; |
| | | |
| | | @Value("${sdk.api.url}") |
| | | private String url; |
| | | |
| | | @PostConstruct |
| | | public void init() { |
| | | //查询设备 |
| | | List<Equipments> equipmentsList = equipmentService.selRegisterEqList(); |
| | | //有数据则创建openApi对象 |
| | | if (equipmentsList.size()>0){ |
| | | for (Equipments equipments:equipmentsList) { |
| | | try { |
| | | OpenApi openApi = OpenApi.Builder.newBuilder() |
| | | .url(url) |
| | | .productId(equipments.getProId()) |
| | | .devKey(equipments.getEqName()) |
| | | .accessKey(equipments.getEqSecret()) |
| | | // .caCrtFile(caCrtFile) |
| | | .build(); |
| | | System.out.println("openApi = " + openApi); |
| | | OpenApiExtention extention = new OpenApiExtention(openApi); |
| | | //属性上报 |
| | | propertyUp(extention,equipments); |
| | | //属性设置 |
| | | // propertySet(extention); |
| | | //属性获取 |
| | | // peropertyGet(extention); |
| | | //期望值获取 |
| | | // desiredGet(extention); |
| | | //期望值删除 |
| | | // desiredDel(extention); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 属性上报 |
| | | * |
| | | * @author wjl |
| | | * @date 2020/12/29 |
| | | * @param extention 物模型扩展API |
| | | **/ |
| | | public void propertyUp(OpenApiExtention extention,Equipments equipments) { |
| | | //设置坐标数据 |
| | | GeoLocationStructDTO geoLocationStructDTO = new GeoLocationStructDTO(); |
| | | geoLocationStructDTO.setAltitude(100.00); |
| | | geoLocationStructDTO.setLatitude(Double.parseDouble(String.format("%.2f", Double.parseDouble(equipments.getWd())))); |
| | | geoLocationStructDTO.setLongitude(Double.parseDouble(String.format("%.2f", Double.parseDouble(equipments.getJd())))); |
| | | geoLocationStructDTO.setCoordinateSystem(1); |
| | | try { |
| | | //设备数据上报 |
| | | int result = extention.propertyUpload(5000, |
| | | 0, |
| | | 100, |
| | | geoLocationStructDTO, |
| | | equipments.getDeviceName(), |
| | | equipments.getNetType(), |
| | | equipments.getSerialNumber(), |
| | | equipments.getEqModel()); |
| | | //result 0 即为上报成功 1:失败 |
| | | System.out.println("up result : " + result); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 属性设置 |
| | | * |
| | | * @author wjl |
| | | * @date 2020/12/29 |
| | | * @param extention 物模型扩展API |
| | | **/ |
| | | public void propertySet(OpenApiExtention extention) { |
| | | // try { |
| | | // extention.propertySet(oneJson -> { |
| | | // System.out.println("receive oneJson : " + oneJson); |
| | | // JSONObject json = JSON.parseObject(oneJson); |
| | | // try { |
| | | // extention.propertySetReply(json.getString("id"), 200, "success"); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // }); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | } |
| | | |
| | | /** |
| | | * 属性获取 |
| | | * |
| | | * @author wjl |
| | | * @date 2020/12/29 |
| | | * @param extention 物模型扩展API |
| | | **/ |
| | | public void peropertyGet(OpenApiExtention extention) { |
| | | try { |
| | | extention.propertyGet(oneJson -> { |
| | | System.out.println("receive oneJson : " + oneJson); |
| | | JSONObject json = JSON.parseObject(oneJson); |
| | | try { |
| | | // 返回的属性与收到的属性要对应上,否则不成功 |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("DeviceStatus", 1); |
| | | extention.propertyGetReply(json.getString("id"), 200, "success", map); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | }); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 期望值获取 |
| | | * |
| | | * @author wjl |
| | | * @date 2020/12/29 |
| | | * @param extention 物模型扩展API |
| | | **/ |
| | | public void desiredGet(OpenApiExtention extention) { |
| | | List<String> list = new ArrayList<>(); |
| | | list.add("DeviceStatus"); |
| | | |
| | | try { |
| | | JSONObject get = extention.propertyDesiredGet(list.toArray(new String[list.size()]), 5000); |
| | | System.out.println("desired get oneJson : " + get.toJSONString()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 期望值删除 |
| | | * |
| | | * @author wjl |
| | | * @date 2020/12/29 |
| | | * @param extention 物模型扩展API |
| | | * @return void |
| | | **/ |
| | | public void desiredDel(OpenApiExtention extention) { |
| | | Map<String, Integer> map = new HashMap<>(); |
| | | map.put("DeviceStatus", 1); |
| | | try { |
| | | int result = extention.propertyDesiredDel(5000, map); |
| | | System.out.println("desired del result : " + result); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | #服务器端口 |
| | | server: |
| | | port: 809 |
| | | |
| | | #数据源配置 |
| | | spring: |
| | | datasource: |
| | | url: jdbc:mysql://36.134.81.48:3306/jfpt?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true |
| | | username: root |
| | | password: jfpt123 |
| | | |
| | | |
| New file |
| | |
| | | #服务器端口 |
| | | server: |
| | | port: 8205 |
| | | |
| | | #数据源配置 |
| | | spring: |
| | | datasource: |
| | | url: ${blade.datasource.prod.url} |
| | | username: ${blade.datasource.prod.username} |
| | | password: ${blade.datasource.prod.password} |
| New file |
| | |
| | | #服务器端口 |
| | | server: |
| | | port: 8105 |
| | | |
| | | #数据源配置 |
| | | spring: |
| | | datasource: |
| | | url: ${blade.datasource.test.url} |
| | | username: ${blade.datasource.test.username} |
| | | password: ${blade.datasource.test.password} |
| New file |
| | |
| | | sdk: |
| | | api: |
| | | #url: ssl://183.230.102.116:8883 加密连接 |
| | | url: tcp://218.201.45.7:1883 |
| | | # # 产品ID |
| | | # product-id: R67X22o88Y |
| | | # # 设备名称 |
| | | # dev-key: test3 |
| | | # # 产品key |
| | | # access-key: a/uhC1M1q8+tpXPFe+E5v81xYVu/pSd906sNGZOvlVM= |
| New file |
| | |
| | | -----BEGIN CERTIFICATE----- |
| | | MIIDOzCCAiOgAwIBAgIJAPCCNfxANtVEMA0GCSqGSIb3DQEBCwUAMDQxCzAJBgNV |
| | | BAYTAkNOMQ4wDAYDVQQKDAVDTUlPVDEVMBMGA1UEAwwMT25lTkVUIE1RVFRTMB4X |
| | | DTE5MDUyOTAxMDkyOFoXDTQ5MDUyMTAxMDkyOFowNDELMAkGA1UEBhMCQ04xDjAM |
| | | BgNVBAoMBUNNSU9UMRUwEwYDVQQDDAxPbmVORVQgTVFUVFMwggEiMA0GCSqGSIb3 |
| | | DQEBAQUAA4IBDwAwggEKAoIBAQC/VvJ6lGWfy9PKdXKBdzY83OERB35AJhu+9jkx |
| | | 5d4SOtZScTe93Xw9TSVRKrFwu5muGgPusyAlbQnFlZoTJBZY/745MG6aeli6plpR |
| | | r93G6qVN5VLoXAkvqKslLZlj6wXy70/e0GC0oMFzqSP0AY74icANk8dUFB2Q8usS |
| | | UseRafNBcYfqACzF/Wa+Fu/upBGwtl7wDLYZdCm3KNjZZZstvVB5DWGnqNX9HkTl |
| | | U9NBMS/7yph3XYU3mJqUZxryb8pHLVHazarNRppx1aoNroi+5/t3Fx/gEa6a5PoP |
| | | ouH35DbykmzvVE67GUGpAfZZtEFE1e0E/6IB84PE00llvy3pAgMBAAGjUDBOMB0G |
| | | A1UdDgQWBBTTi/q1F2iabqlS7yEoX1rbOsz5GDAfBgNVHSMEGDAWgBTTi/q1F2ia |
| | | bqlS7yEoX1rbOsz5GDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAL |
| | | aqJ2FgcKLBBHJ8VeNSuGV2cxVYH1JIaHnzL6SlE5q7MYVg+Ofbs2PRlTiWGMazC7 |
| | | q5RKVj9zj0z/8i3ScWrWXFmyp85ZHfuo/DeK6HcbEXJEOfPDvyMPuhVBTzuBIRJb |
| | | 41M27NdIVCdxP6562n6Vp0gbE8kN10q+ksw8YBoLFP0D1da7D5WnSV+nwEIP+F4a |
| | | 3ZX80bNt6tRj9XY0gM68mI60WXrF/qYL+NUz+D3Lw9bgDSXxpSN8JGYBR85BxBvR |
| | | NNAhsJJ3yoAvbPUQ4m8J/CoVKKgcWymS1pvEHmF47pgzbbjm5bdthlIx+swdiGFa |
| | | WzdhzTYwVkxBaU+xf/2w |
| | | -----END CERTIFICATE----- |
| New file |
| | |
| | | { |
| | | "properties" : [ { |
| | | "identifier" : "AlarmState", |
| | | "name" : "报警状态", |
| | | "functionType" : "st", |
| | | "accessMode" : "r", |
| | | "functionMode" : "property", |
| | | "desc" : "", |
| | | "dataType" : { |
| | | "type" : "enum", |
| | | "specs" : { |
| | | "0" : "正常", |
| | | "1" : "危险报警" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "BatteryLevel", |
| | | "name" : "电池电量", |
| | | "functionType" : "st", |
| | | "accessMode" : "r", |
| | | "functionMode" : "property", |
| | | "desc" : "", |
| | | "dataType" : { |
| | | "type" : "int32", |
| | | "specs" : { |
| | | "min" : "0", |
| | | "max" : "100", |
| | | "unit" : "百分比 / %", |
| | | "step" : "1" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "GeoLocation", |
| | | "name" : "地理位置", |
| | | "functionType" : "st", |
| | | "accessMode" : "r", |
| | | "functionMode" : "property", |
| | | "desc" : "", |
| | | "dataType" : { |
| | | "type" : "struct", |
| | | "specs" : [ { |
| | | "identifier" : "Longitude", |
| | | "name" : "经度", |
| | | "dataType" : { |
| | | "type" : "double", |
| | | "specs" : { |
| | | "min" : "-180", |
| | | "max" : "180", |
| | | "unit" : "度 / °", |
| | | "step" : "0.01" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "Latitude", |
| | | "name" : "纬度", |
| | | "dataType" : { |
| | | "type" : "double", |
| | | "specs" : { |
| | | "min" : "-90", |
| | | "max" : "90", |
| | | "unit" : "度 / °", |
| | | "step" : "0.01" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "Altitude", |
| | | "name" : "海拔", |
| | | "dataType" : { |
| | | "type" : "double", |
| | | "specs" : { |
| | | "min" : "0", |
| | | "max" : "9999", |
| | | "unit" : "米 / m", |
| | | "step" : "0.01" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "CoordinateSystem", |
| | | "name" : "坐标系统", |
| | | "dataType" : { |
| | | "type" : "enum", |
| | | "specs" : { |
| | | "1" : "WGS_84", |
| | | "2" : "GCJ_02" |
| | | } |
| | | } |
| | | } ] |
| | | } |
| | | }, { |
| | | "identifier" : "name", |
| | | "name" : "设备名称", |
| | | "functionType" : "u", |
| | | "accessMode" : "rw", |
| | | "functionMode" : "property", |
| | | "desc" : null, |
| | | "dataType" : { |
| | | "type" : "string", |
| | | "specs" : { |
| | | "length" : "255" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "networkWay", |
| | | "name" : "联网方式", |
| | | "functionType" : "u", |
| | | "accessMode" : "rw", |
| | | "functionMode" : "property", |
| | | "desc" : null, |
| | | "dataType" : { |
| | | "type" : "string", |
| | | "specs" : { |
| | | "length" : "255" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "serialNumber", |
| | | "name" : "设备序列号", |
| | | "functionType" : "u", |
| | | "accessMode" : "rw", |
| | | "functionMode" : "property", |
| | | "desc" : null, |
| | | "dataType" : { |
| | | "type" : "string", |
| | | "specs" : { |
| | | "length" : "255" |
| | | } |
| | | } |
| | | }, { |
| | | "identifier" : "type", |
| | | "name" : "设备型号", |
| | | "functionType" : "u", |
| | | "accessMode" : "rw", |
| | | "functionMode" : "property", |
| | | "desc" : null, |
| | | "dataType" : { |
| | | "type" : "string", |
| | | "specs" : { |
| | | "length" : "255" |
| | | } |
| | | } |
| | | } ], |
| | | "events" : [ { |
| | | "identifier" : "Error", |
| | | "name" : "故障上报", |
| | | "desc" : "", |
| | | "functionMode" : "event", |
| | | "outputData" : [ { |
| | | "identifier" : "ErrorCode", |
| | | "name" : "故障代码", |
| | | "dataType" : { |
| | | "type" : "enum", |
| | | "specs" : { |
| | | "0" : "无故障" |
| | | } |
| | | } |
| | | } ], |
| | | "functionType" : "st", |
| | | "eventType" : "info" |
| | | } ], |
| | | "services" : [ ] |
| | | } |
| | |
| | | <artifactId>blade-system-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-common</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-dict-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-scope-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <build> |
| | |
| | | <module>blade-system</module> |
| | | <module>blade-user</module> |
| | | <module>blade-jfpts</module> |
| | | <module>blade-onenetstudio</module> |
| | | </modules> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-common</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-starter-tenant</artifactId> |
| | |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-starter-api-crypto</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-dict-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-scope-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <!--2021-5-13 修改,由于blade-onenetstudio 模块compie时报错,当前模块不能引入一下三个依赖--> |
| | | <dependencyManagement> |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-common</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-dict-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-scope-api</artifactId> |
| | | <version>${bladex.project.version}</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </dependencyManagement> |
| | | |
| | | </project> |