添加AI告警批量处理功能并优化分页查询

main
zhangyue 2026-04-10 11:03:17 +08:00
parent b9f20a92a4
commit ab7b7e0aad
18 changed files with 190 additions and 91 deletions

View File

@ -9,6 +9,7 @@ import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.key.project.api.ai.AiAlarmServiceI; import com.zcloud.key.project.api.ai.AiAlarmServiceI;
import com.zcloud.key.project.dto.ai.AiAlarmAddCmd; import com.zcloud.key.project.dto.ai.AiAlarmAddCmd;
import com.zcloud.key.project.dto.ai.AiAlarmBatchDealCmd;
import com.zcloud.key.project.dto.ai.AiAlarmPageQry; import com.zcloud.key.project.dto.ai.AiAlarmPageQry;
import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd; import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd;
import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO; import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO;
@ -72,11 +73,18 @@ public class AiAlarmController {
return SingleResponse.buildSuccess(); return SingleResponse.buildSuccess();
} }
@ApiOperation("修改") @ApiOperation("单个处理")
@PutMapping("/edit") @PostMapping("/deal")
public SingleResponse edit(@Validated @RequestBody AiAlarmUpdateCmd aiAlarmUpdateCmd) { public SingleResponse deal(@Validated @RequestBody AiAlarmUpdateCmd aiAlarmUpdateCmd) {
aiAlarmService.edit(aiAlarmUpdateCmd); aiAlarmService.edit(aiAlarmUpdateCmd);
return SingleResponse.buildSuccess(); return SingleResponse.buildSuccess();
} }
@ApiOperation("批量处理")
@PostMapping("/batchDeal")
public SingleResponse batchDeal(@Validated @RequestBody AiAlarmBatchDealCmd aiAlarmBatchDealCmd) {
aiAlarmService.dealBatch(aiAlarmBatchDealCmd);
return SingleResponse.buildSuccess();
}
} }

View File

@ -1,14 +1,22 @@
package com.zcloud.key.project.command.ai; package com.zcloud.key.project.command.ai;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.zcloud.key.project.domain.gateway.ai.AiAlarmGateway; import com.zcloud.key.project.domain.gateway.ai.AiAlarmGateway;
import com.zcloud.key.project.domain.model.ai.AiAlarmE; import com.zcloud.key.project.domain.model.ai.AiAlarmE;
import com.zcloud.key.project.dto.ai.AiAlarmBatchDealCmd;
import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd; import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd;
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
import com.zcloud.key.project.persistence.repository.ai.AiAlarmRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/** /**
* web-app * web-app
@ -20,15 +28,30 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor @AllArgsConstructor
public class AiAlarmUpdateExe { public class AiAlarmUpdateExe {
private final AiAlarmGateway aiAlarmGateway; private final AiAlarmGateway aiAlarmGateway;
private final AiAlarmRepository aiAlarmRepository;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void execute(AiAlarmUpdateCmd aiAlarmUpdateCmd) { public void execute(AiAlarmUpdateCmd aiAlarmUpdateCmd) {
AiAlarmE aiAlarmE = new AiAlarmE(); AiAlarmE aiAlarmE = new AiAlarmE();
BeanUtils.copyProperties(aiAlarmUpdateCmd, aiAlarmE); BeanUtils.copyProperties(aiAlarmUpdateCmd, aiAlarmE);
aiAlarmE.setState(1);
boolean res = aiAlarmGateway.update(aiAlarmE); boolean res = aiAlarmGateway.update(aiAlarmE);
if (!res) { if (!res) {
throw new BizException("修改失败"); throw new BizException("修改失败");
} }
} }
@Transactional(rollbackFor = Exception.class)
public void dealBatch(AiAlarmBatchDealCmd aiAlarmBatchDealCmd) {
List<AiAlarmE> aiAlarmEList = new ArrayList<>();
for (Long id : aiAlarmBatchDealCmd.getIds()) {
AiAlarmE aiAlarmE = new AiAlarmE();
aiAlarmE.setId(id);
aiAlarmE.setState(1);
aiAlarmE.setHasHidden(0);
aiAlarmEList.add(aiAlarmE);
}
aiAlarmRepository.updateBatchById(BeanUtil.copyToList(aiAlarmEList, AiAlarmDO.class));
}
} }

View File

@ -10,6 +10,7 @@ import com.zcloud.key.project.domain.model.hidden.HiddenAcceptRecordE;
import com.zcloud.key.project.domain.model.inspection.SafetyEnvironmentalInspectionUserE; import com.zcloud.key.project.domain.model.inspection.SafetyEnvironmentalInspectionUserE;
import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordAcceptCmd; import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordAcceptCmd;
import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordUpdateCmd; import com.zcloud.key.project.dto.hidden.HiddenAcceptRecordUpdateCmd;
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO; import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO; import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
@ -67,7 +68,10 @@ public class HiddenAcceptRecordUpdateExe {
hiddenState = 4; hiddenState = 4;
} }
hiddenRepository.updateState(cmd.getHiddenId(), hiddenState); hiddenRepository.updateState(cmd.getHiddenId(), hiddenState);
HiddenDO hiddenDO = hiddenRepository.getInfoByHiddenId(cmd.getHiddenId());
// 如果隐患来源是安全环保检查,那么安全环保检查相关处理流程
if (hiddenDO != null && (hiddenDO.getSource() == 2 || hiddenDO.getSource() == 3)){
if (cmd.getState() == 1){ // 验收通过 if (cmd.getState() == 1){ // 验收通过
// 判断隐患是否全部验收完成, // 判断隐患是否全部验收完成,
List<Integer> stateList = new ArrayList<>(); List<Integer> stateList = new ArrayList<>();
@ -101,7 +105,7 @@ public class HiddenAcceptRecordUpdateExe {
inspectionUserDO.setSignatureTime(null); inspectionUserDO.setSignatureTime(null);
safetyEnvironmentalInspectionUserRepository.editUserInfo(inspectionUserDO); safetyEnvironmentalInspectionUserRepository.editUserInfo(inspectionUserDO);
} }
}
if (!res) { if (!res) {
throw new BizException("修改失败"); throw new BizException("修改失败");
} }

View File

@ -8,6 +8,7 @@ import com.zcloud.key.project.domain.gateway.inspection.SafetyEnvironmentalInspe
import com.zcloud.key.project.domain.model.hidden.HiddenRectificationRecordE; import com.zcloud.key.project.domain.model.hidden.HiddenRectificationRecordE;
import com.zcloud.key.project.domain.model.inspection.SafetyEnvironmentalInspectionUserE; import com.zcloud.key.project.domain.model.inspection.SafetyEnvironmentalInspectionUserE;
import com.zcloud.key.project.dto.hidden.HiddenRectificationRecordUpdateCmd; import com.zcloud.key.project.dto.hidden.HiddenRectificationRecordUpdateCmd;
import com.zcloud.key.project.persistence.dataobject.hidden.HiddenDO;
import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO; import com.zcloud.key.project.persistence.dataobject.inspection.SafetyEnvironmentalInspectionUserDO;
import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository; import com.zcloud.key.project.persistence.repository.hidden.HiddenRepository;
import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository; import com.zcloud.key.project.persistence.repository.inspection.SafetyEnvironmentalInspectionRepository;
@ -52,9 +53,11 @@ public class HiddenRectificationRecordUpdateExe {
SSOUser ssoUser = AuthContext.getCurrentUser(); SSOUser ssoUser = AuthContext.getCurrentUser();
BeanUtils.copyProperties(cmd, hiddenRectificationRecordE); BeanUtils.copyProperties(cmd, hiddenRectificationRecordE);
hiddenRectificationRecordE.init(ssoUser); hiddenRectificationRecordE.init(ssoUser);
HiddenDO hiddenDO = hiddenRepository.getInfoByHiddenId(cmd.getHiddenId());
boolean res = hiddenRectificationRecordGateway.add(hiddenRectificationRecordE); boolean res = hiddenRectificationRecordGateway.add(hiddenRectificationRecordE);
hiddenRepository.updateState(cmd.getHiddenId(), 2); hiddenRepository.updateState(cmd.getHiddenId(), 2);
// 增加安全环保检查隐患验收操作记录 // 增加安全环保检查隐患验收操作记录
if (hiddenDO != null && (hiddenDO.getSource() == 2 || hiddenDO.getSource() == 3)){
Long acceptCount = safetyEnvironmentalInspectionUserRepository.countByInspectionId(cmd.getForeignKey(), null, 8); Long acceptCount = safetyEnvironmentalInspectionUserRepository.countByInspectionId(cmd.getForeignKey(), null, 8);
if (acceptCount == 0){ if (acceptCount == 0){
SafetyEnvironmentalInspectionUserE inspectionUserAcceptE = new SafetyEnvironmentalInspectionUserE(); SafetyEnvironmentalInspectionUserE inspectionUserAcceptE = new SafetyEnvironmentalInspectionUserE();
@ -76,6 +79,8 @@ public class HiddenRectificationRecordUpdateExe {
inspectionUserDO.setSignatureTime(LocalDateTime.now()); inspectionUserDO.setSignatureTime(LocalDateTime.now());
safetyEnvironmentalInspectionUserRepository.editUserInfo(inspectionUserDO); safetyEnvironmentalInspectionUserRepository.editUserInfo(inspectionUserDO);
} }
}
if (!res) { if (!res) {
throw new BizException("修改失败"); throw new BizException("修改失败");
} }

View File

@ -8,6 +8,7 @@ import com.zcloud.key.project.command.ai.AiAlarmRemoveExe;
import com.zcloud.key.project.command.ai.AiAlarmUpdateExe; import com.zcloud.key.project.command.ai.AiAlarmUpdateExe;
import com.zcloud.key.project.command.query.ai.AiAlarmQueryExe; import com.zcloud.key.project.command.query.ai.AiAlarmQueryExe;
import com.zcloud.key.project.dto.ai.AiAlarmAddCmd; import com.zcloud.key.project.dto.ai.AiAlarmAddCmd;
import com.zcloud.key.project.dto.ai.AiAlarmBatchDealCmd;
import com.zcloud.key.project.dto.ai.AiAlarmPageQry; import com.zcloud.key.project.dto.ai.AiAlarmPageQry;
import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd; import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd;
import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO; import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO;
@ -60,5 +61,10 @@ public class AiAlarmServiceImpl implements AiAlarmServiceI {
public void removeBatch(Long[] ids) { public void removeBatch(Long[] ids) {
aiAlarmRemoveExe.execute(ids); aiAlarmRemoveExe.execute(ids);
} }
@Override
public void dealBatch(AiAlarmBatchDealCmd cmd) {
aiAlarmUpdateExe.dealBatch(cmd);
}
} }

View File

@ -3,6 +3,7 @@ package com.zcloud.key.project.api.ai;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.key.project.dto.ai.AiAlarmAddCmd; import com.zcloud.key.project.dto.ai.AiAlarmAddCmd;
import com.zcloud.key.project.dto.ai.AiAlarmBatchDealCmd;
import com.zcloud.key.project.dto.ai.AiAlarmPageQry; import com.zcloud.key.project.dto.ai.AiAlarmPageQry;
import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd; import com.zcloud.key.project.dto.ai.AiAlarmUpdateCmd;
import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO; import com.zcloud.key.project.dto.clientobject.ai.AiAlarmCO;
@ -25,5 +26,7 @@ public interface AiAlarmServiceI {
void remove(Long id); void remove(Long id);
void removeBatch(Long[] ids); void removeBatch(Long[] ids);
void dealBatch(AiAlarmBatchDealCmd cmd);
} }

View File

@ -0,0 +1,30 @@
package com.zcloud.key.project.dto.ai;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* web-client
*
* @Author zhangyue
* @Date 2026-04-08 10:09:34
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AiAlarmBatchDealCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private List<Long> ids;
}

View File

@ -24,5 +24,8 @@ public class AiAlarmPageQry extends PageQuery {
* - `ne`: SQL!= * - `ne`: SQL!=
*/ */
private String likeAiAlarmId; private String likeAiAlarmId;
private String videoName;
private String keyProjectName;
private Integer state;
} }

View File

@ -26,40 +26,10 @@ public class AiAlarmUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true) @ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空") @NotNull(message = "主键不能为空")
private Long id; private Long id;
@ApiModelProperty(value = "业务主键id", name = "aiAlarmId", required = true)
@NotEmpty(message = "业务主键id不能为空")
private String aiAlarmId;
@ApiModelProperty(value = "重点作业id", name = "keyProjectId", required = true)
@NotEmpty(message = "重点作业id不能为空")
private String keyProjectId;
@ApiModelProperty(value = "视频id", name = "videoId", required = true)
@NotEmpty(message = "视频id不能为空")
private String videoId;
@ApiModelProperty(value = "视频名称", name = "videoName", required = true)
@NotEmpty(message = "视频名称不能为空")
private String videoName;
@ApiModelProperty(value = "报警类型", name = "type", required = true)
@NotEmpty(message = "报警类型不能为空")
private String type;
@ApiModelProperty(value = "报警类型名称", name = "typeName", required = true)
@NotEmpty(message = "报警类型名称不能为空")
private String typeName;
@ApiModelProperty(value = "报警时间", name = "alarmTime", required = true)
@NotNull(message = "报警时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime alarmTime;
@ApiModelProperty(value = "处置状态 0-待处理 1-已处理", name = "state", required = true) @ApiModelProperty(value = "是否存在隐患 0-否 1-是", name = "hasHidden", required = true)
@NotNull(message = "处置状态 0-待处理 1-已处理不能为空") @NotNull(message = "是否存在隐患 0-否 1-是")
private Integer state; private Integer hasHidden;
@ApiModelProperty(value = "所属企业", name = "corpinfoId", required = true)
@NotNull(message = "所属企业不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "所属部门", name = "departmentId", required = true)
@NotNull(message = "所属部门不能为空")
private Long departmentId;
@ApiModelProperty(value = "处置人", name = "disposeUserId", required = true)
@NotNull(message = "处置人不能为空")
private Long disposeUserId;
} }

View File

@ -1,6 +1,7 @@
package com.zcloud.key.project.dto.clientobject.ai; package com.zcloud.key.project.dto.clientobject.ai;
import com.alibaba.cola.dto.ClientObject; import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -26,6 +27,11 @@ public class AiAlarmCO extends ClientObject {
//重点作业id //重点作业id
@ApiModelProperty(value = "重点作业id") @ApiModelProperty(value = "重点作业id")
private String keyProjectId; private String keyProjectId;
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "是否存在隐患 0-否 1-是")
private Integer hasHidden;
//视频id //视频id
@ApiModelProperty(value = "视频id") @ApiModelProperty(value = "视频id")
private String videoId; private String videoId;

View File

@ -1,8 +1,10 @@
package com.zcloud.key.project.domain.model.ai; package com.zcloud.key.project.domain.model.ai;
import com.jjb.saas.framework.domain.model.BaseE; import com.jjb.saas.framework.domain.model.BaseE;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -29,6 +31,7 @@ public class AiAlarmE extends BaseE {
private LocalDateTime alarmTime; private LocalDateTime alarmTime;
//处置状态 0-待处理 1-已处理 //处置状态 0-待处理 1-已处理
private Integer state; private Integer state;
private Integer hasHidden;
//所属企业 //所属企业
private Long corpinfoId; private Long corpinfoId;
//所属部门 //所属部门

View File

@ -1,5 +1,6 @@
package com.zcloud.key.project.persistence.dataobject.ai; package com.zcloud.key.project.persistence.dataobject.ai;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO; import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -7,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -26,6 +28,12 @@ public class AiAlarmDO extends BaseDO {
//重点作业id //重点作业id
@ApiModelProperty(value = "重点作业id") @ApiModelProperty(value = "重点作业id")
private String keyProjectId; private String keyProjectId;
@ApiModelProperty(value = "项目名称")
@TableField(exist = false)
private String projectName;
@ApiModelProperty(value = "是否存在隐患 0-否 1-是")
private Integer hasHidden;
//视频id //视频id
@ApiModelProperty(value = "视频id") @ApiModelProperty(value = "视频id")
private String videoId; private String videoId;

View File

@ -23,5 +23,7 @@ public interface HiddenMapper extends BaseMapper<HiddenDO> {
HiddenDO getInfoById(Long id); HiddenDO getInfoById(Long id);
List<HiddenDO> listAllByForeignId(@Param("params") Map<String, Object> params); List<HiddenDO> listAllByForeignId(@Param("params") Map<String, Object> params);
} }

View File

@ -1,9 +1,12 @@
package com.zcloud.key.project.persistence.mapper.ai; package com.zcloud.key.project.persistence.mapper.ai;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO; import com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/** /**
* web-infrastructure * web-infrastructure
* *
@ -12,6 +15,6 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface AiAlarmMapper extends BaseMapper<AiAlarmDO> { public interface AiAlarmMapper extends BaseMapper<AiAlarmDO> {
IPage<AiAlarmDO> selectListPage(IPage<AiAlarmDO> iPage, Map<String, Object> params, String menuPerms);
} }

View File

@ -29,5 +29,7 @@ public interface HiddenRepository extends BaseRepository<HiddenDO> {
Long countByForeignKey(String foreignKey, List<Integer> state); Long countByForeignKey(String foreignKey, List<Integer> state);
HiddenDO getInfoById(Long id); HiddenDO getInfoById(Long id);
HiddenDO getInfoByHiddenId(String hiddenId);
} }

View File

@ -29,10 +29,7 @@ public class AiAlarmRepositoryImpl extends BaseRepositoryImpl<AiAlarmMapper, AiA
@Override @Override
public PageResponse<AiAlarmDO> listPage(Map<String, Object> params) { public PageResponse<AiAlarmDO> listPage(Map<String, Object> params) {
IPage<AiAlarmDO> iPage = new Query<AiAlarmDO>().getPage(params); IPage<AiAlarmDO> iPage = new Query<AiAlarmDO>().getPage(params);
QueryWrapper<AiAlarmDO> queryWrapper = new QueryWrapper<>(); IPage<AiAlarmDO> result = aiAlarmMapper.selectListPage(iPage, params, null);
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<AiAlarmDO> result = aiAlarmMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
} }

View File

@ -98,5 +98,12 @@ public class HiddenRepositoryImpl extends BaseRepositoryImpl<HiddenMapper, Hidde
public HiddenDO getInfoById(Long id) { public HiddenDO getInfoById(Long id) {
return hiddenMapper.getInfoById(id); return hiddenMapper.getInfoById(id);
} }
@Override
public HiddenDO getInfoByHiddenId(String hiddenId) {
QueryWrapper<HiddenDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hidden_id", hiddenId);
return hiddenMapper.selectOne(queryWrapper);
}
} }

View File

@ -3,6 +3,25 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.key.project.persistence.mapper.ai.AiAlarmMapper"> <mapper namespace="com.zcloud.key.project.persistence.mapper.ai.AiAlarmMapper">
<select id="selectListPage" resultType="com.zcloud.key.project.persistence.dataobject.ai.AiAlarmDO">
select
aa.*,
kp.project_name
from
ai_alarm aa
left join key_project kp on kp.key_project_id = aa.key_project_id
<where>
aa.delete_enum = 'FALSE'
<if test="params.videoName != null and params.videoName != ''">
and aa.video_name like concat('%',#{params.videoName},'%')
</if>
<if test="params.keyProjectName != null and params.keyProjectName != ''">
and kp.project_name like concat('%',#{params.keyProjectName},'%')
</if>
<if test="params.state != null">
and aa.state = #{params.state}
</if>
</where>
</select>
</mapper> </mapper>