From 915422a8d3008328704c1da871adb2be956723f2 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Sat, 25 May 2024 15:56:29 +0800 Subject: [PATCH] =?UTF-8?q?ai=E6=8E=A8=E9=80=81=E7=9B=B8=E5=BA=94=E7=9A=84?= =?UTF-8?q?=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncAiAnalyse.java | 30 +++++++++---------- .../com/zhgd/xmgl/call/HikvisionCall.java | 3 +- .../zhgd/xmgl/constant/CommonConstant.java | 8 ----- src/main/java/com/zhgd/xmgl/constant/Cts.java | 13 ++++++++ .../basicdata/mapper/SystemUserMapper.java | 14 +++------ .../basicdata/mapper/xml/SystemUserMapper.xml | 8 ++--- .../service/impl/CompanyServiceImpl.java | 7 +++-- .../service/impl/SystemUserServiceImpl.java | 10 ++++--- ...DangerousEngineeringRecordServiceImpl.java | 3 +- ...AnalyseHardWareAlarmRecordServiceImpl.java | 13 ++++---- ...ityQualityInspectionRecordServiceImpl.java | 6 +++- 11 files changed, 61 insertions(+), 54 deletions(-) delete mode 100644 src/main/java/com/zhgd/xmgl/constant/CommonConstant.java create mode 100644 src/main/java/com/zhgd/xmgl/constant/Cts.java diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java b/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java index 47eab7d03..8830148fa 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncAiAnalyse.java @@ -1,8 +1,8 @@ package com.zhgd.xmgl.async; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zhgd.mqtt.bean.PushPayload; import com.zhgd.mqtt.server.IMqttSender; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant; import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem; @@ -14,6 +14,7 @@ import com.zhgd.xmgl.modules.basicdata.service.impl.DictionaryItemServiceImpl; import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; import com.zhgd.xmgl.push.service.UniPushService; +import com.zhgd.xmgl.util.MapBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +23,6 @@ import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; -import java.util.Arrays; import java.util.List; /** @@ -53,28 +53,28 @@ public class AsyncAiAnalyse { @Value("${mqtt-scope}") private String scope; + /** + * @param record + */ @Async("taskExecutor") - public void sendAiAnalyse(AiAnalyseHardWareAlarmRecord aiAnalyseHardWareAlarmRecord) { + public void sendAiAnalyse(AiAnalyseHardWareAlarmRecord record, String type) { try { - String title = getTitleByAlarmType(aiAnalyseHardWareAlarmRecord.getAlarmType(), aiAnalyseHardWareAlarmRecord.getProjectSn()); + String title = getTitleByAlarmType(record.getAlarmType(), record.getProjectSn()); title = title == null ? "其他类型" : title; - String msg = title + ",位置" + aiAnalyseHardWareAlarmRecord.getLocation(); - List systemUserList = systemUserService.list(Wrappers.lambdaQuery().eq(SystemUser::getSn, aiAnalyseHardWareAlarmRecord.getProjectSn()) - .in(SystemUser::getAccountType, Arrays.asList(5, 6))); + String msg = title + ",位置" + record.getLocation(); + List systemUserList; + if (type.equals(Cts.PROJECT_LEVEL)) { + systemUserList = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, record.getProjectSn()).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); + } else { + systemUserList = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, record.getProjectSn()).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL_AND_CHILDREN).build()); + } title = "AI分析" + title; //向项目管理员和子账号推送通知 if (systemUserList.size() > 0) { for (SystemUser systemUser : systemUserList) { - PushPayload pushMessage = PushPayload.getPushPayloadBuider().setAccountId(systemUser.getUserId().toString()) - .setTitle(title) - .setContent(msg) - .setType("8") - .setItemType(aiAnalyseHardWareAlarmRecord.getAlarmType().toString()) - .bulid(); - String kdTopic = scope + systemUser.getUserId(); noticeService.addUserNotice(systemUser.getUserId(), msg, title, "8"); } - sendAppNotice(aiAnalyseHardWareAlarmRecord.getProjectSn(), title, msg, systemUserList, "/pages/potentialRisk/potentialRisk?id=" + aiAnalyseHardWareAlarmRecord.getId()); + sendAppNotice(record.getProjectSn(), title, msg, systemUserList, "/pages/potentialRisk/potentialRisk?id=" + record.getId()); } } catch (Exception e) { log.error("error:", e); diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 33fc1b195..6a8c9d4b0 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -18,6 +18,7 @@ import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.async.AsyncAiAnalyse; import com.zhgd.xmgl.base.*; import com.zhgd.xmgl.call.entity.ChargeDeletionParam; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl; import com.zhgd.xmgl.modules.car.entity.CarCamera; import com.zhgd.xmgl.modules.car.entity.CarInfo; @@ -378,7 +379,7 @@ public class HikvisionCall { aiAnalyseHardWareAlarmRecord.setImageUrl(saveToLocal(imageUrl)); aiAnalyseHardWareAlarmRecordMapper.insert(aiAnalyseHardWareAlarmRecord); //将数据通过MQTT转发到前台 - asyncAiAnalyse.sendAiAnalyse(aiAnalyseHardWareAlarmRecord); + asyncAiAnalyse.sendAiAnalyse(aiAnalyseHardWareAlarmRecord, Cts.PROJECT_LEVEL_AND_CHILDREN); } @Async("saveEventCallbackCarPassRecord") diff --git a/src/main/java/com/zhgd/xmgl/constant/CommonConstant.java b/src/main/java/com/zhgd/xmgl/constant/CommonConstant.java deleted file mode 100644 index 9df1dbd23..000000000 --- a/src/main/java/com/zhgd/xmgl/constant/CommonConstant.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.zhgd.xmgl.constant; - -public interface CommonConstant { - String ASC = "asc"; - String DESC = "desc"; - String ORDER = "order"; - String DEFAULT_PASSWORD = "a!12345678"; -} diff --git a/src/main/java/com/zhgd/xmgl/constant/Cts.java b/src/main/java/com/zhgd/xmgl/constant/Cts.java new file mode 100644 index 000000000..8fdb068ff --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/constant/Cts.java @@ -0,0 +1,13 @@ +package com.zhgd.xmgl.constant; + +public interface Cts { + String ASC = "asc"; + String DESC = "desc"; + String ORDER = "order"; + String DEFAULT_PASSWORD = "a!12345678"; + String QUERY_TYPE = "queryType"; + String DEFAULT = "default"; + String SN = "sn"; + String PROJECT_LEVEL_AND_CHILDREN = "projectLevelAndChildren"; + String PROJECT_LEVEL = "projectLevel"; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java index cf7dcb774..9111bde66 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java @@ -2,24 +2,17 @@ package com.zhgd.xmgl.modules.basicdata.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.wflow.bean.do_.DeptDo; import com.wflow.bean.do_.UserDeptDo; import com.wflow.bean.vo.OrgTreeVo; import com.zhgd.annotation.DataScope; -import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import org.springframework.security.core.parameters.P; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * @Description: 账号 @@ -30,9 +23,9 @@ import java.util.Set; @Mapper public interface SystemUserMapper extends BaseMapper { - List getSystemUserBySn(@Param("param") Map map); + List getSystemUsersBySn(@Param("param") Map map); - Page getSystemUserBySn(@Param("param") Map map, Page page); + Page getSystemUsersBySn(@Param("param") Map map, Page page); SystemUser findByUsername(@Param("account") String account); @@ -101,6 +94,7 @@ public interface SystemUserMapper extends BaseMapper { /** * 通过拼音搜索用户,全拼和拼音首字母模糊搜索 + * * @param py 拼音 * @return 搜索的用户列表 type为固定值user */ diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml index 48f0099de..f6aa599c2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml @@ -59,18 +59,18 @@ qrtu.quality_region_id = #{param.qualityRegionId} - SELECT a.*, jb.job_name from system_user a LEFT JOIN organization_job jb ON a.job_id = jb.id WHERE 1=1 + + and a.account_type = #{param.accountType} + and a.sn = #{param.sn} and a.account_type in (1, 2, 3, 4, 5, 7) - - and a.account_type = #{param.accountType} - and ((a.account_type = 5 and a.sn = #{param.sn}) or ( a.account_type = 10 and a.user_id in (select distinct t.user_id from 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 0688d1035..4299ab1f2 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 @@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; @@ -191,6 +192,8 @@ public class CompanyServiceImpl extends ServiceImpl impl return list; } + @Autowired + SystemUserServiceImpl systemUserService; @Override public Map getChildCompanyProjectList(Map map) { @@ -198,8 +201,8 @@ public class CompanyServiceImpl extends ServiceImpl impl map.put("companyType", "4"); List list = companyMapper.getChildCompanyList(map); List projectList = projectMapper.getProjectListBySn(map); - map.put("queryType", "default"); - List sysList1 = systemUserMapper.getSystemUserBySn(map); + map.put("queryType", Cts.DEFAULT); + List sysList1 = systemUserService.getSystemUsersBySn(map); List sysList2 = systemUserMapper.getChildComapnySystemUserList(map); List sysList3 = systemUserMapper.getChildComapnyProjectSystemUserList(map); List projectList2 = projectMapper.getChildProjectListBySn(map); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index 517789b1c..2d7b29531 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -68,6 +68,8 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import static com.zhgd.xmgl.constant.Cts.*; + /** * @Description: 账号 * @author: pds @@ -733,8 +735,8 @@ public class SystemUserServiceImpl extends ServiceImpl getSystemUsersBySn(Map map) { - MapUtil.putIfNotBlank(map, "queryType", "default"); - return systemUserMapper.getSystemUserBySn(map); + MapUtil.putIfNotBlank(map, QUERY_TYPE, DEFAULT); + return systemUserMapper.getSystemUsersBySn(map); } @Override @@ -1449,9 +1451,9 @@ public class SystemUserServiceImpl extends ServiceImpl getSystemUserBySnPage(Map map) { - MapUtil.putIfNotBlank(map, "queryType", "default"); + MapUtil.putIfNotBlank(map, QUERY_TYPE, DEFAULT); Page page = PageUtil.getPage(map); - return systemUserMapper.getSystemUserBySn(map, page); + return systemUserMapper.getSystemUsersBySn(map, page); } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java index df96bd8d2..d68cb3f54 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringRecordServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gexin.fastjson.JSON; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.entity.Notice; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; @@ -124,7 +125,7 @@ public class DangerousEngineeringRecordServiceImpl extends ServiceImpl systemUsers = systemUserMapper.getSystemUserBySn(new MapBuilder().put("sn", projectSn).put("type", "projectLevel").build()); + List systemUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, projectSn).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); for (SystemUser systemUser : systemUsers) { Notice notice = new Notice(); notice.setType("32"); diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java index fadae2a9c..02b3cbcad 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java @@ -18,6 +18,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.xmgl.async.AsyncAiAnalyse; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant; import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; @@ -184,7 +185,7 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl users = systemUserService.getSystemUsersBySn(new MapBuilder().put("type", "projectLevel").put("sn", record.getProjectSn()).build()); - for (SystemUser systemUser : users) { - noticeService.addUserNotice(systemUser.getUserId(), "有一条AI预警数据已处置推送", "AI预警通知", "8"); - } } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java index c9c40fc97..2168e0145 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java @@ -19,11 +19,13 @@ import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.call.SanjiangDataCall; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.enums.ParamEnum; import com.zhgd.xmgl.modules.basicdata.entity.Notice; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; +import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl; import com.zhgd.xmgl.modules.dangerous.entity.DangerousEngineeringRecord; import com.zhgd.xmgl.modules.dangerous.mapper.DangerousEngineeringRecordMapper; import com.zhgd.xmgl.modules.quality.entity.QualityRegion; @@ -100,6 +102,8 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv @Autowired WorkerInfoServiceImpl workerInfoService; @Autowired + SystemUserServiceImpl systemUserService; + @Autowired private QualityRegionMapper qualityRegionMapper; @Autowired private EnterpriseInfoMapper enterpriseInfoMapper; @@ -752,7 +756,7 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv @Override public void noticeBigScreen(String type, XzSecurityQualityInspectionRecord qualityInspectionRecord, String time, String format) { - List systemUsers = systemUserMapper.getSystemUserBySn(new MapBuilder().put("sn", qualityInspectionRecord.getProjectSn()).put("type", "projectLevel").build()); + List systemUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, qualityInspectionRecord.getProjectSn()).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); for (SystemUser systemUser : systemUsers) { Notice notice = new Notice(); notice.setType(type);