From 1494821878ce4f7c0b79032869ec3a87f3821c78 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Sat, 20 Dec 2025 15:17:23 +0800 Subject: [PATCH] =?UTF-8?q?ai=E4=BC=81=E4=B8=9A=E4=B9=9F=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=8A=A5=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncAiAnalyse.java | 13 ++++++++++++ .../entity/bo/CompanySnsByProjectSn.java | 20 +++++++++++++++++++ .../basicdata/mapper/CompanyMapper.java | 3 ++- .../basicdata/mapper/xml/CompanyMapper.xml | 5 +++-- .../basicdata/service/ICompanyService.java | 3 +++ .../basicdata/service/ISystemUserService.java | 1 + .../service/impl/CompanyServiceImpl.java | 16 ++++++++++----- 7 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanySnsByProjectSn.java diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java b/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java index dbe3d8b8f..52ffb0501 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.async; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -16,11 +17,14 @@ import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.service.ICompanyConfigService; +import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.basicdata.service.impl.DictionaryItemServiceImpl; import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl; import com.zhgd.xmgl.modules.project.entity.EnableMessageDevRule; +import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.service.IEnableMessageDevRuleService; +import com.zhgd.xmgl.modules.project.service.IProjectService; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.modules.xz.entity.XzAiDeductRule; @@ -88,6 +92,9 @@ public class AsyncAiAnalyse { @Lazy @Autowired private IXzAiDeductRuleService xzAiDeductRuleService; + @Lazy + @Autowired + IProjectService projectService; /** * @param record @@ -113,6 +120,12 @@ public class AsyncAiAnalyse { } // sendAppNotice(record.getProjectSn(), title, msg, systemUserList, "/pages/potentialRisk/potentialRisk?id=" + record.getId()); } + List companyUserIds = systemUserService.getCompanyUserIdsByProjectSn(record.getProjectSn()); + Project project = projectService.getOne(new LambdaQueryWrapper() + .eq(Project::getProjectSn, record.getProjectSn())); + if (CollUtil.isNotEmpty(companyUserIds)) { + noticeService.addUsersNotice(companyUserIds, title, project.getProjectName() + "," + msg, "8"); + } sendMessage(typeName, record.getLocation(), record.getProjectSn(), record.getHardwareId(), record.getAlarmType()); } catch (Exception e) { log.error("error:", e); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanySnsByProjectSn.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanySnsByProjectSn.java new file mode 100644 index 000000000..cd0d39c7e --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanySnsByProjectSn.java @@ -0,0 +1,20 @@ +package com.zhgd.xmgl.modules.basicdata.entity.bo; + +import lombok.Data; + +@Data +public class CompanySnsByProjectSn { + + private String projectName; + + private String projectSn; + + private String companySn4; + + private String companySn3; + + private String companySn2; + + private String companySn1; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java index 898038ce4..133325d54 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.wflow.bean.vo.OrgTreeVo; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.entity.Company; +import com.zhgd.xmgl.modules.basicdata.entity.bo.CompanySnsByProjectSn; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -125,7 +126,7 @@ public interface CompanyMapper extends BaseMapper { * @param projectSn * @return */ - EntityMap getCompanyInfosByProjectSn(String projectSn); + CompanySnsByProjectSn getCompanyInfosByProjectSn(String projectSn); /** * 根据用户id查询企业 diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml index cb79daa69..12105b185 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml @@ -232,12 +232,13 @@ - SELECT a.project_name project_name, a.project_sn project_sn, cp.company_sn company_sn4, b.company_sn company_sn3, - f.company_sn company_sn2 + f.company_sn company_sn2, + f.headquarters_sn company_sn1 FROM project a INNER JOIN company cp ON a.company_sn = cp.company_sn INNER JOIN company b ON cp.parent_id = b.company_id diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java index 0369a74e6..28b766083 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.entity.Company; +import com.zhgd.xmgl.modules.basicdata.entity.bo.CompanySnsByProjectSn; import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo; import java.util.HashMap; @@ -215,4 +216,6 @@ public interface ICompanyService extends IService { boolean hasProjectSnAccessBy4(Long userId, String sn); List getProjectSnsBySn(String sn, Integer accountType); + + CompanySnsByProjectSn getCompanyInfosByProjectSn(String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java index 35531ac80..a86d7afb5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.entity.sj.JwtPayloadUserInfo; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; +import com.zhgd.xmgl.modules.basicdata.entity.bo.CompanySnsByProjectSn; import com.zhgd.xmgl.modules.basicdata.entity.dto.LoginInfoByTokenDto; import java.util.HashMap; diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java index a5edcb917..625f5e6da 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java @@ -27,6 +27,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.XzSystemUserToCompanyProject; +import com.zhgd.xmgl.modules.basicdata.entity.bo.CompanySnsByProjectSn; import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo; import com.zhgd.xmgl.modules.basicdata.enums.CompanyTypeEnum; import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum; @@ -978,15 +979,15 @@ public class CompanyServiceImpl extends ServiceImpl impl if (CollUtil.isEmpty(clJa)) { return null; } - EntityMap snMap = companyMapper.getCompanyInfosByProjectSn(project.getProjectSn()); + CompanySnsByProjectSn snMap = companyMapper.getCompanyInfosByProjectSn(project.getProjectSn()); if (snMap == null) { return null; } Map existSnMap = new HashMap<>(16); - existSnMap.put(snMap.get("companySn2"), 0); - existSnMap.put(snMap.get("companySn3"), 0); - existSnMap.put(snMap.get("companySn4"), 0); - existSnMap.put(snMap.get("projectSn"), 0); + existSnMap.put(snMap.getCompanySn2(), 0); + existSnMap.put(snMap.getCompanySn3(), 0); + existSnMap.put(snMap.getCompanySn4(), 0); + existSnMap.put(snMap.getProjectSn(), 0); for (int i = 0; i < clJa.size(); i++) { JSONObject clJo = clJa.getJSONObject(i); recursionFilterData(existSnMap, clJo, rtJa); @@ -1083,6 +1084,11 @@ public class CompanyServiceImpl extends ServiceImpl impl return baseMapper.getProjectSnsBySn(sn, accountType); } + @Override + public CompanySnsByProjectSn getCompanyInfosByProjectSn(String projectSn) { + return baseMapper.getCompanyInfosByProjectSn(projectSn); + } + private void recursionFilterData(Map existSnMap, JSONObject clJo, JSONArray rtJa) { String sn = getSn(clJo); if (!existSnMap.containsKey(sn)) {