diff --git a/application/pom.xml b/application/pom.xml index 84bc59f..0bc6af1 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -133,6 +133,13 @@ com.thing.modules filter-rule + + + + org.springframework.boot + spring-boot-starter-test + test + @@ -146,6 +153,13 @@ org.apache.maven.plugins maven-compiler-plugin + + org.apache.maven.plugins + maven-surefire-plugin + + true + + diff --git a/common/util/src/main/java/com/thing/common/util/thread/TBExecutors.java b/common/util/src/main/java/com/thing/common/util/thread/TBExecutors.java deleted file mode 100644 index 7534947..0000000 --- a/common/util/src/main/java/com/thing/common/util/thread/TBExecutors.java +++ /dev/null @@ -1,37 +0,0 @@ - -package com.thing.common.util.thread; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ForkJoinPool; - -public class TBExecutors { - - /** - *从ExecutorService分叉以提供线程轮询名称的方法 - * - * 创建一个线程池,保持足够的线程来支持 - * 给定的并行性级别,并且可能使用多个队列来 - * 减少争用。并行度级别对应于 - * 最大数量的线程积极参与,或可 - * 参与,任务处理。线程的实际数量可能 - * 动态增长和收缩。偷工作的人不会 - * 保证提交任务的顺序 - * 执行。 - * - * @param parallelism the targeted parallelism level - * @param namePrefix used to define thread name - * @return the newly created thread pool - * @throws IllegalArgumentException if {@code parallelism <= 0} - * @since 1.8 - */ - public static ExecutorService newWorkStealingPool(int parallelism, String namePrefix) { - return new ForkJoinPool(parallelism, - new ForkJoinWorkerThreadFactory(namePrefix), - null, true); - } - - public static ExecutorService newWorkStealingPool(int parallelism, Class clazz) { - return newWorkStealingPool(parallelism, clazz.getSimpleName()); - } - -} diff --git a/modules/filter-rule/pom.xml b/modules/filter-rule/pom.xml index 14f28b5..a3161b8 100644 --- a/modules/filter-rule/pom.xml +++ b/modules/filter-rule/pom.xml @@ -21,5 +21,11 @@ com.thing.modules thing + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + \ No newline at end of file diff --git a/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java b/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java index 5e51953..88fcac2 100644 --- a/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java +++ b/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java @@ -2,13 +2,12 @@ package com.thing.filter.rule.listener; import static com.thing.filter.rule.event.FilterSuccessEvent.FILTER_SUCCESS; -import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator; - import com.thing.common.core.enumeration.AggType; import com.thing.common.core.utils.DateTimeUtils; import com.thing.common.core.utils.MapUtil; import com.thing.common.data.tskv.TsKvDTO; import com.thing.common.data.tskv.TsKvEntity; +import com.thing.common.orm.utils.IdGenerator; import com.thing.common.tskv.event.FilterLogSaveEvent; import com.thing.common.tskv.service.TsKvService; import com.thing.filter.rule.dto.FilterRuleDTO; @@ -19,21 +18,18 @@ import com.thing.filter.rule.event.FilterSuccessEvent; import com.thing.filter.rule.service.FilterLogService; import com.thing.filter.rule.service.FilterRuleService; import com.thing.queue.util.Topics; - +import java.time.LocalDateTime; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; - import org.apache.commons.lang3.tuple.Pair; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.time.LocalDateTime; -import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; - /** * @author siyang * @date 2024-03-21 @@ -200,7 +196,7 @@ public class FilterLogSaveEventListener { .appendSourceInfo(detail, tskv.getTs(), tskv.getVal()) .setStatus(LogStatus.MISMATCH.getCode()); filterLog - .setId(new SnowFlakeIDKeyGenerator().nextId()) + .setId(IdGenerator.nextId()) .setTenantCode(detail.getTenantCode()) .setCompanyId(detail.getCompanyId()) .setDeptId(detail.getDeptId()) diff --git a/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterLogServiceImpl.java b/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterLogServiceImpl.java index 7a221ee..7ec16b2 100644 --- a/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterLogServiceImpl.java +++ b/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterLogServiceImpl.java @@ -1,6 +1,8 @@ package com.thing.filter.rule.service.impl; -import cn.hutool.core.map.MapUtil; + +import static com.thing.filter.rule.entity.table.FilterLogEntityTableDef.FILTER_LOG_ENTITY; +import static com.thing.filter.rule.entity.table.FilterRuleEntityTableDef.FILTER_RULE_ENTITY; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; @@ -13,16 +15,12 @@ import com.thing.filter.rule.enumeration.LogStatus; import com.thing.filter.rule.mapper.FilterLogMapper; import com.thing.filter.rule.service.FilterLogService; import com.thing.sys.security.context.UserContext; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - import java.util.List; import java.util.Map; import java.util.Objects; - -import static com.thing.filter.rule.entity.table.FilterLogEntityTableDef.FILTER_LOG_ENTITY; -import static com.thing.filter.rule.entity.table.FilterRuleEntityTableDef.FILTER_RULE_ENTITY; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; /** * 过滤日志 @@ -38,8 +36,8 @@ public class FilterLogServiceImpl extends BaseServiceImpl params) { - String filterRuleName = MapUtil.getStr(params, "filterRuleName"); - Integer status = MapUtil.getInt(params, "status"); + String filterRuleName = MapUtils.getString(params, "filterRuleName"); + Integer status = MapUtils.getInteger(params, "status"); return QueryWrapper.create() .select( FILTER_RULE_ENTITY.NAME.as("filter_rule_name"), diff --git a/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterRuleServiceImpl.java b/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterRuleServiceImpl.java index 855e2c7..944e0ea 100644 --- a/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterRuleServiceImpl.java +++ b/modules/filter-rule/src/main/java/com/thing/filter/rule/service/impl/FilterRuleServiceImpl.java @@ -3,9 +3,6 @@ package com.thing.filter.rule.service.impl; import static com.thing.filter.rule.entity.table.FilterRuleDetailEntityTableDef.FILTER_RULE_DETAIL_ENTITY; import static com.thing.filter.rule.entity.table.FilterRuleEntityTableDef.FILTER_RULE_ENTITY; -import cn.hutool.core.map.MapUtil; -import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator; - import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import com.thing.common.cache.constants.CacheNameEnum; @@ -15,6 +12,7 @@ import com.thing.common.core.utils.ConvertUtils; import com.thing.common.core.utils.FormulaUtil; import com.thing.common.core.web.response.PageData; import com.thing.common.orm.service.impl.BaseServiceImpl; +import com.thing.common.orm.utils.IdGenerator; import com.thing.filter.rule.dto.FilterRuleDTO; import com.thing.filter.rule.dto.FilterRuleDetailDTO; import com.thing.filter.rule.entity.FilterRuleDetailEntity; @@ -22,19 +20,17 @@ import com.thing.filter.rule.entity.FilterRuleEntity; import com.thing.filter.rule.mapper.FilterRuleMapper; import com.thing.filter.rule.service.FilterRuleDetailService; import com.thing.filter.rule.service.FilterRuleService; - import com.thing.sys.security.context.UserContext; +import java.util.*; +import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; - +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.*; -import java.util.stream.Collectors; - /** * 过滤规则表 * @@ -50,9 +46,9 @@ public class FilterRuleServiceImpl extends BaseServiceImpl params) { - String name = MapUtil.getStr(params, "name"); - String thingKeyword = MapUtil.getStr(params, "thingKeyword"); - String attrKeyword = MapUtil.getStr(params, "attrKeyword"); + String name = MapUtils.getString(params, "name"); + String thingKeyword = MapUtils.getString(params, "thingKeyword"); + String attrKeyword = MapUtils.getString(params, "attrKeyword"); QueryWrapper wrapper = QueryWrapper.create() .select(FILTER_RULE_ENTITY.ALL_COLUMNS) @@ -190,7 +186,7 @@ public class FilterRuleServiceImpl extends BaseServiceImpl details = filterRule.getDetails(); diff --git a/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java b/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java index f2913aa..739412b 100644 --- a/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java @@ -247,6 +247,7 @@ public class AnalysisDataServiceImpl implements AnalysisDataService { if(first.isPresent()){ IotThingSourceDTO iotThingSourceDTO = first.get(); relationDTO.setThingAttrUnit(iotThingSourceDTO.getThingAttrUnit()); + relationDTO.setDataDealConfig(iotThingSourceDTO.getDataDealConfig()); }}); viewSourceDTO.setDictList(relationDTOList); return viewSourceDTO; diff --git a/modules/thing/src/main/java/com/thing/device/menu/controller/IotThingMenuConfigController.java b/modules/thing/src/main/java/com/thing/device/menu/controller/IotThingMenuConfigController.java index f330eb7..dc79ffc 100644 --- a/modules/thing/src/main/java/com/thing/device/menu/controller/IotThingMenuConfigController.java +++ b/modules/thing/src/main/java/com/thing/device/menu/controller/IotThingMenuConfigController.java @@ -1,6 +1,7 @@ package com.thing.device.menu.controller; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.thing.common.core.annotation.LogOperation; import com.thing.common.core.constants.Constant; @@ -13,6 +14,8 @@ import com.thing.common.core.web.response.PageData; import com.thing.common.core.web.response.Result; import com.thing.device.menu.dto.IotThingMenuConfigDTO; import com.thing.device.menu.service.IotThingMenuConfigService; +import com.thing.thing.relation.root.dto.IotThingRelationRootDTO; +import com.thing.thing.relation.root.service.IotThingRelationRootService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; @@ -30,6 +33,7 @@ import java.util.Map; public class IotThingMenuConfigController { private final IotThingMenuConfigService iotThingMenuConfigService; + private final IotThingRelationRootService relationRootService; @GetMapping("page") @Operation(summary = "分页") @@ -70,6 +74,18 @@ public class IotThingMenuConfigController { } } } + if (ObjectUtil.isNotNull(data) && ObjectUtil.isNotNull(data.getMenuConfig())) { + JSONArray jsonArray = JSONArray.parseArray(data.getMenuConfig()); + if (jsonArray != null && !jsonArray.isEmpty()) { + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + Long id = jsonObject.getLong("id"); + IotThingRelationRootDTO relationRootDTO = relationRootService.findById(id); + jsonObject.put("name", relationRootDTO.getName()); + } + data.setMenuConfig(jsonArray.toString()); + } + } return new Result().ok(data); } diff --git a/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java index 666e486..32f3297 100644 --- a/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java @@ -319,6 +319,7 @@ public class IotThingApiServiceImpl extends BaseServiceImpl org.springframework.boot spring-boot-starter-parent - 3.2.2 + 3.3.2