diff --git a/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/fallback/PointValueClientFallback.java b/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/fallback/PointValueClientFallback.java index 28967b67e..039fc70b2 100644 --- a/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/fallback/PointValueClientFallback.java +++ b/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/fallback/PointValueClientFallback.java @@ -25,8 +25,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; -import java.util.List; - /** * PointValueClientFallback * @@ -44,17 +42,12 @@ public class PointValueClientFallback implements FallbackFactory> latest(String deviceId, Boolean history) { + public R> latest(PointValueDto pointValueDto, String tenantId) { return R.fail(message); } @Override - public R latest(String deviceId, String pointId, Boolean history) { - return R.fail(message); - } - - @Override - public R> list(PointValueDto pointValueDto) { + public R> list(PointValueDto pointValueDto, String tenantId) { return R.fail(message); } diff --git a/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/feign/PointValueClient.java b/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/feign/PointValueClient.java index dca021bad..46c68ee89 100644 --- a/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/feign/PointValueClient.java +++ b/dc3-api/dc3-api-data/src/main/java/io/github/pnoker/api/center/data/feign/PointValueClient.java @@ -23,37 +23,29 @@ import io.github.pnoker.common.bean.point.PointValue; import io.github.pnoker.common.constant.ServiceConstant; import io.github.pnoker.common.dto.PointValueDto; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -import javax.validation.constraints.NotNull; -import java.util.List; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; /** * 数据 FeignClient * * @author pnoker */ +@Validated @FeignClient(path = ServiceConstant.Data.VALUE_URL_PREFIX, name = ServiceConstant.Data.SERVICE_NAME, fallbackFactory = PointValueClientFallback.class) public interface PointValueClient { /** * 查询最新 PointValue 集合 * - * @param deviceId Device Id - * @return PointValue Array + * @param pointValueDto PointValueDto + * @return Page */ - @GetMapping("/latest/device_id/{deviceId}") - R> latest(@NotNull @PathVariable(value = "deviceId") String deviceId, @RequestParam(required = false, defaultValue = "false") Boolean history); - - /** - * 查询最新 PointValue - * - * @param deviceId Device Id - * @param pointId Point Id - * @return PointValue - */ - @GetMapping("/latest/device_id/{deviceId}/point_id/{pointId}") - R latest(@NotNull @PathVariable(value = "deviceId") String deviceId, @NotNull @PathVariable(value = "pointId") String pointId, @RequestParam(required = false, defaultValue = "false") Boolean history); + @PostMapping("/latest") + R> latest(@RequestBody PointValueDto pointValueDto, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); /** * 分页查询 PointValue @@ -62,5 +54,5 @@ public interface PointValueClient { * @return Page */ @PostMapping("/list") - R> list(@RequestBody(required = false) PointValueDto pointValueDto); + R> list(@RequestBody(required = false) PointValueDto pointValueDto, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); } diff --git a/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/fallback/DictionaryClientFallback.java b/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/fallback/DictionaryClientFallback.java index 2dc66d041..46bc783dc 100644 --- a/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/fallback/DictionaryClientFallback.java +++ b/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/fallback/DictionaryClientFallback.java @@ -16,15 +16,15 @@ package io.github.pnoker.api.center.manager.fallback; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.DictionaryClient; import io.github.pnoker.common.bean.Dictionary; import io.github.pnoker.common.bean.R; +import io.github.pnoker.common.dto.DictionaryDto; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; -import java.util.List; - /** * DictionaryClientFallback * @@ -42,32 +42,22 @@ public class DictionaryClientFallback implements FallbackFactory> driverDictionary(String tenantId) { + public R> driverDictionary(DictionaryDto dictionaryDto, String tenantId) { return R.fail(message); } @Override - public R> driverAttributeDictionary(String tenantId) { + public R> profileDictionary(DictionaryDto dictionaryDto, String tenantId) { return R.fail(message); } @Override - public R> pointAttributeDictionary(String tenantId) { + public R> deviceDictionary(DictionaryDto dictionaryDto, String tenantId) { return R.fail(message); } @Override - public R> profileDictionary(String tenantId) { - return R.fail(message); - } - - @Override - public R> deviceDictionary(String tenantId) { - return R.fail(message); - } - - @Override - public R> pointDictionary(String parent, String tenantId) { + public R> pointDictionary(DictionaryDto dictionaryDto, String tenantId) { return R.fail(message); } }; diff --git a/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/feign/DictionaryClient.java b/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/feign/DictionaryClient.java index 81c84c0c2..7e4d853ae 100644 --- a/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/feign/DictionaryClient.java +++ b/dc3-api/dc3-api-manager/src/main/java/io/github/pnoker/api/center/manager/feign/DictionaryClient.java @@ -16,18 +16,17 @@ package io.github.pnoker.api.center.manager.feign; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.fallback.DictionaryClientFallback; import io.github.pnoker.common.bean.Dictionary; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.ServiceConstant; +import io.github.pnoker.common.dto.DictionaryDto; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; -import javax.validation.constraints.NotNull; -import java.util.List; - /** * 字典 FeignClient * @@ -39,50 +38,36 @@ public interface DictionaryClient { /** * 查询驱动 Dictionary * - * @return List + * @param dictionaryDto DictionaryDto + * @return Page */ - @GetMapping("/driver") - R> driverDictionary(@RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); - - /** - * 查询驱动属性 Dictionary - * - * @return List - */ - @GetMapping("/driver_attribute") - R> driverAttributeDictionary(@RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); - - /** - * 查询位号属性 Dictionary - * - * @return List - */ - @GetMapping("/point_attribute") - R> pointAttributeDictionary(@RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); + @PostMapping("/driver") + R> driverDictionary(@RequestBody(required = false) DictionaryDto dictionaryDto, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); /** * 查询模板 Dictionary * - * @return List + * @return Page */ - @GetMapping("/profile") - R> profileDictionary(@RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); + @PostMapping("/profile") + R> profileDictionary(@RequestBody(required = false) DictionaryDto dictionaryDto, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); /** * 查询设备 Dictionary * - * @return List + * @param dictionaryDto DictionaryDto + * @return Page */ - @GetMapping("/device") - R> deviceDictionary(@RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); + @PostMapping("/device") + R> deviceDictionary(@RequestBody(required = false) DictionaryDto dictionaryDto, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); /** * 查询位号 Dictionary * - * @param parent profile/device - * @return List + * @param dictionaryDto DictionaryDto + * @return Page */ - @GetMapping("/point/{parent}") - R> pointDictionary(@NotNull @PathVariable("parent") String parent, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); + @PostMapping("/point") + R> pointDictionary(@RequestBody(required = false) DictionaryDto dictionaryDto, @RequestHeader(value = ServiceConstant.Header.X_AUTH_TENANT_ID, defaultValue = "-1") String tenantId); } diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/BlackIpApi.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/BlackIpApi.java index 7f10df696..fd3ca197c 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/BlackIpApi.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/BlackIpApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.auth.feign.BlackIpClient; import io.github.pnoker.center.auth.service.BlackIpService; @@ -46,7 +47,7 @@ public class BlackIpApi implements BlackIpClient { public R add(BlackIp blackIp) { try { BlackIp add = blackIpService.add(blackIp); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { return R.ok(add); } } catch (Exception e) { @@ -68,7 +69,7 @@ public class BlackIpApi implements BlackIpClient { public R update(BlackIp blackIp) { try { BlackIp update = blackIpService.update(blackIp); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { return R.ok(update); } } catch (Exception e) { @@ -81,7 +82,7 @@ public class BlackIpApi implements BlackIpClient { public R selectById(String id) { try { BlackIp select = blackIpService.selectById(id); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -94,7 +95,7 @@ public class BlackIpApi implements BlackIpClient { public R selectByIp(String ip) { try { BlackIp select = blackIpService.selectByIp(ip); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -106,8 +107,11 @@ public class BlackIpApi implements BlackIpClient { @Override public R> list(BlackIpDto blackIpDto) { try { + if (ObjectUtil.isEmpty(blackIpDto)) { + blackIpDto = new BlackIpDto(); + } Page page = blackIpService.list(blackIpDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/TenantApi.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/TenantApi.java index d43f2404b..9d103a335 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/TenantApi.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/TenantApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.auth.feign.TenantClient; import io.github.pnoker.center.auth.service.TenantService; @@ -38,6 +39,7 @@ import javax.annotation.Resource; @RestController @RequestMapping(ServiceConstant.Auth.TENANT_URL_PREFIX) public class TenantApi implements TenantClient { + @Resource private TenantService tenantService; @@ -45,7 +47,7 @@ public class TenantApi implements TenantClient { public R add(Tenant tenant) { try { Tenant add = tenantService.add(tenant); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { return R.ok(add); } } catch (Exception e) { @@ -67,7 +69,7 @@ public class TenantApi implements TenantClient { public R update(Tenant tenant) { try { Tenant update = tenantService.update(tenant.setName(null)); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { return R.ok(update); } } catch (Exception e) { @@ -80,7 +82,7 @@ public class TenantApi implements TenantClient { public R selectById(String id) { try { Tenant select = tenantService.selectById(id); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -93,7 +95,7 @@ public class TenantApi implements TenantClient { public R selectByName(String name) { try { Tenant select = tenantService.selectByName(name); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -105,8 +107,11 @@ public class TenantApi implements TenantClient { @Override public R> list(TenantDto tenantDto) { try { + if (ObjectUtil.isEmpty(tenantDto)) { + tenantDto = new TenantDto(); + } Page page = tenantService.list(tenantDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/UserApi.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/UserApi.java index e1da982b7..4a4adf8d5 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/UserApi.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/api/UserApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.auth.feign.UserClient; import io.github.pnoker.center.auth.service.UserService; @@ -46,7 +47,7 @@ public class UserApi implements UserClient { public R add(User user) { try { User add = userService.add(user); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { return R.ok(add); } } catch (Exception e) { @@ -68,7 +69,7 @@ public class UserApi implements UserClient { public R update(User user) { try { User update = userService.update(user.setName(null)); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { return R.ok(update); } } catch (Exception e) { @@ -90,7 +91,7 @@ public class UserApi implements UserClient { public R selectById(String id) { try { User select = userService.selectById(id); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -103,7 +104,7 @@ public class UserApi implements UserClient { public R selectByName(String name) { try { User select = userService.selectByName(name, false); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -115,8 +116,11 @@ public class UserApi implements UserClient { @Override public R> list(UserDto userDto) { try { + if (ObjectUtil.isEmpty(userDto)) { + userDto = new UserDto(); + } Page page = userService.list(userDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/BlackIpServiceImpl.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/BlackIpServiceImpl.java index 66d845eb2..5caa68432 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/BlackIpServiceImpl.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/BlackIpServiceImpl.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -46,7 +47,7 @@ public class BlackIpServiceImpl implements BlackIpService { @Override public BlackIp add(BlackIp blackIp) { BlackIp select = selectByIp(blackIp.getIp()); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { throw new ServiceException("The ip already exists in the blacklist"); } if (blackIpMapper.insert(blackIp) > 0) { @@ -98,7 +99,7 @@ public class BlackIpServiceImpl implements BlackIpService { @Override public boolean checkBlackIpValid(String ip) { BlackIp blackIp = selectByIp(ip); - if (null != blackIp) { + if (ObjectUtil.isNotNull(blackIp)) { return blackIp.getEnable(); } return false; @@ -107,10 +108,8 @@ public class BlackIpServiceImpl implements BlackIpService { @Override public LambdaQueryWrapper fuzzyQuery(BlackIpDto blackIpDto) { LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); - if (null != blackIpDto) { - if (StrUtil.isNotBlank(blackIpDto.getIp())) { - queryWrapper.like(BlackIp::getIp, blackIpDto.getIp()); - } + if (ObjectUtil.isNotNull(blackIpDto)) { + queryWrapper.like(StrUtil.isNotEmpty(blackIpDto.getIp()), BlackIp::getIp, blackIpDto.getIp()); } return queryWrapper; } diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantBindServiceImpl.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantBindServiceImpl.java index 8896a8db7..bdf85ab8b 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantBindServiceImpl.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantBindServiceImpl.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -31,7 +32,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Optional; /** * TenantBindService Impl @@ -41,6 +41,7 @@ import java.util.Optional; @Slf4j @Service public class TenantBindServiceImpl implements TenantBindService { + @Resource private TenantBindMapper tenantBindMapper; @@ -91,7 +92,7 @@ public class TenantBindServiceImpl implements TenantBindService { @Override public Page list(TenantBindDto tenantBindDto) { - if (!Optional.ofNullable(tenantBindDto.getPage()).isPresent()) { + if (ObjectUtil.isNull(tenantBindDto.getPage())) { tenantBindDto.setPage(new Pages()); } return tenantBindMapper.selectPage(tenantBindDto.getPage().convert(), fuzzyQuery(tenantBindDto)); @@ -100,13 +101,9 @@ public class TenantBindServiceImpl implements TenantBindService { @Override public LambdaQueryWrapper fuzzyQuery(TenantBindDto tenantBindDto) { LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); - if (null != tenantBindDto) { - if (StrUtil.isNotBlank(tenantBindDto.getTenantId())) { - queryWrapper.eq(TenantBind::getTenantId, tenantBindDto.getTenantId()); - } - if (StrUtil.isNotBlank(tenantBindDto.getUserId())) { - queryWrapper.eq(TenantBind::getUserId, tenantBindDto.getUserId()); - } + if (ObjectUtil.isNotNull(tenantBindDto)) { + queryWrapper.eq(StrUtil.isNotEmpty(tenantBindDto.getTenantId()), TenantBind::getTenantId, tenantBindDto.getTenantId()); + queryWrapper.eq(StrUtil.isNotEmpty(tenantBindDto.getUserId()), TenantBind::getUserId, tenantBindDto.getUserId()); } return queryWrapper; } diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantServiceImpl.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantServiceImpl.java index 24e32d2bb..0b15acf2d 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantServiceImpl.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TenantServiceImpl.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -49,7 +50,7 @@ public class TenantServiceImpl implements TenantService { @Override public Tenant add(Tenant tenant) { Tenant select = selectByName(tenant.getName()); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { throw new DuplicateException("The tenant already exists"); } if (tenantMapper.insert(tenant) > 0) { @@ -96,7 +97,7 @@ public class TenantServiceImpl implements TenantService { @Override public Page list(TenantDto tenantDto) { - if (!Optional.ofNullable(tenantDto.getPage()).isPresent()) { + if (ObjectUtil.isNull(tenantDto.getPage())) { tenantDto.setPage(new Pages()); } return tenantMapper.selectPage(tenantDto.getPage().convert(), fuzzyQuery(tenantDto)); @@ -105,10 +106,8 @@ public class TenantServiceImpl implements TenantService { @Override public LambdaQueryWrapper fuzzyQuery(TenantDto tenantDto) { LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); - if (null != tenantDto) { - if (StrUtil.isNotBlank(tenantDto.getName())) { - queryWrapper.like(Tenant::getName, tenantDto.getName()); - } + if (ObjectUtil.isNotNull(tenantDto)) { + queryWrapper.like(StrUtil.isNotEmpty(tenantDto.getName()), Tenant::getName, tenantDto.getName()); } return queryWrapper; } diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TokenServiceImpl.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TokenServiceImpl.java index dd1555a58..422f3de19 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TokenServiceImpl.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/TokenServiceImpl.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.auth.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import io.github.pnoker.center.auth.bean.TokenValid; @@ -81,7 +82,7 @@ public class TokenServiceImpl implements TokenService { tenantBindService.selectByTenantIdAndUserId(tempTenant.getId(), tempUser.getId()); String redisSaltKey = CacheConstant.Entity.USER + CacheConstant.Suffix.SALT + CommonConstant.Symbol.SEPARATOR + name; String tempSalt = redisUtil.getKey(redisSaltKey, String.class); - if (StrUtil.isNotBlank(tempSalt) && tempSalt.equals(salt)) { + if (StrUtil.isNotEmpty(tempSalt) && tempSalt.equals(salt)) { if (Dc3Util.md5(tempUser.getPassword() + tempSalt).equals(password)) { String redisTokenKey = CacheConstant.Entity.USER + CacheConstant.Suffix.TOKEN + CommonConstant.Symbol.SEPARATOR + name; String token = KeyUtil.generateToken(name, tempSalt); @@ -122,7 +123,7 @@ public class TokenServiceImpl implements TokenService { private void checkUserLimit(String username) { String redisKey = CacheConstant.Entity.USER + CacheConstant.Suffix.LIMIT + CommonConstant.Symbol.SEPARATOR + username; UserLimit limit = redisUtil.getKey(redisKey, UserLimit.class); - if (null != limit && limit.getTimes() >= 5) { + if (ObjectUtil.isNotNull(limit) && limit.getTimes() >= 5) { Date now = new Date(); long interval = limit.getExpireTime().getTime() - now.getTime(); if (interval > 0) { diff --git a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/UserServiceImpl.java b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/UserServiceImpl.java index 3ad608941..81c7ea6ae 100644 --- a/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/UserServiceImpl.java +++ b/dc3-center/dc3-center-auth/src/main/java/io/github/pnoker/center/auth/service/impl/UserServiceImpl.java @@ -100,7 +100,7 @@ public class UserServiceImpl implements UserService { public User update(User user) { User byId = selectById(user.getId()); // 判断 phone 是否修改 - if (StrUtil.isNotBlank(user.getPhone())) { + if (StrUtil.isNotEmpty(user.getPhone())) { if (null == byId.getPhone() || !byId.getPhone().equals(user.getPhone())) { if (null != selectByPhone(user.getPhone(), false)) { throw new DuplicateException("The user already exists with phone {}", user.getPhone()); @@ -111,7 +111,7 @@ public class UserServiceImpl implements UserService { } // 判断 email 是否修改 - if (StrUtil.isNotBlank(user.getEmail())) { + if (StrUtil.isNotEmpty(user.getEmail())) { if (null == byId.getEmail() || !byId.getEmail().equals(user.getEmail())) { if (null != selectByEmail(user.getEmail(), false)) { throw new DuplicateException("The user already exists with email {}", user.getEmail()); @@ -176,7 +176,7 @@ public class UserServiceImpl implements UserService { @Override public Page list(UserDto userDto) { - if (!Optional.ofNullable(userDto.getPage()).isPresent()) { + if (ObjectUtil.isNull(userDto.getPage())) { userDto.setPage(new Pages()); } return userMapper.selectPage(userDto.getPage().convert(), fuzzyQuery(userDto)); @@ -185,17 +185,17 @@ public class UserServiceImpl implements UserService { @Override public boolean checkUserValid(String name) { User user = selectByName(name, false); - if (null != user) { + if (ObjectUtil.isNotNull(user)) { return user.getEnable(); } user = selectByPhone(name, false); - if (null != user) { + if (ObjectUtil.isNotNull(user)) { return user.getEnable(); } user = selectByEmail(name, false); - if (null != user) { + if (ObjectUtil.isNotNull(user)) { return user.getEnable(); } @@ -205,7 +205,7 @@ public class UserServiceImpl implements UserService { @Override public boolean restPassword(String id) { User user = selectById(id); - if (null != user) { + if (ObjectUtil.isNotNull(user)) { user.setPassword(Dc3Util.md5(CommonConstant.Algorithm.DEFAULT_PASSWORD)); return null != update(user); } @@ -215,10 +215,8 @@ public class UserServiceImpl implements UserService { @Override public LambdaQueryWrapper fuzzyQuery(UserDto userDto) { LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); - if (null != userDto) { - if (StrUtil.isNotBlank(userDto.getName())) { - queryWrapper.like(User::getName, userDto.getName()); - } + if (ObjectUtil.isNotNull(userDto)) { + queryWrapper.like(StrUtil.isNotEmpty(userDto.getName()), User::getName, userDto.getName()); } return queryWrapper; } diff --git a/dc3-center/dc3-center-auth/src/main/resources/application-dev.yml b/dc3-center/dc3-center-auth/src/main/resources/application-dev.yml index b60d8079d..235c2c621 100644 --- a/dc3-center/dc3-center-auth/src/main/resources/application-dev.yml +++ b/dc3-center/dc3-center-auth/src/main/resources/application-dev.yml @@ -15,7 +15,7 @@ eureka: instance: # Custom node registration IP - ip-address: ${SERVICE_HOST:192.168.0.106} + ip-address: ${SERVICE_HOST:192.168.0.101} spring: datasource: diff --git a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/api/PointValueApi.java b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/api/PointValueApi.java index c617f9edc..ddcdf8e87 100644 --- a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/api/PointValueApi.java +++ b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/api/PointValueApi.java @@ -16,10 +16,10 @@ package io.github.pnoker.center.data.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.data.feign.PointValueClient; import io.github.pnoker.center.data.service.PointValueService; -import io.github.pnoker.common.bean.Pages; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.bean.point.PointValue; import io.github.pnoker.common.constant.ServiceConstant; @@ -29,8 +29,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.List; -import java.util.stream.Collectors; /** * @author pnoker @@ -44,25 +42,14 @@ public class PointValueApi implements PointValueClient { private PointValueService pointValueService; @Override - public R> latest(String deviceId, Boolean history) { + public R> latest(PointValueDto pointValueDto, String tenantId) { try { - List pointValues = pointValueService.realtime(deviceId); - if (null == pointValues) { - pointValues = pointValueService.latest(deviceId); + if (ObjectUtil.isEmpty(pointValueDto)) { + pointValueDto = new PointValueDto(); } - if (null != pointValues) { - // 返回最近100个非字符类型的历史值 - if (history) { - pointValues.forEach(pointValue -> { - PointValueDto pointValueDto = (new PointValueDto()).setDeviceId(deviceId).setPointId(pointValue.getPointId()).setPage((new Pages()).setSize(100)); - Page page = pointValueService.list(pointValueDto); - if (null != page) { - pointValue.setChildren(page.getRecords().stream() - .map(pointValueChild -> pointValueChild.setId(null).setDeviceId(null).setPointId(null)).collect(Collectors.toList())); - } - }); - } - return R.ok(pointValues); + Page page = pointValueService.latest(pointValueDto, tenantId); + if (ObjectUtil.isNotNull(page)) { + return R.ok(page); } } catch (Exception e) { return R.fail(e.getMessage()); @@ -71,35 +58,13 @@ public class PointValueApi implements PointValueClient { } @Override - public R latest(String deviceId, String pointId, Boolean history) { + public R> list(PointValueDto pointValueDto, String tenantId) { try { - PointValue pointValue = pointValueService.realtime(deviceId, pointId); - if (null == pointValue) { - pointValue = pointValueService.latest(deviceId, pointId); + if (ObjectUtil.isEmpty(pointValueDto)) { + pointValueDto = new PointValueDto(); } - if (null != pointValue) { - // 返回最近100个非字符类型的历史值 - if (history) { - PointValueDto pointValueDto = (new PointValueDto()).setDeviceId(deviceId).setPointId(pointId).setPage((new Pages()).setSize(100)); - Page page = pointValueService.list(pointValueDto); - if (null != page) { - pointValue.setChildren(page.getRecords().stream() - .map(pointValueChild -> pointValueChild.setId(null).setDeviceId(null).setPointId(null)).collect(Collectors.toList())); - } - } - return R.ok(pointValue); - } - } catch (Exception e) { - return R.fail(e.getMessage()); - } - return R.fail(); - } - - @Override - public R> list(PointValueDto pointValueDto) { - try { - Page page = pointValueService.list(pointValueDto); - if (null != page) { + Page page = pointValueService.list(pointValueDto, tenantId); + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/PointValueService.java b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/PointValueService.java index dc8ce99e4..2d6754644 100644 --- a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/PointValueService.java +++ b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/PointValueService.java @@ -42,38 +42,12 @@ public interface PointValueService { void savePointValues(List pointValues); /** - * 获取实时数据 + * 获取带分页、排序 * - * @param deviceId Device Id - * @return PointValue Array + * @param pointValueDto PointValueDto + * @return Page */ - List realtime(String deviceId); - - /** - * 获取实时数据 - * - * @param deviceId Device Id - * @param pointId Point Id - * @return PointValue - */ - PointValue realtime(String deviceId, String pointId); - - /** - * 获取一个设备最新的位号数据集合 - * - * @param deviceId Device Id - * @return PointValue Array - */ - List latest(String deviceId); - - /** - * 获取最新的一个位号数据 - * - * @param deviceId Device Id - * @param pointId Point Id - * @return PointValue - */ - PointValue latest(String deviceId, String pointId); + Page latest(PointValueDto pointValueDto,String tenantId); /** * 获取带分页、排序 @@ -81,6 +55,6 @@ public interface PointValueService { * @param pointValueDto PointValueDto * @return Page */ - Page list(PointValueDto pointValueDto); + Page list(PointValueDto pointValueDto,String tenantId); } diff --git a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/PointValueServiceImpl.java b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/PointValueServiceImpl.java index c9a4f17c9..d52961a5c 100644 --- a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/PointValueServiceImpl.java +++ b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/PointValueServiceImpl.java @@ -20,7 +20,6 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import io.github.pnoker.api.center.manager.feign.DeviceClient; import io.github.pnoker.api.center.manager.feign.PointClient; import io.github.pnoker.center.data.service.PointValueService; import io.github.pnoker.center.data.service.RepositoryHandleService; @@ -29,8 +28,9 @@ import io.github.pnoker.common.bean.R; import io.github.pnoker.common.bean.point.PointValue; import io.github.pnoker.common.constant.CacheConstant; import io.github.pnoker.common.constant.CommonConstant; +import io.github.pnoker.common.dto.PointDto; import io.github.pnoker.common.dto.PointValueDto; -import io.github.pnoker.common.model.Device; +import io.github.pnoker.common.model.Description; import io.github.pnoker.common.model.Point; import io.github.pnoker.common.utils.RedisUtil; import lombok.SneakyThrows; @@ -42,7 +42,10 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.*; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Objects; import java.util.concurrent.Future; import java.util.concurrent.ThreadPoolExecutor; import java.util.stream.Collectors; @@ -56,8 +59,6 @@ public class PointValueServiceImpl implements PointValueService { @Resource private PointClient pointClient; - @Resource - private DeviceClient deviceClient; @Resource private RepositoryHandleService repositoryHandleService; @@ -90,135 +91,107 @@ public class PointValueServiceImpl implements PointValueService { } @Override - public List realtime(String deviceId) { - R> listR = pointClient.selectByDeviceId(deviceId); - if (!listR.isOk()) { - String prefix = CacheConstant.Prefix.REAL_TIME_VALUE_KEY_PREFIX + deviceId + CommonConstant.Symbol.UNDERSCORE; - List keys = listR.getData().stream().map(point -> prefix + point.getId()).collect(Collectors.toList()); - if (keys.size() > 0) { - List pointValues = redisUtil.getKey(keys, PointValue.class); - pointValues = pointValues.stream().filter(Objects::nonNull).collect(Collectors.toList()); - if (pointValues.size() > 0) { - return pointValues; - } - } + public Page latest(PointValueDto pointValueDto, String tenantId) { + Page pointValuePage = new Page<>(); + if (ObjectUtil.isEmpty(pointValueDto.getPage())) pointValueDto.setPage(new Pages()); + pointValuePage.setCurrent(pointValueDto.getPage().getCurrent()).setSize(pointValueDto.getPage().getSize()); + + PointDto pointDto = (new PointDto()).setDeviceId(pointValueDto.getDeviceId()).setPage(pointValueDto.getPage()); + pointDto.setName(pointValueDto.getName()).setEnable(pointValueDto.getEnable()); + R> pageR = pointClient.list(pointDto, tenantId); + if (!pageR.isOk()) return pointValuePage; + + List points = pageR.getData().getRecords(); + List pointIds = points.stream().map(Description::getId).collect(Collectors.toList()); + List pointValues = realtime(pointValueDto.getDeviceId(), pointIds); + if (CollectionUtil.isEmpty(pointValues)) pointValues = latest(pointValueDto.getDeviceId(), pointIds); + pointValuePage.setCurrent(pageR.getData().getCurrent()).setSize(pageR.getData().getSize()).setTotal(pageR.getData().getTotal()).setRecords(pointValues); + + // 返回最近100个非字符类型的历史值 + if (pointValueDto.getHistory()) { + pointValues.parallelStream().forEach(pointValue -> pointValue.setChildren(historyPointValue(pointValueDto.getDeviceId(), pointValue.getPointId(), 50))); } - return null; + + return pointValuePage; } @Override + @SneakyThrows + public Page list(PointValueDto pointValueDto, String tenantId) { + long start = System.currentTimeMillis(); + Page pointValuePage = new Page<>(); + if (ObjectUtil.isEmpty(pointValueDto.getPage())) pointValueDto.setPage(new Pages()); + + Criteria criteria = new Criteria(); + Query query = new Query(criteria); + if (StrUtil.isNotEmpty(pointValueDto.getDeviceId())) criteria.and("deviceId").is(pointValueDto.getDeviceId()); + if (StrUtil.isNotEmpty(pointValueDto.getPointId())) criteria.and("pointId").is(pointValueDto.getPointId()); + + Pages pages = pointValueDto.getPage(); + if (pages.getStartTime() > 0 && pages.getEndTime() > 0 && pages.getStartTime() <= pages.getEndTime()) { + criteria.and("createTime").gte(new Date(pages.getStartTime())).lte(new Date(pages.getEndTime())); + } + + final String collection = StrUtil.isNotEmpty(pointValueDto.getDeviceId()) ? CommonConstant.Storage.POINT_VALUE_PREFIX + pointValueDto.getDeviceId() : CacheConstant.Entity.POINT + CacheConstant.Suffix.VALUE; + Future count = threadPoolExecutor.submit(() -> mongoTemplate.count(query, collection)); + + Future> pointValues = threadPoolExecutor.submit(() -> { + query.limit((int) pages.getSize()).skip(pages.getSize() * (pages.getCurrent() - 1)); + query.with(Sort.by(Sort.Direction.DESC, "createTime")); + return mongoTemplate.find(query, PointValue.class, collection); + }); + + pointValuePage.setCurrent(pages.getCurrent()).setSize(pages.getSize()).setTotal(count.get()).setRecords(pointValues.get()); + long end = System.currentTimeMillis(); + log.info("end:{}", end - start); + return pointValuePage; + } + + public List realtime(String deviceId, List pointIds) { + if (CollectionUtil.isEmpty(pointIds)) { + return Collections.emptyList(); + } + + String prefix = CacheConstant.Prefix.REAL_TIME_VALUE_KEY_PREFIX + deviceId + CommonConstant.Symbol.UNDERSCORE; + List keys = pointIds.stream().map(pointId -> prefix + pointId).collect(Collectors.toList()); + List pointValues = redisUtil.getKey(keys, PointValue.class); + return pointValues.stream().filter(Objects::nonNull).collect(Collectors.toList()); + } + + public List latest(String deviceId, List pointIds) { + if (CollectionUtil.isEmpty(pointIds)) { + return Collections.emptyList(); + } + + return pointIds.stream().map(pointId -> latestPointValue(deviceId, pointId)).filter(Objects::nonNull).collect(Collectors.toList()); + } + public PointValue realtime(String deviceId, String pointId) { String key = CacheConstant.Prefix.REAL_TIME_VALUE_KEY_PREFIX + deviceId + CommonConstant.Symbol.UNDERSCORE + pointId; return redisUtil.getKey(key, PointValue.class); } - @Override - public List latest(String deviceId) { - List pointValues = new ArrayList<>(); - - R deviceR = deviceClient.selectById(deviceId); - if (!deviceR.isOk()) { - return pointValues; - } - - R> pointsR = pointClient.selectByDeviceId(deviceId); - if (!pointsR.isOk()) { - return pointValues; - } - - pointsR.getData().forEach(point -> { - PointValue pointValue = latestPointValue(deviceId, point.getId()); - if (null != pointValue) { - pointValues.add(pointValue); - } - }); - return pointValues.stream().filter(Objects::nonNull).collect(Collectors.toList()); - } - - @Override public PointValue latest(String deviceId, String pointId) { - R deviceR = deviceClient.selectById(deviceId); - if (!deviceR.isOk()) { - return null; - } - - R pointR = pointClient.selectById(pointId); - if (!pointR.isOk()) { - return null; - } - - Point point = pointR.getData(); - return latestPointValue(deviceId, point.getId()); - } - - @Override - @SneakyThrows - public Page list(PointValueDto pointValueDto) { - Criteria criteria = new Criteria(); - pointValueDto = Optional.ofNullable(pointValueDto).orElse(new PointValueDto()); - - if (StrUtil.isNotBlank(pointValueDto.getDeviceId())) { - R deviceR = deviceClient.selectById(pointValueDto.getDeviceId()); - if (deviceR.isOk()) { - Device device = deviceR.getData(); - criteria.and("deviceId").is(pointValueDto.getDeviceId()); - if (!device.getMulti()) { - if (StrUtil.isNotBlank(pointValueDto.getPointId())) { - criteria.and("pointId").is(pointValueDto.getPointId()); - } - } else if (StrUtil.isNotBlank(pointValueDto.getPointId())) { - criteria.and("multi").is(true); - if (StrUtil.isNotBlank(pointValueDto.getPointId())) { - criteria.and("children").elemMatch((new Criteria()).and("pointId").is(pointValueDto.getPointId())); - } - } - } - } else if (StrUtil.isNotBlank(pointValueDto.getPointId())) { - R pointR = pointClient.selectById(pointValueDto.getPointId()); - if (pointR.isOk()) { - criteria.orOperator( - (new Criteria()).and("pointId").is(pointValueDto.getPointId()), - (new Criteria()).and("children").elemMatch((new Criteria()).and("pointId").is(pointValueDto.getPointId())) - ); - } - } - - Pages pages = Optional.ofNullable(pointValueDto.getPage()).orElse(new Pages()); - if (pages.getStartTime() > 0 && pages.getEndTime() > 0 && pages.getStartTime() <= pages.getEndTime()) { - criteria.and("originTime").gte(new Date(pages.getStartTime())).lte(new Date(pages.getEndTime())); - } - - final String collection = null != pointValueDto.getDeviceId() ? CommonConstant.Storage.POINT_VALUE_PREFIX + pointValueDto.getDeviceId() : "point_value"; - Future count = threadPoolExecutor.submit(() -> { - Query query = new Query(criteria); - return mongoTemplate.count(query, PointValue.class, collection); - }); - - Future> pointValues = threadPoolExecutor.submit(() -> { - Query query = new Query(criteria); - query.limit((int) pages.getSize()).skip(pages.getSize() * (pages.getCurrent() - 1)); - query.with(Sort.by(Sort.Direction.DESC, "originTime")); - return mongoTemplate.find(query, PointValue.class, collection); - }); - - Page pointValuePage = new Page<>(); - List values = pointValues.get().stream().filter(Objects::nonNull).collect(Collectors.toList()); - pointValuePage.setCurrent(pages.getCurrent()).setSize(pages.getSize()).setTotal(count.get()).setRecords(values); - - return pointValuePage; + return latestPointValue(deviceId, pointId); } private PointValue latestPointValue(String deviceId, String pointId) { - PointValue pointValue; - Criteria criteria = new Criteria(); - criteria.and("pointId").is(pointId); - Query query = new Query(criteria); - query.with(Sort.by(Sort.Direction.DESC, "originTime")); - pointValue = mongoTemplate.findOne(query, PointValue.class, CommonConstant.Storage.POINT_VALUE_PREFIX + deviceId); + criteria.and("pointId").is(pointId); + query.with(Sort.by(Sort.Direction.DESC, "createTime")); - return pointValue; + return mongoTemplate.findOne(query, PointValue.class, CommonConstant.Storage.POINT_VALUE_PREFIX + deviceId); } + private List historyPointValue(String deviceId, String pointId, int count) { + Criteria criteria = new Criteria(); + Query query = new Query(criteria); + criteria.and("deviceId").is(deviceId).and("pointId").is(pointId); + query.fields().include("value").exclude("id"); + query.limit(count).with(Sort.by(Sort.Direction.DESC, "createTime")); + + List pointValues = mongoTemplate.find(query, PointValue.class, CommonConstant.Storage.POINT_VALUE_PREFIX + deviceId); + return pointValues.stream().map(PointValue::getValue).collect(Collectors.toList()); + } } diff --git a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/repository/MongoServiceImpl.java b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/repository/MongoServiceImpl.java index f05741536..1daa810fe 100644 --- a/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/repository/MongoServiceImpl.java +++ b/dc3-center/dc3-center-data/src/main/java/io/github/pnoker/center/data/service/impl/repository/MongoServiceImpl.java @@ -90,8 +90,8 @@ public class MongoServiceImpl implements RepositoryService, InitializingBean { // ensure time index Index timeIndex = new Index(); timeIndex.background() - .on("originTime", Sort.Direction.DESC) - .named("IX_origin_time"); + .on("createTime", Sort.Direction.DESC) + .named("IX_create_time"); mongoTemplate.indexOps(collection).ensureIndex(timeIndex); } diff --git a/dc3-center/dc3-center-data/src/main/resources/application-dev.yml b/dc3-center/dc3-center-data/src/main/resources/application-dev.yml index 07c12accb..aa1687b10 100644 --- a/dc3-center/dc3-center-data/src/main/resources/application-dev.yml +++ b/dc3-center/dc3-center-data/src/main/resources/application-dev.yml @@ -29,7 +29,7 @@ data: eureka: instance: # Custom node registration IP - ip-address: ${SERVICE_HOST:192.168.0.106} + ip-address: ${SERVICE_HOST:192.168.0.101} spring: datasource: diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/AutoApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/AutoApi.java index 6ba2771e5..d7942e56c 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/AutoApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/AutoApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import io.github.pnoker.api.center.manager.feign.AutoClient; import io.github.pnoker.center.manager.service.AutoService; import io.github.pnoker.common.bean.R; @@ -44,7 +45,7 @@ public class AutoApi implements AutoClient { public R autoCreateDeviceAndPoint(PointDetail pointDetail, String tenantId) { try { PointDetail createDeviceAndPoint = autoService.autoCreateDeviceAndPoint(pointDetail.getDeviceName(), pointDetail.getPointName(), pointDetail.getDriverId(), tenantId); - if (null != createDeviceAndPoint) { + if (ObjectUtil.isNotNull(createDeviceAndPoint)) { return R.ok(createDeviceAndPoint); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DeviceApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DeviceApi.java index d6c4f5a86..6f04f1c47 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DeviceApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DeviceApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.DeviceClient; import io.github.pnoker.center.manager.service.DeviceService; @@ -56,7 +57,7 @@ public class DeviceApi implements DeviceClient { public R add(Device device, String tenantId) { try { Device add = deviceService.add(device.setTenantId(tenantId)); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { // 通知驱动新增设备 notifyService.notifyDriverDevice(CommonConstant.Driver.Device.ADD, add); return R.ok(add); @@ -86,7 +87,7 @@ public class DeviceApi implements DeviceClient { public R update(Device device, String tenantId) { try { Device update = deviceService.update(device.setTenantId(tenantId)); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { // 通知驱动更新设备 notifyService.notifyDriverDevice(CommonConstant.Driver.Device.UPDATE, update); return R.ok(update); @@ -101,7 +102,7 @@ public class DeviceApi implements DeviceClient { public R selectById(String id) { try { Device select = deviceService.selectById(id); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -124,9 +125,12 @@ public class DeviceApi implements DeviceClient { @Override public R> list(DeviceDto deviceDto, String tenantId) { try { + if (ObjectUtil.isEmpty(deviceDto)) { + deviceDto = new DeviceDto(); + } deviceDto.setTenantId(tenantId); Page page = deviceService.list(deviceDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DictionaryApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DictionaryApi.java index 75444bf86..692f1525b 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DictionaryApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DictionaryApi.java @@ -16,17 +16,19 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.DictionaryClient; import io.github.pnoker.center.manager.service.DictionaryService; import io.github.pnoker.common.bean.Dictionary; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.ServiceConstant; +import io.github.pnoker.common.dto.DictionaryDto; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.List; /** * @author pnoker @@ -40,11 +42,15 @@ public class DictionaryApi implements DictionaryClient { private DictionaryService dictionaryService; @Override - public R> driverDictionary(String tenantId) { + public R> driverDictionary(DictionaryDto dictionaryDto, String tenantId) { try { - List dictionaryList = dictionaryService.driverDictionary(tenantId); - if (null != dictionaryList) { - return R.ok(dictionaryList); + if (ObjectUtil.isEmpty(dictionaryDto)) { + dictionaryDto = new DictionaryDto(); + } + dictionaryDto.setTenantId(tenantId); + Page page = dictionaryService.driverDictionary(dictionaryDto); + if (ObjectUtil.isNotNull(page)) { + return R.ok(page); } } catch (Exception e) { return R.fail(e.getMessage()); @@ -53,11 +59,15 @@ public class DictionaryApi implements DictionaryClient { } @Override - public R> driverAttributeDictionary(String tenantId) { + public R> profileDictionary(DictionaryDto dictionaryDto, String tenantId) { try { - List dictionaryList = dictionaryService.driverAttributeDictionary(tenantId); - if (null != dictionaryList) { - return R.ok(dictionaryList); + if (ObjectUtil.isEmpty(dictionaryDto)) { + dictionaryDto = new DictionaryDto(); + } + dictionaryDto.setTenantId(tenantId); + Page page = dictionaryService.profileDictionary(dictionaryDto); + if (ObjectUtil.isNotNull(page)) { + return R.ok(page); } } catch (Exception e) { return R.fail(e.getMessage()); @@ -66,11 +76,15 @@ public class DictionaryApi implements DictionaryClient { } @Override - public R> pointAttributeDictionary(String tenantId) { + public R> deviceDictionary(DictionaryDto dictionaryDto, String tenantId) { try { - List dictionaryList = dictionaryService.pointAttributeDictionary(tenantId); - if (null != dictionaryList) { - return R.ok(dictionaryList); + if (ObjectUtil.isEmpty(dictionaryDto)) { + dictionaryDto = new DictionaryDto(); + } + dictionaryDto.setTenantId(tenantId); + Page page = dictionaryService.deviceDictionary(dictionaryDto); + if (ObjectUtil.isNotNull(page)) { + return R.ok(page); } } catch (Exception e) { return R.fail(e.getMessage()); @@ -79,37 +93,15 @@ public class DictionaryApi implements DictionaryClient { } @Override - public R> profileDictionary(String tenantId) { + public R> pointDictionary(DictionaryDto dictionaryDto, String tenantId) { try { - List dictionaryList = dictionaryService.profileDictionary(tenantId); - if (null != dictionaryList) { - return R.ok(dictionaryList); + if (ObjectUtil.isEmpty(dictionaryDto)) { + dictionaryDto = new DictionaryDto(); } - } catch (Exception e) { - return R.fail(e.getMessage()); - } - return R.fail(); - } - - @Override - public R> deviceDictionary(String tenantId) { - try { - List dictionaryList = dictionaryService.deviceDictionary(tenantId); - if (null != dictionaryList) { - return R.ok(dictionaryList); - } - } catch (Exception e) { - return R.fail(e.getMessage()); - } - return R.fail(); - } - - @Override - public R> pointDictionary(String parent, String tenantId) { - try { - List dictionaryList = dictionaryService.pointDictionary(parent, tenantId); - if (null != dictionaryList) { - return R.ok(dictionaryList); + dictionaryDto.setTenantId(tenantId); + Page page = dictionaryService.pointDictionary(dictionaryDto); + if (ObjectUtil.isNotNull(page)) { + return R.ok(page); } } catch (Exception e) { return R.fail(e.getMessage()); diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverApi.java index 00c5a31bb..eb2526efb 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverApi.java @@ -16,12 +16,14 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.DriverClient; import io.github.pnoker.center.manager.service.DriverService; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.ServiceConstant; import io.github.pnoker.common.dto.DriverDto; +import io.github.pnoker.common.dto.PointValueDto; import io.github.pnoker.common.model.Driver; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; @@ -43,6 +45,7 @@ import java.util.stream.Collectors; @RestController @RequestMapping(ServiceConstant.Manager.DRIVER_URL_PREFIX) public class DriverApi implements DriverClient { + @Resource private DriverService driverService; @@ -50,7 +53,7 @@ public class DriverApi implements DriverClient { public R add(Driver driver, String tenantId) { try { Driver add = driverService.add(driver.setTenantId(tenantId)); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { return R.ok(add); } } catch (Exception e) { @@ -72,7 +75,7 @@ public class DriverApi implements DriverClient { public R update(Driver driver, String tenantId) { try { Driver update = driverService.update(driver.setTenantId(tenantId)); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { return R.ok(update); } } catch (Exception e) { @@ -125,9 +128,12 @@ public class DriverApi implements DriverClient { @Override public R> list(DriverDto driverDto, String tenantId) { try { + if (ObjectUtil.isEmpty(driverDto)) { + driverDto = new DriverDto(); + } driverDto.setTenantId(tenantId); Page page = driverService.list(driverDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverAttributeApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverAttributeApi.java index cc2c262ee..f86388113 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverAttributeApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverAttributeApi.java @@ -16,12 +16,15 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.DriverAttributeClient; import io.github.pnoker.center.manager.service.DriverAttributeService; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.ServiceConstant; import io.github.pnoker.common.dto.DriverAttributeDto; +import io.github.pnoker.common.dto.DriverDto; import io.github.pnoker.common.exception.NotFoundException; import io.github.pnoker.common.model.DriverAttribute; import lombok.extern.slf4j.Slf4j; @@ -41,6 +44,7 @@ import java.util.List; @RestController @RequestMapping(ServiceConstant.Manager.DRIVER_ATTRIBUTE_URL_PREFIX) public class DriverAttributeApi implements DriverAttributeClient { + @Resource private DriverAttributeService driverAttributeService; @@ -48,7 +52,7 @@ public class DriverAttributeApi implements DriverAttributeClient { public R add(DriverAttribute driverAttribute) { try { DriverAttribute add = driverAttributeService.add(driverAttribute); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { return R.ok(add); } } catch (Exception e) { @@ -70,7 +74,7 @@ public class DriverAttributeApi implements DriverAttributeClient { public R update(DriverAttribute driverAttribute) { try { DriverAttribute update = driverAttributeService.update(driverAttribute); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { return R.ok(update); } } catch (Exception e) { @@ -83,7 +87,7 @@ public class DriverAttributeApi implements DriverAttributeClient { public R selectById(String id) { try { DriverAttribute select = driverAttributeService.selectById(id); - if (null != select) { + if (ObjectUtil.isNotNull(select)) { return R.ok(select); } } catch (Exception e) { @@ -96,7 +100,7 @@ public class DriverAttributeApi implements DriverAttributeClient { public R> selectByDriverId(String id) { try { List select = driverAttributeService.selectByDriverId(id); - if (null != select) { + if (CollectionUtil.isNotEmpty(select)) { return R.ok(select); } } catch (NotFoundException ne) { @@ -110,8 +114,11 @@ public class DriverAttributeApi implements DriverAttributeClient { @Override public R> list(DriverAttributeDto driverAttributeDto) { try { + if (ObjectUtil.isEmpty(driverAttributeDto)) { + driverAttributeDto = new DriverAttributeDto(); + } Page page = driverAttributeService.list(driverAttributeDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverInfoApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverInfoApi.java index f4afceb50..a84a8fb95 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverInfoApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/DriverInfoApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.DriverInfoClient; import io.github.pnoker.center.manager.service.DriverInfoService; @@ -23,6 +24,7 @@ import io.github.pnoker.center.manager.service.NotifyService; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.CommonConstant; import io.github.pnoker.common.constant.ServiceConstant; +import io.github.pnoker.common.dto.DriverAttributeDto; import io.github.pnoker.common.dto.DriverInfoDto; import io.github.pnoker.common.model.DriverInfo; import lombok.extern.slf4j.Slf4j; @@ -132,6 +134,9 @@ public class DriverInfoApi implements DriverInfoClient { @Override public R> list(DriverInfoDto driverInfoDto) { try { + if (ObjectUtil.isEmpty(driverInfoDto)) { + driverInfoDto = new DriverInfoDto(); + } Page page = driverInfoService.list(driverInfoDto); if (null != page) { return R.ok(page); diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/EventApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/EventApi.java index abcaaf9cf..54ef0de66 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/EventApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/EventApi.java @@ -16,6 +16,7 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.EventClient; import io.github.pnoker.center.manager.service.EventService; @@ -45,8 +46,11 @@ public class EventApi implements EventClient { @Override public R> driverEvent(DriverEventDto driverEventDto) { try { + if (ObjectUtil.isEmpty(driverEventDto)) { + driverEventDto = new DriverEventDto(); + } Page page = eventService.driverEvent(driverEventDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { @@ -58,8 +62,11 @@ public class EventApi implements EventClient { @Override public R> deviceEvent(DeviceEventDto deviceEventDto) { try { + if (ObjectUtil.isEmpty(deviceEventDto)) { + deviceEventDto = new DeviceEventDto(); + } Page page = eventService.deviceEvent(deviceEventDto); - if (null != page) { + if (ObjectUtil.isNotNull(page)) { return R.ok(page); } } catch (Exception e) { diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/GroupApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/GroupApi.java index 2dfe47b3b..3ad2c9de7 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/GroupApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/GroupApi.java @@ -16,11 +16,13 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.GroupClient; import io.github.pnoker.center.manager.service.GroupService; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.ServiceConstant; +import io.github.pnoker.common.dto.DriverInfoDto; import io.github.pnoker.common.dto.GroupDto; import io.github.pnoker.common.model.Group; import lombok.extern.slf4j.Slf4j; @@ -46,7 +48,7 @@ public class GroupApi implements GroupClient { public R add(Group group, String tenantId) { try { Group add = groupService.add(group.setTenantId(tenantId)); - if (null != add) { + if (ObjectUtil.isNotNull(add)) { return R.ok(add); } } catch (Exception e) { @@ -68,7 +70,7 @@ public class GroupApi implements GroupClient { public R update(Group group, String tenantId) { try { Group update = groupService.update(group.setTenantId(tenantId)); - if (null != update) { + if (ObjectUtil.isNotNull(update)) { return R.ok(update); } } catch (Exception e) { @@ -93,6 +95,9 @@ public class GroupApi implements GroupClient { @Override public R> list(GroupDto groupDto, String tenantId) { try { + if (ObjectUtil.isEmpty(groupDto)) { + groupDto = new GroupDto(); + } groupDto.setTenantId(tenantId); Page page = groupService.list(groupDto); if (null != page) { diff --git a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/LabelApi.java b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/LabelApi.java index 8f51d6992..3f2be65c0 100644 --- a/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/LabelApi.java +++ b/dc3-center/dc3-center-manager/src/main/java/io/github/pnoker/center/manager/api/LabelApi.java @@ -16,11 +16,13 @@ package io.github.pnoker.center.manager.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.github.pnoker.api.center.manager.feign.LabelClient; import io.github.pnoker.center.manager.service.LabelService; import io.github.pnoker.common.bean.R; import io.github.pnoker.common.constant.ServiceConstant; +import io.github.pnoker.common.dto.GroupDto; import io.github.pnoker.common.dto.LabelDto; import io.github.pnoker.common.model.Label; import lombok.extern.slf4j.Slf4j; @@ -46,7 +48,7 @@ public class LabelApi implements LabelClient { public R