Ver Fonte

fix: 参数设置

jay há 2 anos atrás
pai
commit
0ed88be5d9

+ 4 - 0
iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysConfigData.java

@@ -1,5 +1,7 @@
 package cc.iotkit.data.system;
 
+import cc.iotkit.common.api.PageRequest;
+import cc.iotkit.common.api.Paging;
 import cc.iotkit.data.ICommonData;
 import cc.iotkit.model.system.SysConfig;
 
@@ -11,4 +13,6 @@ import cc.iotkit.model.system.SysConfig;
 public interface ISysConfigData extends ICommonData<SysConfig, Long> {
 
     SysConfig findByConfigKey(String configKey);
+
+    Paging<SysConfig> findAllByConditions(PageRequest<SysConfig> pageRequest);
 }

+ 1 - 1
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/model/TbSysConfig.java

@@ -34,7 +34,7 @@ public class TbSysConfig extends BaseEntity {
     @GeneratedValue(generator = "SnowflakeIdGenerator")
     @GenericGenerator(name = "SnowflakeIdGenerator", strategy = "cc.iotkit.data.config.id.SnowflakeIdGenerator")
     @ApiModelProperty(value = "参数主键")
-    private Long configId;
+    private Long id;
 
     /**
      * 租户编号

+ 27 - 2
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysConfigDataImpl.java

@@ -14,7 +14,9 @@ import cc.iotkit.data.system.ISysConfigData;
 import cc.iotkit.data.util.PageBuilder;
 import cc.iotkit.data.util.PredicateBuilder;
 import cc.iotkit.model.system.SysConfig;
+import com.querydsl.core.QueryResults;
 import com.querydsl.core.types.Predicate;
+import com.querydsl.jpa.impl.JPAQueryFactory;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.collections.IteratorUtils;
 import org.springframework.context.annotation.Primary;
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 
 import static cc.iotkit.data.model.QTbSysConfig.tbSysConfig;
 
@@ -36,6 +39,9 @@ public class SysConfigDataImpl implements ISysConfigData, IJPACommData<SysConfig
     private final SysConfigRepository baseRepository;
 
 
+    private final JPAQueryFactory jpaQueryFactory;
+
+
     @Override
     public JpaRepository getBaseRepository() {
         return baseRepository;
@@ -106,8 +112,27 @@ public class SysConfigDataImpl implements ISysConfigData, IJPACommData<SysConfig
 
     @Override
     public SysConfig findByConfigKey(String configKey) {
-        TbSysConfig tbSysConfig = baseRepository.findByConfigKey(configKey).orElseThrow(() ->
-                new BizException(ErrCode.DATA_NOT_EXIST));
+        TbSysConfig tbSysConfig = baseRepository.findByConfigKey(configKey).orElse(null);
+        if(Objects.isNull(tbSysConfig)){
+            return null;
+        }
         return MapstructUtils.convert(tbSysConfig, SysConfig.class);
     }
+
+    @Override
+    public Paging<SysConfig> findAllByConditions(PageRequest<SysConfig> pageRequest) {
+        SysConfig data = pageRequest.getData();
+        Predicate predicate = buildPredicate(data);
+        QueryResults<TbSysConfig> tbSysConfigQueryResults = jpaQueryFactory.select(tbSysConfig).from(tbSysConfig).where(predicate).limit(pageRequest.getPageSize()).offset(pageRequest.getOffset()).fetchResults();
+        return PageBuilder.queryResults2Page(tbSysConfigQueryResults, SysConfig.class);
+
+    }
+
+    private Predicate buildPredicate(SysConfig data) {
+        return PredicateBuilder.instance()
+                .and(StringUtils.isNotEmpty(data.getConfigKey()), () -> tbSysConfig.configKey.eq(data.getConfigKey()))
+                .and(StringUtils.isNotEmpty(data.getConfigName()), () -> tbSysConfig.configName.like(data.getConfigName()))
+                .and(StringUtils.isNotEmpty(data.getConfigType()), () -> tbSysConfig.configType.eq(data.getConfigType()))
+                .build();
+    }
 }

+ 7 - 0
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/util/PageBuilder.java

@@ -7,7 +7,9 @@ import cc.iotkit.common.utils.MapstructUtils;
 import cc.iotkit.data.model.TbSysConfig;
 import cc.iotkit.model.product.Product;
 import cc.iotkit.model.system.SysConfig;
+import cc.iotkit.model.system.SysNotice;
 import cn.hutool.core.collection.CollUtil;
+import com.querydsl.core.QueryResults;
 import com.querydsl.core.types.OrderSpecifier;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -77,4 +79,9 @@ public class PageBuilder {
   public static Pageable buildPageable(int page, int size) {
     return org.springframework.data.domain.PageRequest.of(page, size);
   }
+
+  public static <T> Paging<T> queryResults2Page(QueryResults queryResults, Class clz) {
+    return new Paging<>(queryResults.getTotal(), MapstructUtils.convert(queryResults.getResults(), clz));
+
+  }
 }

+ 2 - 2
iot-module/iot-system/src/main/java/cc/iotkit/system/controller/SysConfigController.java

@@ -60,7 +60,7 @@ public class SysConfigController extends BaseController {
 
   @ApiOperation("根据参数编号获取详细信息")
   @SaCheckPermission("system:config:query")
-  @PostMapping(value = "/getInfo")
+  @PostMapping(value = "/getDetail")
   public SysConfigVo getInfo(@RequestBody @Validated Request<Long> request) {
     return configService.selectConfigById(request.getData());
   }
@@ -106,7 +106,7 @@ public class SysConfigController extends BaseController {
   @ApiOperation("删除参数配置")
   @SaCheckPermission("system:config:remove")
   @Log(title = "参数管理", businessType = BusinessType.DELETE)
-  @PostMapping("/remove")
+  @PostMapping("/delete")
   public void remove(@RequestBody @Validated Request<List<Long>> request) {
     configService.deleteConfigByIds(request.getData());
   }

+ 1 - 1
iot-module/iot-system/src/main/java/cc/iotkit/system/dto/bo/SysNoticeBo.java

@@ -26,7 +26,7 @@ public class SysNoticeBo extends BaseDto {
      * 公告ID
      */
     @NotNull(message = "公告ID不能为空", groups = { EditGroup.class })
-    private Long noticeId;
+    private Long id;
 
     /**
      * 公告标题

+ 1 - 1
iot-module/iot-system/src/main/java/cc/iotkit/system/dto/vo/SysConfigVo.java

@@ -27,7 +27,7 @@ public class SysConfigVo implements Serializable {
      * 参数主键
      */
     @ExcelProperty(value = "参数主键")
-    private Long configId;
+    private Long id;
 
     /**
      * 参数名称

+ 1 - 1
iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysConfigServiceImpl.java

@@ -39,7 +39,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
 
     @Override
     public Paging<SysConfigVo> selectPageConfigList(PageRequest<SysConfigBo> query) {
-        return sysConfigData.findAll(query.to(SysConfig.class)).to(SysConfigVo.class);
+        return sysConfigData.findAllByConditions(query.to(SysConfig.class)).to(SysConfigVo.class);
     }
 
     /**