소스 검색

Merge branch 'usky-zyj' of uskycloud/usky-modules into server-165

James 1 년 전
부모
커밋
6d8deb4715

+ 2 - 1
service-backend/service-backend-api/src/main/java/com/usky/backend/client/DeviceDataClient.java

@@ -3,6 +3,7 @@ package com.usky.backend.client;
 import com.usky.backend.domain.StatusVO;
 import com.usky.backend.domain.request.DeviceDataInfoVO;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -12,5 +13,5 @@ import java.util.List;
 public interface DeviceDataClient {
 
     @RequestMapping(value = "data")
-    void data(List<DeviceDataInfoVO> list);
+    void data(@RequestBody List<DeviceDataInfoVO> list);
 }

+ 1 - 4
service-backend/service-backend-api/src/main/java/com/usky/backend/domain/request/DmpDeviceDataRequestVO.java

@@ -12,10 +12,7 @@ import java.util.Map;
  *
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
-public class DmpDeviceDataRequestVO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
+public class DmpDeviceDataRequestVO{
 
     /**
      * 产品编码

+ 2 - 1
service-backend/service-backend-biz/src/main/java/com/usky/backend/controller/api/DeviceDataApi.java

@@ -5,6 +5,7 @@ import com.usky.backend.domain.request.DeviceDataInfoVO;
 import com.usky.backend.service.DataRealTimeService;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -23,7 +24,7 @@ public class DeviceDataApi implements DeviceDataClient {
     private DataRealTimeService dataRealTimeService;
 
     @Override
-    public void data(List<DeviceDataInfoVO> list){
+    public void data(@RequestBody List<DeviceDataInfoVO> list){
         dataRealTimeService.data(list);
     }
 

+ 68 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseAlarmTypeController.java

@@ -0,0 +1,68 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseAlarmType;
+import com.usky.iot.service.BaseAlarmTypeService;
+import com.usky.iot.service.vo.BaseAlarmTypeRequestVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 告警类型表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-07-12
+ */
+@RestController
+@RequestMapping("/baseAlarmType")
+public class BaseAlarmTypeController {
+
+    @Autowired
+    private BaseAlarmTypeService baseAlarmTypeService;
+
+    /**
+     * 新增
+     * @param baseAlarmType
+     * @return
+     */
+    @PostMapping
+    public ApiResult<Void> add(@RequestBody BaseAlarmType baseAlarmType){
+        baseAlarmTypeService.add(baseAlarmType);
+        return ApiResult.success();
+    }
+
+    /**
+     * 修改
+     * @param baseAlarmType
+     * @return
+     */
+    @PutMapping
+    public ApiResult<Void> update(@RequestBody BaseAlarmType baseAlarmType){
+        baseAlarmTypeService.update(baseAlarmType);
+        return ApiResult.success();
+    }
+
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    @DeleteMapping("/{id}")
+    public ApiResult<Void> remove(@PathVariable("id") Integer id){
+        baseAlarmTypeService.remove(id);
+        return ApiResult.success();
+    }
+
+    @PostMapping("page")
+    public ApiResult<CommonPage<BaseAlarmType>> page(@RequestBody BaseAlarmTypeRequestVO baseAlarmTypeRequestVO){
+        return ApiResult.success(baseAlarmTypeService.page(baseAlarmTypeRequestVO));
+    }
+
+}
+

+ 10 - 10
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DeviceHttpController.java

@@ -27,16 +27,16 @@ public class DeviceHttpController {
         return ApiResult.success();
     }
 
-    /**
-     * 设备实时历史数据-对接客户
-     * @param dmpDeviceDataRequestVO
-     * @return
-     */
-    @PostMapping("/data")
-    public ApiResult<Void> data(@RequestBody DmpDeviceDataRequestVO dmpDeviceDataRequestVO){
-        dmpDataInfoService.data(dmpDeviceDataRequestVO);
-        return ApiResult.success();
-    }
+//    /**
+//     * 设备实时历史数据-对接客户
+//     * @param dmpDeviceDataRequestVO
+//     * @return
+//     */
+//    @PostMapping("/data")
+//    public ApiResult<Void> data(@RequestBody DmpDeviceDataRequestVO dmpDeviceDataRequestVO){
+//        dmpDataInfoService.data(dmpDeviceDataRequestVO);
+//        return ApiResult.success();
+//    }
 
 
 }

+ 96 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseAlarmType.java

@@ -0,0 +1,96 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 告警类型表
+ * </p>
+ *
+ * @author han
+ * @since 2023-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseAlarmType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 类型编码
+     */
+    private String typeCode;
+
+    /**
+     * 类型简称
+     */
+    private String typeAbbrevia;
+
+    /**
+     * 类型名称
+     */
+    private String typeName;
+
+    /**
+     * 产品编码
+     */
+    private String productCode;
+
+    /**
+     * 图标
+     */
+    private String typeImg;
+
+    /**
+     * 告警描述
+     */
+    private String alarmDesc;
+
+    /**
+     * 删除标识
+     */
+    private Integer deleteFlag;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 组织机构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseAlarmTypeMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseAlarmType;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 告警类型表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-07-12
+ */
+public interface BaseAlarmTypeMapper extends CrudMapper<BaseAlarmType> {
+
+}

+ 33 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseAlarmTypeService.java

@@ -0,0 +1,33 @@
+package com.usky.iot.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseAlarmType;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.domain.DmpProductInfo;
+import com.usky.iot.service.vo.BaseAlarmTypeRequestVO;
+
+import java.util.Objects;
+
+/**
+ * <p>
+ * 告警类型表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-07-12
+ */
+public interface BaseAlarmTypeService extends CrudService<BaseAlarmType> {
+
+    void add(BaseAlarmType baseAlarmType);
+
+    void update(BaseAlarmType baseAlarmType);
+
+    void remove(Integer id);
+
+    CommonPage<BaseAlarmType> page(BaseAlarmTypeRequestVO baseAlarmTypeRequestVO);
+
+    boolean checkNameUnique(BaseAlarmType baseAlarmType);
+
+}

+ 93 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmTypeServiceImpl.java

@@ -0,0 +1,93 @@
+package com.usky.iot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.BaseAlarmType;
+import com.usky.iot.domain.DmpProductInfo;
+import com.usky.iot.mapper.BaseAlarmTypeMapper;
+import com.usky.iot.service.BaseAlarmTypeService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.iot.service.vo.BaseAlarmTypeRequestVO;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * <p>
+ * 告警类型表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-07-12
+ */
+@Service
+public class BaseAlarmTypeServiceImpl extends AbstractCrudService<BaseAlarmTypeMapper, BaseAlarmType> implements BaseAlarmTypeService {
+
+    @Override
+    public void add(BaseAlarmType baseAlarmType){
+        if(checkNameUnique(baseAlarmType)){
+            throw new BusinessException("新增告警类型名称失败,"+baseAlarmType.getTypeName()+" 已经存在");
+        }
+        Calendar car = Calendar.getInstance();
+        Date date = car.getTime();
+        baseAlarmType.setTypeCode(baseAlarmType.getTypeAbbrevia()+"-"+new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date));
+        baseAlarmType.setCreateBy(SecurityUtils.getUsername());
+        baseAlarmType.setCreateTime(LocalDateTime.now());
+        baseAlarmType.setTenantId(SecurityUtils.getTenantId());
+        this.save(baseAlarmType);
+    }
+
+    @Override
+    public void update(BaseAlarmType baseAlarmType){
+        if(checkNameUnique(baseAlarmType)){
+            throw new BusinessException("修改告警类型名称失败,"+baseAlarmType.getTypeName()+" 已经存在");
+        }
+        baseAlarmType.setUpdateBy(SecurityUtils.getUsername());
+        baseAlarmType.setUpdateTime(LocalDateTime.now());
+        this.updateById(baseAlarmType);
+    }
+
+    @Override
+    public void remove(Integer id){
+        BaseAlarmType baseAlarmType = this.getById(id);
+        Optional.ofNullable(baseAlarmType).orElseThrow(() -> new BusinessException("告警类型不存在"));
+        baseAlarmType.setDeleteFlag(1);
+        this.updateById(baseAlarmType);
+    }
+
+    @Override
+    public CommonPage<BaseAlarmType> page(BaseAlarmTypeRequestVO requestVO){
+        IPage<BaseAlarmType> page = new Page<>(requestVO.getCurrent(),requestVO.getSize());
+        LambdaQueryWrapper<BaseAlarmType> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(StringUtils.isNotBlank(requestVO.getTypeCode()),BaseAlarmType::getTypeCode,requestVO.getTypeCode())
+                .like(StringUtils.isNotBlank(requestVO.getTypeName()),BaseAlarmType::getTypeName,requestVO.getTypeName())
+                .eq(StringUtils.isNotBlank(requestVO.getProductCode()),BaseAlarmType::getProductCode,requestVO.getProductCode())
+                .eq(BaseAlarmType::getDeleteFlag,0)
+                .orderByDesc(BaseAlarmType::getId);
+        page  = this.page(page,queryWrapper);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getSize(),page.getCurrent());
+
+    }
+
+    @Override
+    public boolean checkNameUnique(BaseAlarmType baseAlarmType) { //根据告警类型判断唯一
+        Integer id = null == baseAlarmType.getId() ? -1 : baseAlarmType.getId();
+        LambdaQueryWrapper<BaseAlarmType> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(BaseAlarmType::getTypeName,baseAlarmType.getTypeName())
+                .eq(BaseAlarmType::getDeleteFlag,0);
+        BaseAlarmType one = this.getOne(queryWrapper);
+        return null != one && !Objects.equals(one.getId(), id);
+    }
+
+}

+ 30 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseAlarmTypeRequestVO.java

@@ -0,0 +1,30 @@
+package com.usky.iot.service.vo;
+
+import lombok.Data;
+
+@Data
+public class BaseAlarmTypeRequestVO {
+    /**
+     * 页数
+     */
+    private Integer current;
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 类型编码
+     */
+    private String typeCode;
+
+    /**
+     * 类型名称
+     */
+    private String typeName;
+
+    /**
+     * 产品编码
+     */
+    private String productCode;
+}

+ 23 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseAlarmTypeMapper.xml

@@ -0,0 +1,23 @@
+<?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.usky.iot.mapper.BaseAlarmTypeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.iot.domain.BaseAlarmType">
+        <id column="id" property="id" />
+        <result column="type_code" property="typeCode" />
+        <result column="type_abbrevia" property="typeAbbrevia" />
+        <result column="type_name" property="typeName" />
+        <result column="product_code" property="productCode" />
+        <result column="type_img" property="typeImg" />
+        <result column="alarm_desc" property="alarmDesc" />
+        <result column="delete_flag" property="deleteFlag" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="dept_id" property="deptId" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>