|
|
@@ -2,20 +2,24 @@ package cc.iotkit.data.service;
|
|
|
|
|
|
import cc.iotkit.common.api.PageRequest;
|
|
|
import cc.iotkit.common.api.Paging;
|
|
|
+import cc.iotkit.common.utils.MapstructUtils;
|
|
|
import cc.iotkit.data.dao.ChannelConfigRepository;
|
|
|
import cc.iotkit.data.dao.IJPACommData;
|
|
|
import cc.iotkit.data.manager.IChannelConfigData;
|
|
|
-import cc.iotkit.data.model.ChannelConfigMapper;
|
|
|
import cc.iotkit.data.model.TbChannelConfig;
|
|
|
+import cc.iotkit.data.util.PageBuilder;
|
|
|
+import cc.iotkit.data.util.PredicateBuilder;
|
|
|
import cc.iotkit.model.notify.ChannelConfig;
|
|
|
+import com.querydsl.core.types.Predicate;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.context.annotation.Primary;
|
|
|
-import org.springframework.data.domain.Page;
|
|
|
-import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+import static cc.iotkit.data.model.QTbChannelConfig.tbChannelConfig;
|
|
|
|
|
|
/**
|
|
|
* author: 石恒
|
|
|
@@ -29,8 +33,7 @@ public class ChannelConfigDataImpl implements IChannelConfigData, IJPACommData<C
|
|
|
@Resource
|
|
|
private ChannelConfigRepository channelConfigRepository;
|
|
|
|
|
|
- @Resource
|
|
|
- private ChannelConfigMapper channelConfigMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public JpaRepository getBaseRepository() {
|
|
|
@@ -49,12 +52,38 @@ public class ChannelConfigDataImpl implements IChannelConfigData, IJPACommData<C
|
|
|
|
|
|
@Override
|
|
|
public Paging<ChannelConfig> findAll(PageRequest<ChannelConfig> pageRequest) {
|
|
|
- Page<TbChannelConfig> tbChannelConfigs = channelConfigRepository.findAll(Pageable.ofSize(pageRequest.getPageSize()).withPage(pageRequest.getPageNum() - 1));
|
|
|
- return new Paging<>(
|
|
|
- tbChannelConfigs.getTotalElements(),
|
|
|
- tbChannelConfigs.getContent()
|
|
|
- .stream().map(channelConfigMapper::toDto)
|
|
|
- .collect(Collectors.toList())
|
|
|
- );
|
|
|
+// Page<TbChannelConfig> tbChannelConfigs = channelConfigRepository.findAll(Pageable.ofSize(pageRequest.getPageSize()).withPage(pageRequest.getPageNum() - 1));
|
|
|
+// return new Paging<>(
|
|
|
+// tbChannelConfigs.getTotalElements(),
|
|
|
+// tbChannelConfigs.getContent()
|
|
|
+//// .stream().map(channelConfigMapper::toDto)
|
|
|
+//// .collect(Collectors.toList())
|
|
|
+// ) .to(ChannelConfig.class);
|
|
|
+
|
|
|
+ return PageBuilder.toPaging(channelConfigRepository.findAll(buildQueryCondition(pageRequest.getData()), PageBuilder.toPageable(pageRequest))).to(ChannelConfig.class);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private Predicate buildQueryCondition(ChannelConfig data) {
|
|
|
+ PredicateBuilder predicateBuilder = PredicateBuilder.instance()
|
|
|
+ .and(StringUtils.isNotBlank(data.getTenantId()), () -> tbChannelConfig.tenantId.eq(data.getTenantId()))
|
|
|
+ .and(StringUtils.isNotBlank(data.getUid()),() -> tbChannelConfig.uid.eq(data.getUid()))
|
|
|
+ .and(StringUtils.isNotBlank(data.getTitle()),() -> tbChannelConfig.title.like("%"+data.getTitle()+"%"));
|
|
|
+ return predicateBuilder.build();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ChannelConfig saveChannelConfig(ChannelConfig data) {
|
|
|
+ if (Objects.isNull(data.getId())) {
|
|
|
+ data.setCreateAt(System.currentTimeMillis());
|
|
|
+ }
|
|
|
+ channelConfigRepository.save(from(data));
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static TbChannelConfig from(ChannelConfig channelConfig) {
|
|
|
+ TbChannelConfig convert = MapstructUtils.convert(channelConfig, TbChannelConfig.class);
|
|
|
+ return convert;
|
|
|
+ }
|
|
|
+
|
|
|
}
|