From 1db3d4ef06e208046a6565e45028101772c42837 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 29 Jul 2024 19:31:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=BF=E5=8C=85=E5=95=86=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=EF=BC=8C=E9=80=9A=E7=9F=A5=E5=8F=91=E7=BB=99=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E5=92=8C=E3=80=90=E5=AE=89=E5=85=A8=E7=8E=AF?= =?UTF-8?q?=E4=BF=9D=E7=9B=91=E5=AF=9F=E4=B8=AD=E5=BF=83=E3=80=91=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E8=A7=92=E8=89=B2=E7=9A=84=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmgl/modules/basicdata/entity/Notice.java | 5 ++++ .../basicdata/service/INoticeService.java | 11 ++++++++ .../service/impl/NoticeServiceImpl.java | 20 ++++++++++++++ ...SupplierQualificationApplyServiceImpl.java | 27 ++++++++++++++++++- 4 files changed, 62 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/Notice.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/Notice.java index 948b13a7d..c85a58fff 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/Notice.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/Notice.java @@ -28,6 +28,11 @@ public class Notice implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "消息通知") private java.lang.Long id; + /** + * 类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机," + * "14电表,15水表,16访客,17,防疫人员通知,18访客通知,19巡检点,20人员的资质证书即将到期,21人员的合同信息即将到期,22人员的保险信息即将到期," + * "23同步人员到海康isc,24同步车辆到海康isc,25同步组织到海康isc 30工作流审批通知,31大屏的安全和质量,32大屏的危大,33应急处置 + */ @ApiModelProperty(value = "类型,1考勤提醒,2人员报警,3车辆,4混凝土监测,5卸料平台,6配电箱,7扬尘,8视频,9标养室,10安全检查,11质量检查,12塔吊,13升降机," + "14电表,15水表,16访客,17,防疫人员通知,18访客通知,19巡检点,20人员的资质证书即将到期,21人员的合同信息即将到期,22人员的保险信息即将到期," + "23同步人员到海康isc,24同步车辆到海康isc,25同步组织到海康isc 30工作流审批通知,31大屏的安全和质量,32大屏的危大,33应急处置") diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/INoticeService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/INoticeService.java index a1b9416fe..369a4b53c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/INoticeService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/INoticeService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.basicdata.entity.Notice; +import java.util.List; import java.util.Map; /** @@ -57,6 +58,16 @@ public interface INoticeService extends IService { */ void addUserNotice(Long accountId, String title, String msg, String type); + /** + * 发通知,给多个人 + * + * @param accountIds 账号id + * @param title 标题 + * @param msg 消息内容 + * @param type 类型 + */ + void addUsersNotice(List accountIds, String title, String msg, String type); + /** * 添加消息通知并推送手机客户端 * diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java index 4e24de222..4f870e776 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java @@ -30,6 +30,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -105,6 +106,25 @@ public class NoticeServiceImpl extends ServiceImpl impleme noticeService.sendMqttMessage(notice); } + @Override + public void addUsersNotice(List accountIds, String title, String msg, String type) { + ArrayList notices = new ArrayList<>(); + for (Long accountId : accountIds) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Notice notice = new Notice(); + notice.setAccountId(accountId); + notice.setMsg(msg); + notice.setTitle(title); + notice.setSendTime(sdf.format(new Date())); + notice.setType(type); + notices.add(notice); + } + noticeService.saveBatch(notices); + for (Notice notice : notices) { + noticeService.sendMqttMessage(notice); + } + } + @Override public void addUserNotice(Long accountId, String title, String msg, String type) { addUserNotice(accountId, title, msg, type, null); diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzSupplierQualificationApplyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzSupplierQualificationApplyServiceImpl.java index 92d39f07f..31b1879a1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzSupplierQualificationApplyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzSupplierQualificationApplyServiceImpl.java @@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.xz.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -11,17 +12,21 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.redis.lock.redisson.DistributedLock; +import com.zhgd.xmgl.constant.Cts; +import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper; import com.zhgd.xmgl.modules.basicdata.mapper.XzSystemUserToCompanyProjectMapper; import com.zhgd.xmgl.modules.basicdata.service.impl.CompanyServiceImpl; +import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl; +import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl; import com.zhgd.xmgl.modules.project.mapper.ProjectEnterpriseMapper; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.EnterpriseQualification; +import com.zhgd.xmgl.modules.worker.entity.ProjectEnterpriseSupplierInfo; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseQualificationMapper; import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl; import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseQualificationServiceImpl; -import com.zhgd.xmgl.modules.worker.entity.ProjectEnterpriseSupplierInfo; import com.zhgd.xmgl.modules.worker.service.impl.ProjectEnterpriseSupplierInfoServiceImpl; import com.zhgd.xmgl.modules.xz.entity.XzSupplierQualificationApply; import com.zhgd.xmgl.modules.xz.entity.XzSupplierQualificationRecord; @@ -33,6 +38,7 @@ import com.zhgd.xmgl.modules.xz.mapper.XzSupplierRecordMapper; import com.zhgd.xmgl.modules.xz.service.IXzSupplierQualificationApplyService; import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.EmailUtils; +import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -41,9 +47,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 星纵-承包商-入场申请 @@ -57,6 +65,9 @@ public class XzSupplierQualificationApplyServiceImpl extends ServiceImpl queryPageList(HashMap paramMap) { @@ -188,6 +202,17 @@ public class XzSupplierQualificationApplyServiceImpl extends ServiceImpl systemUserList = systemUserService.getProjectChildernSystemUserList(new MapBuilder().put("projectSn", apply.getProjectSn()).put("isSafetyAndMonitoringRoleName", 1).put(Cts.IGNORE_DATA_SCOPE, Cts.IGNORE_DATA_SCOPE).build()); + if (CollUtil.isNotEmpty(systemUserList)) { + noticeService.addUsersNotice(systemUserList.stream().map(SystemUser::getUserId).collect(Collectors.toList()), title, msg, "1"); + } } @Override