소스 검색

优化规则执行日志分页接口,解决根据规则名称刷选无效的问题

james 5 일 전
부모
커밋
03d28fe251

+ 1 - 1
service-rule/service-rule-biz/src/main/java/com/usky/rule/controller/web/RuleEngineLogController.java

@@ -35,7 +35,7 @@ public class RuleEngineLogController {
             } catch (Exception ignored) {
             }
         }
-        return ApiResult.success(ruleEngineLogService.page(request));
+        return ApiResult.success(ruleEngineLogService.pageList(request));
     }
 
     @ApiOperation("规则执行日志详情")

+ 2 - 2
service-rule/service-rule-biz/src/main/java/com/usky/rule/mapper/RuleEngineLogMapper.java

@@ -1,15 +1,15 @@
 package com.usky.rule.mapper;
 
+import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.rule.domain.RuleEngineLog;
 import com.usky.rule.vo.RuleEngineLogPageRequest;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
-public interface RuleEngineLogMapper {
+public interface RuleEngineLogMapper  extends CrudMapper<RuleEngineLog> {
     int insert(RuleEngineLog row);
     int updateById(RuleEngineLog row);
     int deleteById(@Param("id") Long id);
     RuleEngineLog selectById(@Param("id") Long id);
-    List<RuleEngineLog> selectPage(RuleEngineLogPageRequest req);
 }

+ 3 - 2
service-rule/service-rule-biz/src/main/java/com/usky/rule/service/RuleEngineLogService.java

@@ -1,14 +1,15 @@
 package com.usky.rule.service;
 
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.mybatis.core.CrudService;
 import com.usky.rule.domain.RuleEngineLog;
 import com.usky.rule.vo.RuleEngineContent;
 import com.usky.rule.vo.RuleEngineLogPageRequest;
 
-public interface RuleEngineLogService {
+public interface RuleEngineLogService  extends CrudService<RuleEngineLog> {
     void add(RuleEngineLog log);
     void update(RuleEngineLog log);
     void remove(Long id);
     RuleEngineContent getById(Long id);
-    CommonPage<RuleEngineLog> page(RuleEngineLogPageRequest request);
+    CommonPage<RuleEngineLog> pageList(RuleEngineLogPageRequest request);
 }

+ 17 - 6
service-rule/service-rule-biz/src/main/java/com/usky/rule/service/impl/RuleEngineLogServiceImpl.java

@@ -1,10 +1,17 @@
 package com.usky.rule.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.rule.domain.RuleEngineLog;
 import com.usky.rule.mapper.RuleEngineLogMapper;
 import com.usky.rule.service.RuleEngineLogService;
@@ -21,7 +28,7 @@ import java.util.List;
 import java.util.Map;
 
 @Service
-public class RuleEngineLogServiceImpl implements RuleEngineLogService {
+public class RuleEngineLogServiceImpl extends AbstractCrudService<RuleEngineLogMapper, RuleEngineLog> implements RuleEngineLogService {
     private final RuleEngineLogMapper ruleEngineLogMapper;
 
     private final Map<String, RuleEngineLogSerialization<?>> serializationMap = new HashMap();
@@ -116,10 +123,14 @@ public class RuleEngineLogServiceImpl implements RuleEngineLogService {
     }
 
     @Override
-    public CommonPage<RuleEngineLog> page(RuleEngineLogPageRequest request) {
-        PageHelper.startPage(request.getPageNum(), request.getPageSize());
-        List<RuleEngineLog> list = ruleEngineLogMapper.selectPage(request);
-        PageInfo<RuleEngineLog> pageInfo = new PageInfo<>(list);
-        return new CommonPage<>(list, pageInfo.getTotal(), request.getPageSize(), request.getPageNum());
+    public CommonPage<RuleEngineLog> pageList(RuleEngineLogPageRequest request) {
+        IPage<RuleEngineLog> page = new Page<>(request.getPageNum(), request.getPageSize());
+        LambdaQueryWrapper<RuleEngineLog> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(StringUtils.isNotBlank(request.getRuleEngineName()), RuleEngineLog::getRuleEngineName, request.getRuleEngineName())
+                .between((StringUtils.isNotBlank(request.getTimeBegin()))&&(StringUtils.isNotBlank(request.getTimeEnd())), RuleEngineLog::getTime, request.getTimeBegin(), request.getTimeEnd())
+                .eq(RuleEngineLog::getTenantId, SecurityUtils.getTenantId())
+                .orderByDesc(RuleEngineLog::getId);
+        page = this.page(page, queryWrapper);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),request.getPageNum(),request.getPageSize());
     }
 }

+ 14 - 14
service-rule/service-rule-biz/src/main/java/com/usky/rule/util/RuleEngineUtil.java

@@ -1,13 +1,7 @@
 package com.usky.rule.util;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.usky.rule.domain.RuleEngineLog;
-import com.usky.rule.enums.ActionTypeEnum;
-import com.usky.rule.listeners.CommonListener;
-import com.usky.rule.service.BaseSpaceService;
-import com.usky.rule.service.RuleEngineLogService;
-import com.usky.rule.service.RuleEngineService;
-import com.usky.rule.vo.Result;
+//import com.fasterxml.jackson.core.type.TypeReference;
+//import com.usky.rule.vo.Result;
 //import com.leo.common.context.UserContext;
 //import com.usky.rule.util.DateTimeUtil;
 //import com.usky.rule.util.JsonUtil;
@@ -56,6 +50,12 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import com.usky.rule.domain.RuleEngineLog;
+import com.usky.rule.enums.ActionTypeEnum;
+import com.usky.rule.listeners.CommonListener;
+import com.usky.rule.service.BaseSpaceService;
+import com.usky.rule.service.RuleEngineLogService;
+import com.usky.rule.service.RuleEngineService;
 import com.usky.rule.vo.Result;
 import com.usky.rule.vo.action.AlarmEventAction;
 import com.usky.rule.vo.action.DeviceControlAction;
@@ -97,10 +97,10 @@ public class RuleEngineUtil {
     public void performMultipleDevicesControl(Long ruleEngineId, boolean isAuto, String triggerType, Long projectId, Long spaceId, List<RuleEngineAction> actionList, RuleEngineDetailLog ruleEngineDetail) {
         List<BaseLog> baseLogs = new ArrayList();
         ruleEngineDetail.setActions(baseLogs);
-//        LocalDateTime now = LocalDateTime.now();
-//        Set<String> deviceActionTypes = new HashSet(3);
-//        String ruleEngineName = this.ruleEngineService.getName(ruleEngineId);
-//
+        LocalDateTime now = LocalDateTime.now();
+        Set<String> deviceActionTypes = new HashSet(3);
+        String ruleEngineName = this.ruleEngineService.getName(ruleEngineId);
+
 //        for(RuleEngineAction ruleEngineAction : actionList) {
 //            if (ActionTypeEnum.DEVICE_CONTROL.getType().equals(ruleEngineAction.getType())) {
 //                DeviceControlAction deviceControlAction = (DeviceControlAction)ruleEngineAction;
@@ -142,9 +142,9 @@ public class RuleEngineUtil {
 //            ruleEngineLog.setTime(now);
 //            this.ruleEngineLogService.save(ruleEngineLog);
 //        }
-//
+
     }
-//
+
 //    @NotNull
 //    private static AlarmActionLog getAlarmActionLog(LocalDateTime now, AlarmEventAction ruleEngineAction) {
 //        AlarmActionLog alarmActionLog = new AlarmActionLog();

+ 3 - 2
service-rule/service-rule-biz/src/main/java/com/usky/rule/vo/RuleEngineLogPageRequest.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -21,9 +22,9 @@ public class RuleEngineLogPageRequest {
     @ApiModelProperty("执行动作 deviceControl/alarmEvent/workOrder")
     private String action;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date timeBegin;
+    private String timeBegin;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date timeEnd;
+    private String timeEnd;
     /** 租户号,用于多租户隔离 */
     private Integer tenantId;
 }

+ 0 - 14
service-rule/service-rule-biz/src/main/resources/mapper/RuleEngineLogMapper.xml

@@ -28,18 +28,4 @@
     </update>
     <delete id="deleteById">DELETE FROM rule_engine_log WHERE id=#{id}</delete>
     <select id="selectById" resultMap="Base">SELECT * FROM rule_engine_log WHERE id=#{id}</select>
-    <select id="selectPage" resultMap="Base">
-        SELECT * FROM rule_engine_log
-        <where>
-            <if test="tenantId != null">AND tenant_id = #{tenantId}</if>
-            <if test="projectId != null">AND project_id = #{projectId}</if>
-            <if test="ruleEngineId != null">AND rule_engine_id = #{ruleEngineId}</if>
-            <if test="ruleEngineName != null">AND rule_engine_name = #{ruleEngineName}</if>
-            <if test="triggerType != null and triggerType != ''">AND trigger_type = #{triggerType}</if>
-            <if test="action != null and action != ''">AND action = #{action}</if>
-            <if test="timeBegin != null">AND time &gt;= #{timeBegin}</if>
-            <if test="timeEnd != null">AND time &lt;= #{timeEnd}</if>
-        </where>
-        ORDER BY time DESC, id DESC
-    </select>
 </mapper>