diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/AlmDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/AlmDto.java index ba7e53d..286bd2a 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/AlmDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/AlmDto.java @@ -24,7 +24,7 @@ public class AlmDto implements Serializable { @NotNull(message = "告警事件名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "告警事件编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java index 24ab302..98cbf40 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/BmdDto.java @@ -26,7 +26,7 @@ public class BmdDto implements Serializable { @NotNull(message = "数据名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "数据编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/CtrlDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/CtrlDto.java index 50aee64..091fa95 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/CtrlDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/CtrlDto.java @@ -26,7 +26,7 @@ public class CtrlDto implements Serializable { @NotNull(message = "控制名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "控制编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/DoDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/DoDto.java index 30ad16a..141e1b7 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/DoDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/DoDto.java @@ -24,7 +24,7 @@ public class DoDto implements Serializable { @NotNull(message = "开出信号名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "DO编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EpdPqdDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EpdPqdDto.java index bc1ce76..fe80b0e 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EpdPqdDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EpdPqdDto.java @@ -26,7 +26,7 @@ public class EpdPqdDto implements Serializable { @NotNull(message = "数据名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "数据编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EvtDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EvtDto.java index 110a4f7..6a40e23 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EvtDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/EvtDto.java @@ -25,7 +25,7 @@ public class EvtDto implements Serializable { @NotNull(message = "事件信息名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "事件编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/ParmDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/ParmDto.java index 83ddfe4..a4a5ef8 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/ParmDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/ParmDto.java @@ -26,7 +26,7 @@ public class ParmDto implements Serializable { @NotNull(message = "参数名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "参数编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/SetDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/SetDto.java index 7bcacb6..644e253 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/SetDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/SetDto.java @@ -25,7 +25,7 @@ public class SetDto implements Serializable { @NotNull(message = "参数名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "参数编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java index 8b89f97..790a7f7 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/data/StsDto.java @@ -26,7 +26,7 @@ public class StsDto implements Serializable { @NotNull(message = "状态名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "状态编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/ApfDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/ApfDto.java index 056ac95..eebbdec 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/ApfDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/ApfDto.java @@ -26,7 +26,7 @@ public class ApfDto implements Serializable { @NotNull(message = "数据名称,不为空") private String name; - @SerializedName("IDX") + @SerializedName("Idx") @NotNull(message = "数据编号,不为空") private Integer idx; diff --git a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/TemplateDto.java b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/TemplateDto.java index f340c2d..3eb2f84 100644 --- a/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/TemplateDto.java +++ b/iot-access/access-api/src/main/java/com/njcn/access/pojo/dto/devModel/TemplateDto.java @@ -43,14 +43,6 @@ public class TemplateDto implements Serializable { @ApiModelProperty(value = "逻辑子设备序列") private List clDevDtoList; - @SerializedName("SoftInfo") - @NotEmpty(message = "软件信息,不可为空") - private List softInfoDto; - - @SerializedName("LdevInfo") - @NotEmpty(message = "设备信息,不可为空") - private List lDevInfoDto; - @SerializedName("Apf") @NotEmpty(message = "谐波治理设备Apf,不可为空") private List apfDto; diff --git a/iot-access/access-boot/Dockerfile b/iot-access/access-boot/Dockerfile new file mode 100644 index 0000000..0f57d78 --- /dev/null +++ b/iot-access/access-boot/Dockerfile @@ -0,0 +1,12 @@ +FROM eclipse-temurin:8-jdk-centos7 +MAINTAINER hongawen_13914774158@163.com +ENV JAVA_OPTS="-Xms1024m -Xmx1024m" +# 挂载时区的目录 +VOLUME /usr/share/zoneinfo +# 设置时区为上海 +ENV TZ=Asia/Shanghai +# 设置时区信息 +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +ADD target/accessboot.jar accessboot.jar +ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /accessboot.jar +EXPOSE 10301 \ No newline at end of file diff --git a/iot-access/access-boot/pom.xml b/iot-access/access-boot/pom.xml index 37e6154..91efac1 100644 --- a/iot-access/access-boot/pom.xml +++ b/iot-access/access-boot/pom.xml @@ -87,7 +87,7 @@ com.spotify docker-maven-plugin - 1.0.0 + 1.2.2 diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/controller/CsDevModelController.java b/iot-access/access-boot/src/main/java/com/njcn/access/controller/CsDevModelController.java index 47674d3..734cde8 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/controller/CsDevModelController.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/controller/CsDevModelController.java @@ -14,10 +14,8 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -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 org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; /** * 类的介绍: @@ -38,10 +36,9 @@ public class CsDevModelController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/addModel") @ApiOperation("新增设备模板") - @ApiImplicitParam(name = "devModelParam", value = "设备模板参数", required = true) - public HttpResult addModel(@RequestBody @Validated DevModelParam devModelParam){ + public HttpResult addModel(@RequestPart("file") @Validated MultipartFile file){ String methodDescribe = getMethodDescribe("addModel"); - csDevModelService.addModel(devModelParam); + csDevModelService.addModel(file); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/ICsDevModelService.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/ICsDevModelService.java index 1a539fd..0f1eb18 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/ICsDevModelService.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/ICsDevModelService.java @@ -1,6 +1,6 @@ package com.njcn.access.service; -import com.njcn.access.pojo.param.DevModelParam; +import org.springframework.web.multipart.MultipartFile; /** * 类的介绍: @@ -14,8 +14,8 @@ public interface ICsDevModelService { /** * 解析模板文件->入库 - * @param devModelParam + * @param file */ - void addModel(DevModelParam devModelParam); + void addModel(MultipartFile file); } diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java index 3ce81ba..97a46ea 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java @@ -2,15 +2,22 @@ package com.njcn.access.service.impl; import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.njcn.access.pojo.dto.devModel.TemplateDto; -import com.njcn.access.pojo.param.DevModelParam; import com.njcn.access.service.ICsDevModelService; import com.njcn.access.utils.JsonUtil; -import com.njcn.oss.constant.OssPath; +import com.njcn.csdevice.api.DevModelFeignClient; +import com.njcn.csdevice.pojo.param.CsDevModelAddParm; +import com.njcn.csdevice.pojo.po.CsDevModelPO; import com.njcn.oss.utils.FileStorageUtil; +import com.njcn.system.api.DictTreeFeignClient; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.sql.Date; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; /** * 类的介绍: @@ -25,20 +32,44 @@ public class CsDevModelServiceImpl implements ICsDevModelService { private final FileStorageUtil fileStorageUtil; + private final DevModelFeignClient devModelFeignClient; + + private final DictTreeFeignClient dictTreeFeignClient; + @Override - public void addModel(DevModelParam devModelParam) { + @Transactional(rollbackFor = Exception.class) + public void addModel(MultipartFile file) { String json = null; try { - json = JsonUtil.convertStreamToString(devModelParam.getFile().getInputStream()); + json = JsonUtil.convertStreamToString(file.getInputStream()); Gson gson = new Gson(); TemplateDto templateDto = gson.fromJson(json, TemplateDto.class); //模板文件存入文件服务器 //String filePath = fileStorageUtil.uploadMultipart(devModelParam.getFile(), OssPath.DEV_MODEL + devModelParam.getDevType() + "_"); String filePath = ""; - System.out.println("templateDto==:" + templateDto); + //1.录入cs_dev_model表,记录装置型号和模板记录 + addCsDevModel(templateDto,filePath); + + + + } catch (IOException e) { e.printStackTrace(); } } + /** + * 新增cs_dev_model数据 + */ + private CsDevModelPO addCsDevModel(TemplateDto templateDto, String filePath){ + CsDevModelAddParm csDevModelAddParm = new CsDevModelAddParm(); + csDevModelAddParm.setDevTypeName(templateDto.getDevType()); + csDevModelAddParm.setName(templateDto.getDevType()); + csDevModelAddParm.setVersionNo(templateDto.getVersion()); + csDevModelAddParm.setTime(templateDto.getTime()); + csDevModelAddParm.setFilePath(filePath); + CsDevModelPO csDevModel = devModelFeignClient.addDevModel(csDevModelAddParm).getData(); + return csDevModel; + } + } diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java index ae787b7..0d8a1db 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDeviceServiceImpl.java @@ -88,7 +88,7 @@ public class CsDeviceServiceImpl implements ICsDeviceService { } //3.判断客户端是否在线 //mqttUtil.judgeClientOnline(nDid); - boolean mqttClient = mqttUtil.judgeClientOnline("access-boot123456"); + boolean mqttClient = mqttUtil.judgeClientOnline("access-boot1234567"); if (!mqttClient){ throw new BusinessException(AccessResponseEnum.MISSING_CLIENT); } diff --git a/iot-access/access-boot/src/main/resources/bootstrap.yml b/iot-access/access-boot/src/main/resources/bootstrap.yml index a02e0fb..624eafa 100644 --- a/iot-access/access-boot/src/main/resources/bootstrap.yml +++ b/iot-access/access-boot/src/main/resources/bootstrap.yml @@ -33,8 +33,6 @@ spring: refresh: true - data-Id: algorithm-config.yaml refresh: true - - data-Id: kafka-config.yaml - refresh: true main: allow-bean-definition-overriding: true @@ -52,4 +50,4 @@ mybatis-plus: mqtt: - client-id: access-boot123456 \ No newline at end of file + client-id: access-boot1234567 \ No newline at end of file diff --git a/pom.xml b/pom.xml index b1a4df3..4dc4c24 100644 --- a/pom.xml +++ b/pom.xml @@ -36,11 +36,12 @@ 192.168.1.139 - 192.168.1.31 + 192.168.1.13 ${middle.server.url}:18848 415a1c87-33aa-47bd-8e25-13cc456c87ed + ${middle.server.url}:8080