Ver código fonte

修复redisson高耦合的问题

nahida 1 ano atrás
pai
commit
aeafea6ae7

+ 5 - 1
pole-service/pom.xml

@@ -91,7 +91,11 @@
             <groupId>io.netty</groupId>
             <artifactId>netty-all</artifactId>
         </dependency>
-
+        <!--redisson依赖-->
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 1 - 1
zksy-common/src/main/java/com/zksy/common/config/RedissonConfig.java → pole-service/src/main/java/com/zksy/pole/config/RedissonConfig.java

@@ -1,4 +1,4 @@
-package com.zksy.common.config;
+package com.zksy.pole.config;
 
 import org.redisson.Redisson;
 import org.redisson.api.RedissonClient;

+ 27 - 0
pole-service/src/main/java/com/zksy/pole/controller/DgEquipmentAlarmController.java

@@ -0,0 +1,27 @@
+package com.zksy.pole.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.domain.Result;
+import com.zksy.common.utils.SearchUtil;
+import com.zksy.pole.domain.po.DgEquipmentAlarm;
+import com.zksy.pole.service.DgEquipmentAlarmService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/DgEquipmentAlarm")
+@Api(tags = "灯控设备告警信息", description = "灯控设备告警信息")
+public class DgEquipmentAlarmController {
+    @Autowired
+    private DgEquipmentAlarmService dgEquipmentAlarmService;
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "分页查询")
+    public Result getByConditionJsonPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        Page<DgEquipmentAlarm> page = dgEquipmentAlarmService.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+        return Result.ok(page);
+    }
+}

+ 1 - 7
pole-service/src/main/java/com/zksy/pole/factory/HandleCmdFactory.java

@@ -1,18 +1,12 @@
 package com.zksy.pole.factory;
 
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.json.JSON;
-import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
-import com.zksy.common.exception.CommonException;
-import com.zksy.common.utils.LockUtils;
 import com.zksy.pole.domain.po.*;
 import com.zksy.pole.factory.impl.*;
-import com.zksy.pole.mapper.DgGatewayRegistrationMapper;
+import com.zksy.pole.utils.LockUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.redisson.api.RLock;
-import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;

+ 0 - 5
pole-service/src/main/java/com/zksy/pole/service/impl/InstructionIssuanceServerImpl.java

@@ -1,19 +1,15 @@
 package com.zksy.pole.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
-import com.zksy.common.utils.LockUtils;
 import com.zksy.pole.MQTTServer.request.MqttRequest;
 import com.zksy.pole.MQTTServer.server.MQTTServer;
 import com.zksy.pole.domain.dto.*;
-import com.zksy.pole.factory.HandleCmdFactory;
 import com.zksy.pole.service.InstructionIssuanceServer;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelId;
 import io.netty.handler.codec.mqtt.*;
 import lombok.extern.slf4j.Slf4j;
-import org.redisson.api.RLock;
-import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -21,7 +17,6 @@ import org.springframework.stereotype.Service;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.TimeUnit;
 
 /**
  * @author Administrator

+ 1 - 1
zksy-common/src/main/java/com/zksy/common/utils/LockUtils.java → pole-service/src/main/java/com/zksy/pole/utils/LockUtils.java

@@ -1,4 +1,4 @@
-package com.zksy.common.utils;
+package com.zksy.pole.utils;
 
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;

+ 22 - 0
zksy-common/src/main/java/com/zksy/common/domain/dto/ConditionDTO.java

@@ -0,0 +1,22 @@
+package com.zksy.common.domain.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ConditionDTO implements Serializable {
+    private static final long serialVersionUID = -5099378457111419832L;
+    /**
+     * 数据库字段名
+     */
+    private String column;
+    /**
+     * 字段值
+     */
+    private String value;
+    /**
+     * 连接类型,如llike,equals,gt,ge,lt,le
+     */
+    private String type;
+}

+ 1 - 1
zksy-common/src/main/java/com/zksy/common/domain/PageDTO.java → zksy-common/src/main/java/com/zksy/common/domain/dto/PageDTO.java

@@ -1,4 +1,4 @@
-package com.zksy.common.domain;
+package com.zksy.common.domain.dto;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

+ 1 - 1
zksy-common/src/main/java/com/zksy/common/domain/PageQuery.java → zksy-common/src/main/java/com/zksy/common/domain/query/PageQuery.java

@@ -1,4 +1,4 @@
-package com.zksy.common.domain;
+package com.zksy.common.domain.query;
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;

+ 59 - 0
zksy-common/src/main/java/com/zksy/common/utils/SearchUtil.java

@@ -0,0 +1,59 @@
+package com.zksy.common.utils;
+
+
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.zksy.common.domain.dto.ConditionDTO;
+
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * @author zkh
+ * @since 2020-03-16
+ */
+public class SearchUtil {
+    public static QueryWrapper parseWhereSql(String conditionJson) throws Exception{
+        QueryWrapper<?> queryWrapper = new QueryWrapper();
+        String[] empty = {"none"};
+        if(StringUtils.isNotBlank(conditionJson)){
+            conditionJson = URLDecoder.decode(conditionJson, "UTF-8");
+            List<ConditionDTO> conditionList = JSONUtil.toList(conditionJson, ConditionDTO.class);
+            if(conditionList.size()>0){
+                for(ConditionDTO conditionVo : conditionList){
+                    switch (conditionVo.getType()){
+                        case "eq": queryWrapper.eq(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "ne": queryWrapper.ne(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "between": queryWrapper.between(conditionVo.getColumn(), conditionVo.getValue() == null ? empty : conditionVo.getValue().split(",")[0],conditionVo.getValue().split(",")[1]);break;
+                        case "like": queryWrapper.like(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "leftLike": queryWrapper.likeLeft(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "rightLike": queryWrapper.likeRight(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "notLike": queryWrapper.notLike(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "exists": queryWrapper.exists(conditionVo.getValue());break;
+                        case "notExists": queryWrapper.notExists(conditionVo.getValue());break;
+                        case "gt": queryWrapper.gt(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "lt": queryWrapper.lt(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "ge": queryWrapper.ge(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "le": queryWrapper.le(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "or": queryWrapper.or();break;
+                        case "orLike2":
+                            String[] columns = conditionVo.getColumn().split(",");
+                            queryWrapper.and(wrapper ->
+                                    wrapper.and(swrapper -> swrapper.like(columns[0], conditionVo.getValue()).or().like(columns[1], conditionVo.getValue())));
+                            break;
+                        case "in": queryWrapper.in(conditionVo.getColumn(), conditionVo.getValue() == null ? empty : conditionVo.getValue().split(","));break;
+                        case "notIn": queryWrapper.notIn(conditionVo.getColumn(), conditionVo.getValue() == null ? empty : conditionVo.getValue().split(","));break;
+                        case "isNull": queryWrapper.isNull(conditionVo.getColumn());break;
+                        case "isNotNull": queryWrapper.isNotNull(conditionVo.getColumn());break;
+                        case "orderByAsc": queryWrapper.orderByAsc(conditionVo.getColumn());break;
+                        case "orderByDesc": queryWrapper.orderByDesc(conditionVo.getColumn());break;
+                        default:
+                    }
+                }
+            }
+        }
+        return queryWrapper;
+    }
+
+}

+ 1 - 3
zksy-common/src/main/resources/META-INF/spring.factories

@@ -1,6 +1,4 @@
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
   com.zksy.common.config.MyBatisConfig,\
   com.zksy.common.config.MvcConfig,\
-  com.zksy.common.config.JsonConfig,\
-  com.zksy.common.config.RedissonConfig,\
-  com.zksy.common.utils.LockUtils
+  com.zksy.common.config.JsonConfig